1. 13 Nov, 2024 7 commits
    • Xavier Thompson's avatar
      [fix] Support local version label for zc.buildout · 31b82814
      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.
      31b82814
    • Xavier Thompson's avatar
      [test] Add tests for build dependencies · 7583d73a
      Xavier Thompson authored
      7583d73a
    • Xavier Thompson's avatar
      [feat] Prevent pip installing setup_requires · 920359bc
      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.
      920359bc
    • Xavier Thompson's avatar
      [feat] Prevent pip installing build dependencies · ea7886ca
      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
      ea7886ca
    • Rafael Monnerat's avatar
      [feat] Propagate sys.path as PYTHONPATH while develop · 5fb40747
      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.
      5fb40747
    • Kazuhiko Shiozaki's avatar
    • Kazuhiko Shiozaki's avatar
      [feat] zc.recipe.egg: Support on the fly patches. · 23421106
      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
      23421106
  2. 20 May, 2024 33 commits