1. 13 Dec, 2024 8 commits
    • Xavier Thompson's avatar
      cea3a8c8
    • Xavier Thompson's avatar
      [fix] Support local version label for zc.buildout · 7a417351
      Xavier Thompson authored
      When there is no pinned version for zc.buildout itself, buildout
      adds a ">=<current-version>" requirement to prevent accidental
      downgrading. If the current version has a local version label,
      this produced an invalid version specifier. To fix this, only
      the public part of the current version is used.
      7a417351
    • Xavier Thompson's avatar
      [test] Add tests for build dependencies · 5a9104b7
      Xavier Thompson authored
      5a9104b7
    • Xavier Thompson's avatar
      [feat] Prevent pip installing setup_requires · 383410c7
      Xavier Thompson authored
      Use a special .pydistutils.cfg in a temporary HOME directory for
      the duration of the pip wheel run to prevent build dependencies
      specified in a setup_requires from being installed on the fly
      without respecting pinned versions.
      383410c7
    • Xavier Thompson's avatar
      [feat] Prevent pip installing build dependencies · 9e28b214
      Xavier Thompson authored
      By default pip installs build dependencies (e.g. setuptools, poetry)
      in a temporary folder and temporarily adds it to sys.path in order
      to proceed to build the distribution. But we want all distributions
      to be installed with buildout and respect pinned versions, so we aim
      to prevent pip from installing build dependencies.
      
      Instead, we will install the build dependencies first and pass them
      explicitly to zc.recipe.egg via the setup-eggs option.
      
      This commit prevents pip from installing the build dependencies listed
      by the `build-system.requires` key in the pyproject.toml file.
      
      It may prevent pip from installing PEP 517 dynamic build dependencies
      or setuptools' setup_requires dependencies.
      See https://peps.python.org/pep-0517/#get-requires-for-build-wheel
      9e28b214
    • Rafael Monnerat's avatar
      [feat] Propagate sys.path as PYTHONPATH while develop · 24953f20
      Rafael Monnerat authored
      While invoke setup.py certain eggs (like scikit-learn) launch
      cetain custom builds (for cython) using subprocess and sys.executable.
      
      This commit aims to preserve the sys.path over the runs, even if an
      egg is using subprocess with the same python to build a component of
      the egg.
      24953f20
    • Kazuhiko Shiozaki's avatar
    • Kazuhiko Shiozaki's avatar
      [feat] zc.recipe.egg: Support on the fly patches. · 64f39eb1
      Kazuhiko Shiozaki authored
      - Support on the fly patches in zc.recipe.egg by ``EGGNAME-patches``,
        ``EGGNAME-patch-options``, ``EGGNAME-patch-binary`` (or
        ``patch-binary``) and ``EGGNAME-patch-revision`` options.
      
      - Support on the fly patches in zc.recipe.egg:custom by ``patches``,
        ``patch-options``, ``patch-binary`` and ``patch-revision`` options.
        (options ``EGGNAME-*`` are also supported as well).
      
      Specified patches are automatically applied on required eggs as well.
      
      This fixes cache of patches.
      
      Clean-up + fix issue found at slapos!1674
      64f39eb1
  2. 20 May, 2024 32 commits