Loading doc/languages-frameworks/python.section.md +1 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ sets are * `pkgs.python312Packages` * `pkgs.python313Packages` * `pkgs.python314Packages` * `pkgs.python315Packages` * `pkgs.pypy27Packages` * `pkgs.pypy310Packages` Loading pkgs/development/interpreters/python/cpython/3.15/no-ldconfig.patch 0 → 100644 +40 −0 Original line number Diff line number Diff line diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py index 378f12167c6..21710702e69 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py @@ -374,34 +374,7 @@ def find_library(name, is64 = False): else: def _findSoname_ldconfig(name): - import struct - if struct.calcsize('l') == 4: - machine = os.uname().machine + '-32' - else: - machine = os.uname().machine + '-64' - mach_map = { - 'x86_64-64': 'libc6,x86-64', - 'ppc64-64': 'libc6,64bit', - 'sparc64-64': 'libc6,64bit', - 's390x-64': 'libc6,64bit', - 'ia64-64': 'libc6,IA-64', - } - abi_type = mach_map.get(machine, 'libc6') - - # XXX assuming GLIBC's ldconfig (with option -p) - regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' - regex = os.fsencode(regex % (re.escape(name), abi_type)) - try: - with subprocess.Popen(['/sbin/ldconfig', '-p'], - stdin=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - stdout=subprocess.PIPE, - env={'LC_ALL': 'C', 'LANG': 'C'}) as p: - res = re.search(regex, p.stdout.read()) - if res: - return os.fsdecode(res.group(1)) - except OSError: - pass + return None def _findLib_ld(name): # See issue #9998 for why this is needed pkgs/development/interpreters/python/default.nix +13 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,19 @@ hash = "sha256-Ipna5ULTlc44g6ygDTyRAwfNaOCy9zNgmMjnt+7p8+k="; inherit passthruFun; }; python315 = callPackage ./cpython { self = __splicedPackages.python315; sourceVersion = { major = "3"; minor = "15"; patch = "0"; suffix = "a1"; }; hash = "sha256-MZSTnUiO6u79z5kNNVQtmtHOeIeJxOIwWiBg63BY5aQ="; inherit passthruFun; }; # Minimal versions of Python (built without optional dependencies) python3Minimal = (callPackage ./cpython ( Loading pkgs/top-level/all-packages.nix +7 −0 Original line number Diff line number Diff line Loading @@ -5942,6 +5942,11 @@ with pkgs; pythonAttr = "python314FreeThreading"; enableGIL = false; }; python315FreeThreading = python315.override { self = python315FreeThreading; pythonAttr = "python315FreeThreading"; enableGIL = false; }; pythonInterpreters = callPackage ./../development/interpreters/python { }; inherit (pythonInterpreters) Loading @@ -5951,6 +5956,7 @@ with pkgs; python312 python313 python314 python315 python3Minimal pypy27 pypy310 Loading @@ -5967,6 +5973,7 @@ with pkgs; python312Packages = recurseIntoAttrs python312.pkgs; python313Packages = recurseIntoAttrs python313.pkgs; python314Packages = python314.pkgs; python315Packages = python315.pkgs; pypyPackages = pypy.pkgs; pypy2Packages = pypy2.pkgs; pypy27Packages = pypy27.pkgs; Loading Loading
doc/languages-frameworks/python.section.md +1 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ sets are * `pkgs.python312Packages` * `pkgs.python313Packages` * `pkgs.python314Packages` * `pkgs.python315Packages` * `pkgs.pypy27Packages` * `pkgs.pypy310Packages` Loading
pkgs/development/interpreters/python/cpython/3.15/no-ldconfig.patch 0 → 100644 +40 −0 Original line number Diff line number Diff line diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py index 378f12167c6..21710702e69 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py @@ -374,34 +374,7 @@ def find_library(name, is64 = False): else: def _findSoname_ldconfig(name): - import struct - if struct.calcsize('l') == 4: - machine = os.uname().machine + '-32' - else: - machine = os.uname().machine + '-64' - mach_map = { - 'x86_64-64': 'libc6,x86-64', - 'ppc64-64': 'libc6,64bit', - 'sparc64-64': 'libc6,64bit', - 's390x-64': 'libc6,64bit', - 'ia64-64': 'libc6,IA-64', - } - abi_type = mach_map.get(machine, 'libc6') - - # XXX assuming GLIBC's ldconfig (with option -p) - regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' - regex = os.fsencode(regex % (re.escape(name), abi_type)) - try: - with subprocess.Popen(['/sbin/ldconfig', '-p'], - stdin=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - stdout=subprocess.PIPE, - env={'LC_ALL': 'C', 'LANG': 'C'}) as p: - res = re.search(regex, p.stdout.read()) - if res: - return os.fsdecode(res.group(1)) - except OSError: - pass + return None def _findLib_ld(name): # See issue #9998 for why this is needed
pkgs/development/interpreters/python/default.nix +13 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,19 @@ hash = "sha256-Ipna5ULTlc44g6ygDTyRAwfNaOCy9zNgmMjnt+7p8+k="; inherit passthruFun; }; python315 = callPackage ./cpython { self = __splicedPackages.python315; sourceVersion = { major = "3"; minor = "15"; patch = "0"; suffix = "a1"; }; hash = "sha256-MZSTnUiO6u79z5kNNVQtmtHOeIeJxOIwWiBg63BY5aQ="; inherit passthruFun; }; # Minimal versions of Python (built without optional dependencies) python3Minimal = (callPackage ./cpython ( Loading
pkgs/top-level/all-packages.nix +7 −0 Original line number Diff line number Diff line Loading @@ -5942,6 +5942,11 @@ with pkgs; pythonAttr = "python314FreeThreading"; enableGIL = false; }; python315FreeThreading = python315.override { self = python315FreeThreading; pythonAttr = "python315FreeThreading"; enableGIL = false; }; pythonInterpreters = callPackage ./../development/interpreters/python { }; inherit (pythonInterpreters) Loading @@ -5951,6 +5956,7 @@ with pkgs; python312 python313 python314 python315 python3Minimal pypy27 pypy310 Loading @@ -5967,6 +5973,7 @@ with pkgs; python312Packages = recurseIntoAttrs python312.pkgs; python313Packages = recurseIntoAttrs python313.pkgs; python314Packages = python314.pkgs; python315Packages = python315.pkgs; pypyPackages = pypy.pkgs; pypy2Packages = pypy2.pkgs; pypy27Packages = pypy27.pkgs; Loading