From e6871d9800efed3395535a879e323b546d96feab Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Sun, 3 May 2026 23:24:23 +0300 Subject: [PATCH] python2: move cpython, mkPythonDerivation into resholve --- .../python/cpython/docs/default.nix | 12 --------- .../interpreters/python/default.nix | 12 --------- .../python/python-packages-base.nix | 6 ++++- .../2.5.2-ctypes-util-find_library.patch | 0 .../cpython-2.7}/2.5.2-tkinter-x11.patch | 0 .../cpython-2.7}/2.6.2-ssl-threads.patch | 0 .../cpython-2.7}/2.6.5-FD_SETSIZE.patch | 0 .../2.6.5-export-PySignal_SetWakeupFd.patch | 0 .../cpython-2.7}/2.6.5-ncurses-abi6.patch | 0 .../resholve/cpython-2.7}/2.7.3-dbm.patch | 0 .../resholve/cpython-2.7}/2.7.3-dylib.patch | 0 .../2.7.3-getpath-exe-extension.patch | 0 .../resholve/cpython-2.7}/2.7.3-no-libm.patch | 0 .../resholve/cpython-2.7}/atomic_pyc.patch | 0 .../resholve/cpython-2.7}/cross-compile.patch | 0 .../resholve/cpython-2.7}/default.nix | 4 +-- .../cpython-2.7}/deterministic-build.patch | 0 .../cpython-2.7}/find_library-gcc10.patch | 0 .../cpython-2.7}/nix-store-mtime.patch | 0 .../resholve/cpython-2.7}/no-ldconfig.patch | 0 .../cpython-2.7}/no-win64-workaround.patch | 0 .../resholve/cpython-2.7}/profile-task.patch | 0 .../python-2.7-distutils-C++.patch | 0 .../resholve/cpython-2.7}/search-path.patch | 0 .../use-correct-tcl-tk-on-darwin.patch | 0 .../python2/mk-python-derivation.nix | 0 .../resholve/python27-docs}/2.7-html.nix | 0 .../resholve/python27-docs}/2.7-pdf-a4.nix | 0 .../python27-docs}/2.7-pdf-letter.nix | 0 .../resholve/python27-docs}/2.7-text.nix | 0 pkgs/development/misc/resholve/python27.nix | 26 ++++++++++++++++++- 31 files changed, 32 insertions(+), 28 deletions(-) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.5.2-ctypes-util-find_library.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.5.2-tkinter-x11.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.6.2-ssl-threads.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.6.5-FD_SETSIZE.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.6.5-export-PySignal_SetWakeupFd.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.6.5-ncurses-abi6.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.7.3-dbm.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.7.3-dylib.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.7.3-getpath-exe-extension.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/2.7.3-no-libm.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/atomic_pyc.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/cross-compile.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/default.nix (99%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/deterministic-build.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/find_library-gcc10.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/nix-store-mtime.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/no-ldconfig.patch (100%) rename pkgs/development/{interpreters/python/cpython/3.7 => misc/resholve/cpython-2.7}/no-win64-workaround.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/profile-task.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/python-2.7-distutils-C++.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/search-path.patch (100%) rename pkgs/development/{interpreters/python/cpython/2.7 => misc/resholve/cpython-2.7}/use-correct-tcl-tk-on-darwin.patch (100%) rename pkgs/development/{interpreters/python => misc/resholve}/python2/mk-python-derivation.nix (100%) rename pkgs/development/{interpreters/python/cpython/docs => misc/resholve/python27-docs}/2.7-html.nix (100%) rename pkgs/development/{interpreters/python/cpython/docs => misc/resholve/python27-docs}/2.7-pdf-a4.nix (100%) rename pkgs/development/{interpreters/python/cpython/docs => misc/resholve/python27-docs}/2.7-pdf-letter.nix (100%) rename pkgs/development/{interpreters/python/cpython/docs => misc/resholve/python27-docs}/2.7-text.nix (100%) diff --git a/pkgs/development/interpreters/python/cpython/docs/default.nix b/pkgs/development/interpreters/python/cpython/docs/default.nix index a2d6a35ba8b5..d5cc62a92120 100644 --- a/pkgs/development/interpreters/python/cpython/docs/default.nix +++ b/pkgs/development/interpreters/python/cpython/docs/default.nix @@ -8,36 +8,24 @@ let pythonDocs = { html = { recurseForDerivations = true; - python27 = import ./2.7-html.nix { - inherit stdenv fetchurl lib; - }; python310 = import ./3.10-html.nix { inherit stdenv fetchurl lib; }; }; pdf_a4 = { recurseForDerivations = true; - python27 = import ./2.7-pdf-a4.nix { - inherit stdenv fetchurl lib; - }; python310 = import ./3.10-pdf-a4.nix { inherit stdenv fetchurl lib; }; }; pdf_letter = { recurseForDerivations = true; - python27 = import ./2.7-pdf-letter.nix { - inherit stdenv fetchurl lib; - }; python310 = import ./3.10-pdf-letter.nix { inherit stdenv fetchurl lib; }; }; text = { recurseForDerivations = true; - python27 = import ./2.7-text.nix { - inherit stdenv fetchurl lib; - }; python310 = import ./3.10-text.nix { inherit stdenv fetchurl lib; }; diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 11a150d78506..d87e115892b8 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -30,18 +30,6 @@ in { - python27 = callPackage ./cpython/2.7 { - self = __splicedPackages.python27; - sourceVersion = { - major = "2"; - minor = "7"; - patch = "18"; - suffix = ".12"; # ActiveState's Python 2 extended support - }; - hash = "sha256-RuEgfpags9wJm9Xe0daotqUx4knABEUc7DvtgnQXEfE="; - inherit passthruFun; - }; - python311 = callPackage ./cpython { self = __splicedPackages.python311; sourceVersion = { diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index aeb5582e4c8b..000b23a6955a 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -102,7 +102,11 @@ let ); mkPythonDerivation = - if python.isPy3k then ./mk-python-derivation.nix else ./python2/mk-python-derivation.nix; + if python.isPy3k then + ./mk-python-derivation.nix + else + # Python 2 build infrastructure lives with its only consumers (resholve, pypy27). + ../../misc/resholve/python2/mk-python-derivation.nix; buildPythonPackage = makeOverridablePythonPackage ( overrideStdenvCompat ( diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.5.2-ctypes-util-find_library.patch b/pkgs/development/misc/resholve/cpython-2.7/2.5.2-ctypes-util-find_library.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.5.2-ctypes-util-find_library.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.5.2-ctypes-util-find_library.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.5.2-tkinter-x11.patch b/pkgs/development/misc/resholve/cpython-2.7/2.5.2-tkinter-x11.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.5.2-tkinter-x11.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.5.2-tkinter-x11.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.6.2-ssl-threads.patch b/pkgs/development/misc/resholve/cpython-2.7/2.6.2-ssl-threads.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.6.2-ssl-threads.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.6.2-ssl-threads.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.6.5-FD_SETSIZE.patch b/pkgs/development/misc/resholve/cpython-2.7/2.6.5-FD_SETSIZE.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.6.5-FD_SETSIZE.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.6.5-FD_SETSIZE.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.6.5-export-PySignal_SetWakeupFd.patch b/pkgs/development/misc/resholve/cpython-2.7/2.6.5-export-PySignal_SetWakeupFd.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.6.5-export-PySignal_SetWakeupFd.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.6.5-export-PySignal_SetWakeupFd.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.6.5-ncurses-abi6.patch b/pkgs/development/misc/resholve/cpython-2.7/2.6.5-ncurses-abi6.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.6.5-ncurses-abi6.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.6.5-ncurses-abi6.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.7.3-dbm.patch b/pkgs/development/misc/resholve/cpython-2.7/2.7.3-dbm.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.7.3-dbm.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.7.3-dbm.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.7.3-dylib.patch b/pkgs/development/misc/resholve/cpython-2.7/2.7.3-dylib.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.7.3-dylib.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.7.3-dylib.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.7.3-getpath-exe-extension.patch b/pkgs/development/misc/resholve/cpython-2.7/2.7.3-getpath-exe-extension.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.7.3-getpath-exe-extension.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.7.3-getpath-exe-extension.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/2.7.3-no-libm.patch b/pkgs/development/misc/resholve/cpython-2.7/2.7.3-no-libm.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/2.7.3-no-libm.patch rename to pkgs/development/misc/resholve/cpython-2.7/2.7.3-no-libm.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/atomic_pyc.patch b/pkgs/development/misc/resholve/cpython-2.7/atomic_pyc.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/atomic_pyc.patch rename to pkgs/development/misc/resholve/cpython-2.7/atomic_pyc.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/cross-compile.patch b/pkgs/development/misc/resholve/cpython-2.7/cross-compile.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/cross-compile.patch rename to pkgs/development/misc/resholve/cpython-2.7/cross-compile.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/misc/resholve/cpython-2.7/default.nix similarity index 99% rename from pkgs/development/interpreters/python/cpython/2.7/default.nix rename to pkgs/development/misc/resholve/cpython-2.7/default.nix index 9f3d064ceeb1..e68c988ca0b4 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/misc/resholve/cpython-2.7/default.nix @@ -146,7 +146,7 @@ let # It does break aarch64-darwin, which we do support. See: # * https://bugs.python.org/issue35523 # * https://github.com/python/cpython/commit/e6b247c8e524 - ../3.7/no-win64-workaround.patch + ./no-win64-workaround.patch # fix openssl detection by reverting irrelevant change for us, to enable hashlib which is required by pip (fetchpatch { @@ -378,7 +378,7 @@ stdenv.mkDerivation ( postFixup = '' # Include a sitecustomize.py file. Note it causes an error when it's in postInstall with 2.7. - cp ${../../sitecustomize.py} $out/${sitePackages}/sitecustomize.py + cp ${../../../interpreters/python/sitecustomize.py} $out/${sitePackages}/sitecustomize.py '' + lib.optionalString strip2to3 '' rm -R $out/bin/2to3 $out/lib/python*/lib2to3 diff --git a/pkgs/development/interpreters/python/cpython/2.7/deterministic-build.patch b/pkgs/development/misc/resholve/cpython-2.7/deterministic-build.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/deterministic-build.patch rename to pkgs/development/misc/resholve/cpython-2.7/deterministic-build.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/find_library-gcc10.patch b/pkgs/development/misc/resholve/cpython-2.7/find_library-gcc10.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/find_library-gcc10.patch rename to pkgs/development/misc/resholve/cpython-2.7/find_library-gcc10.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/nix-store-mtime.patch b/pkgs/development/misc/resholve/cpython-2.7/nix-store-mtime.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/nix-store-mtime.patch rename to pkgs/development/misc/resholve/cpython-2.7/nix-store-mtime.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch b/pkgs/development/misc/resholve/cpython-2.7/no-ldconfig.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/no-ldconfig.patch rename to pkgs/development/misc/resholve/cpython-2.7/no-ldconfig.patch diff --git a/pkgs/development/interpreters/python/cpython/3.7/no-win64-workaround.patch b/pkgs/development/misc/resholve/cpython-2.7/no-win64-workaround.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/3.7/no-win64-workaround.patch rename to pkgs/development/misc/resholve/cpython-2.7/no-win64-workaround.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/profile-task.patch b/pkgs/development/misc/resholve/cpython-2.7/profile-task.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/profile-task.patch rename to pkgs/development/misc/resholve/cpython-2.7/profile-task.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch b/pkgs/development/misc/resholve/cpython-2.7/python-2.7-distutils-C++.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/python-2.7-distutils-C++.patch rename to pkgs/development/misc/resholve/cpython-2.7/python-2.7-distutils-C++.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/search-path.patch b/pkgs/development/misc/resholve/cpython-2.7/search-path.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/search-path.patch rename to pkgs/development/misc/resholve/cpython-2.7/search-path.patch diff --git a/pkgs/development/interpreters/python/cpython/2.7/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/misc/resholve/cpython-2.7/use-correct-tcl-tk-on-darwin.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/2.7/use-correct-tcl-tk-on-darwin.patch rename to pkgs/development/misc/resholve/cpython-2.7/use-correct-tcl-tk-on-darwin.patch diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/misc/resholve/python2/mk-python-derivation.nix similarity index 100% rename from pkgs/development/interpreters/python/python2/mk-python-derivation.nix rename to pkgs/development/misc/resholve/python2/mk-python-derivation.nix diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix b/pkgs/development/misc/resholve/python27-docs/2.7-html.nix similarity index 100% rename from pkgs/development/interpreters/python/cpython/docs/2.7-html.nix rename to pkgs/development/misc/resholve/python27-docs/2.7-html.nix diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix b/pkgs/development/misc/resholve/python27-docs/2.7-pdf-a4.nix similarity index 100% rename from pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix rename to pkgs/development/misc/resholve/python27-docs/2.7-pdf-a4.nix diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix b/pkgs/development/misc/resholve/python27-docs/2.7-pdf-letter.nix similarity index 100% rename from pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix rename to pkgs/development/misc/resholve/python27-docs/2.7-pdf-letter.nix diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix b/pkgs/development/misc/resholve/python27-docs/2.7-text.nix similarity index 100% rename from pkgs/development/interpreters/python/cpython/docs/2.7-text.nix rename to pkgs/development/misc/resholve/python27-docs/2.7-text.nix diff --git a/pkgs/development/misc/resholve/python27.nix b/pkgs/development/misc/resholve/python27.nix index 06b138655b4c..677cf13dc0d8 100644 --- a/pkgs/development/misc/resholve/python27.nix +++ b/pkgs/development/misc/resholve/python27.nix @@ -11,9 +11,33 @@ let knownVulnerabilities = [ ]; }; }); + + passthruFun = import ../../interpreters/python/passthrufun.nix { + inherit lib; + inherit (pkgsBuildHost) + stdenv + callPackage + pythonPackagesExtensions + config + makeScopeWithSplicing' + ; + }; + + python27Base = pkgsBuildHost.callPackage ./cpython-2.7 { + self = python27; + sourceVersion = { + major = "2"; + minor = "7"; + patch = "18"; + suffix = ".12"; # ActiveState's Python 2 extended support + }; + hash = "sha256-RuEgfpags9wJm9Xe0daotqUx4knABEUc7DvtgnQXEfE="; + inherit passthruFun; + }; + # We are removing `meta.knownVulnerabilities` from `python27`, # and setting it in `resholve` itself. - python27 = (removeKnownVulnerabilities pkgsBuildHost.pythonInterpreters.python27).override { + python27 = (removeKnownVulnerabilities python27Base).override { self = python27; pkgsBuildHost = pkgsBuildHost // { inherit python27;