1. 13 Dec, 2024 5 commits
    • 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 35 commits