Ticket #12994: trac12994.patch

File trac12994.patch, 3.5 KB (added by R. Andrew Ohana, 10 years ago)

apply only this patch to the root repo

  • spkg/standard/deps

    # HG changeset patch
    # User R. Andrew Ohana <andrew.ohana@gmail.com>
    # Date 1337866351 25200
    # Node ID 553702686bbccd853d077ef2f2bb0066c156dcf5
    # Parent  7c9c458c63e19095ab885191f3c3208b239ddeaf
    Handle setuptools installation serialization without tainting other packages dependencies
    
    diff --git a/spkg/standard/deps b/spkg/standard/deps
    a b  
    410410$(INST)/$(SAGE_ROOT_REPO): $(BASE) $(INST)/$(MERCURIAL)
    411411        +$(PIPE) "$(SAGE_SPKG) $(SAGE_ROOT_REPO) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGE_ROOT_REPO).log"
    412412
    413 # setuptools forgets to update easy-install.pth during parallel builds,
    414 # so we build the relevant packages serially.  In order to enforce
    415 # this, we artificially make every package in the list below depend on
    416 # the package under it.
    417 #
    418 # For reference and for when the setuptools problem is solved, here
    419 # are the actual dependencies:
    420 #
    421 # sagenb: python pexpect jinja2 sphinx docutils setuptools
    422 # sqlalchemy: python setuptools
    423 # sphinx: docutils jinja2 pygments
    424 # jinja2: python docutils setuptools
    425 # pygments: python setuptools
    426 # zodb: python setuptools
    427 
    428 $(INST)/$(SAGENB): $(BASE) $(INST)/$(SETUPTOOLS) $(INST)/$(SQLALCHEMY) \
    429                    $(INST)/$(PEXPECT) $(INST)/$(JINJA2) $(INST)/$(SPHINX) \
    430                    $(INST)/$(DOCUTILS) $(INST)/$(PATCH)
     413$(INST)/$(SAGENB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(PEXPECT) \
     414                   $(INST)/$(JINJA2) $(INST)/$(SPHINX) $(INST)/$(DOCUTILS)
    431415        +$(PIPE) "$(SAGE_SPKG) $(SAGENB) 2>&1" "tee -a $(SAGE_LOGS)/$(SAGENB).log"
    432416
    433 $(INST)/$(SQLALCHEMY): $(BASE) $(INST)/$(SETUPTOOLS) $(INST)/$(SPHINX) $(INST)/$(PATCH)
     417$(INST)/$(SQLALCHEMY): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(PATCH)
    434418        +$(PIPE) "$(SAGE_SPKG) $(SQLALCHEMY) 2>&1" "tee -a $(SAGE_LOGS)/$(SQLALCHEMY).log"
    435419
    436 $(INST)/$(SPHINX): $(BASE) $(INST)/$(DOCUTILS) $(INST)/$(JINJA2) \
    437                    $(INST)/$(PYGMENTS) $(INST)/$(PATCH)
     420$(INST)/$(SPHINX): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(DOCUTILS) \
     421                   $(INST)/$(JINJA2) $(INST)/$(PYGMENTS) $(INST)/$(PATCH)
    438422        +$(PIPE) "$(SAGE_SPKG) $(SPHINX) 2>&1" "tee -a $(SAGE_LOGS)/$(SPHINX).log"
    439423
    440 $(INST)/$(JINJA2): $(BASE) $(INST)/$(SETUPTOOLS) $(INST)/$(PYGMENTS) \
    441                    $(INST)/$(PATCH) $(INST)/$(DOCUTILS)
     424$(INST)/$(JINJA2): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(DOCUTILS) \
     425                   $(INST)/$(PATCH)
    442426        +$(PIPE) "$(SAGE_SPKG) $(JINJA2) 2>&1" "tee -a $(SAGE_LOGS)/$(JINJA2).log"
    443427
    444 $(INST)/$(PYGMENTS): $(BASE) $(INST)/$(SETUPTOOLS) $(INST)/$(ZODB) $(INST)/$(PATCH)
     428$(INST)/$(PYGMENTS): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(PATCH)
    445429        +$(PIPE) "$(SAGE_SPKG) $(PYGMENTS) 2>&1" "tee -a $(SAGE_LOGS)/$(PYGMENTS).log"
    446430
    447 $(INST)/$(ZODB): $(BASE) $(INST)/$(SETUPTOOLS) $(INST)/$(PATCH)
     431$(INST)/$(ZODB): $(BASE) $(INST)/$(PYTHON) $(INST)/$(SETUPTOOLS) $(INST)/$(PATCH)
    448432        +$(PIPE) "$(SAGE_SPKG) $(ZODB) 2>&1" "tee -a $(SAGE_LOGS)/$(ZODB).log"
    449433
    450434########################################################################
     
    545529        +$(PIPE) "$(SAGE_SPKG) $(CEPHES) 2>&1" "tee -a $(SAGE_LOGS)/$(CEPHES).log"
    546530
    547531###############################################################################
     532
     533# setuptools forgets to update easy-install.pth during parallel
     534# builds, so we build the relevant packages serially.
     535
     536$(INST)/$(SQLALCHEMY): $(INST)/$(ZODB)
     537$(INST)/$(PYGMENTS): $(INST)/$(SQLALCHEMY)
     538$(INST)/$(JINJA2): $(INST)/$(PYGMENTS)
     539$(INST)/$(SPHINX): $(INST)/$(JINJA2)
     540$(INST)/$(SAGENB): $(INST)/$(SPHINX)