python37: drop

The package set hasn't been working for a long time now, due to infinite
recursions, that nobody was going to fix.

The release is going to go EOL in 2023/06 and we don't want to ship it
in NixOS 23.05 anyway.

Changed files
+1 -193
pkgs
-1
pkgs/common-updater/scripts/mark-broken
···
# to be conditionally disabled
denyAttrList=(
python27Packages
-
python37Packages
linuxPackages_
rubyPackages_
)
-30
pkgs/development/interpreters/python/cpython/3.7/fix-hardcoded-path-checking-for-rpmbuild.patch
···
-
From a612c481f6116955d420db5ae1fe4c1eb93eb2f2 Mon Sep 17 00:00:00 2001
-
From: Marcin Niemira <marcin.niemira@gmail.com>
-
Date: Sun, 9 Jun 2019 07:05:06 +1000
-
Subject: [PATCH] bpo-11122: fix hardcoded path checking for rpmbuild in
-
bdist_rpm.py (GH-10594) (cherry picked from commit
-
45a14942c969ed508b35abd5e116cb18f84ce5b4)
-
-
Co-authored-by: Marcin Niemira <marcin.niemira@gmail.com>
-
---
-
Lib/distutils/command/bdist_rpm.py | 5 +----
-
.../next/Library/2018-11-12-19-08-50.bpo-11122.Gj7BQn.rst | 1 +
-
2 files changed, 2 insertions(+), 4 deletions(-)
-
create mode 100644 Misc/NEWS.d/next/Library/2018-11-12-19-08-50.bpo-11122.Gj7BQn.rst
-
-
diff --git a/Lib/distutils/command/bdist_rpm.py b/Lib/distutils/command/bdist_rpm.py
-
index 20ca7ac6dcffa..74381cc69a6ce 100644
-
--- a/Lib/distutils/command/bdist_rpm.py
-
+++ b/Lib/distutils/command/bdist_rpm.py
-
@@ -309,10 +309,7 @@ def run(self):
-
-
# build package
-
log.info("building RPMs")
-
- rpm_cmd = ['rpm']
-
- if os.path.exists('/usr/bin/rpmbuild') or \
-
- os.path.exists('/bin/rpmbuild'):
-
- rpm_cmd = ['rpmbuild']
-
+ rpm_cmd = ['rpmbuild']
-
-
if self.source_only: # what kind of RPMs?
-
rpm_cmd.append('-bs')
-108
pkgs/development/interpreters/python/cpython/3.7/no-ldconfig.patch
···
-
From ba458f33f335b217d078fdce56e9c6f9f93adb49 Mon Sep 17 00:00:00 2001
-
From: Frederik Rietdijk <fridh@fridh.nl>
-
Date: Mon, 28 Aug 2017 09:24:06 +0200
-
Subject: [PATCH] Don't use ldconfig
-
-
---
-
Lib/ctypes/util.py | 78 ++--------------------------------------------
-
1 file changed, 2 insertions(+), 76 deletions(-)
-
-
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
-
index 0c2510e..79635a8 100644
-
--- a/Lib/ctypes/util.py
-
+++ b/Lib/ctypes/util.py
-
@@ -100,54 +100,7 @@ elif os.name == "posix":
-
return thefile.read(4) == elf_header
-
-
def _findLib_gcc(name):
-
- # Run GCC's linker with the -t (aka --trace) option and examine the
-
- # library name it prints out. The GCC command will fail because we
-
- # haven't supplied a proper program with main(), but that does not
-
- # matter.
-
- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name))
-
-
-
- c_compiler = shutil.which('gcc')
-
- if not c_compiler:
-
- c_compiler = shutil.which('cc')
-
- if not c_compiler:
-
- # No C compiler available, give up
-
- return None
-
-
-
- temp = tempfile.NamedTemporaryFile()
-
- try:
-
- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name]
-
-
-
- env = dict(os.environ)
-
- env['LC_ALL'] = 'C'
-
- env['LANG'] = 'C'
-
- try:
-
- proc = subprocess.Popen(args,
-
- stdout=subprocess.PIPE,
-
- stderr=subprocess.STDOUT,
-
- env=env)
-
- except OSError: # E.g. bad executable
-
- return None
-
- with proc:
-
- trace = proc.stdout.read()
-
- finally:
-
- try:
-
- temp.close()
-
- except FileNotFoundError:
-
- # Raised if the file was already removed, which is the normal
-
- # behaviour of GCC if linking fails
-
- pass
-
- res = re.findall(expr, trace)
-
- if not res:
-
- return None
-
-
-
- for file in res:
-
- # Check if the given file is an elf file: gcc can report
-
- # some files that are linker scripts and not actual
-
- # shared objects. See bpo-41976 for more details
-
- if not _is_elf(file):
-
- continue
-
- return os.fsdecode(file)
-
-
-
+ return None
-
-
if sys.platform == "sunos5":
-
# use /usr/ccs/bin/dump on solaris
-
@@ -268,34 +221,7 @@ elif os.name == "posix":
-
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
-
--
-
2.30.0
-
-21
pkgs/development/interpreters/python/cpython/3.7/profile-task.patch
···
-
Backport from CPython 3.8 of a good list of tests to run for PGO.
-
-
Upstream commit:
-
https://github.com/python/cpython/commit/4e16a4a31
-
-
Upstream discussion:
-
https://bugs.python.org/issue36044
-
-
diff --git a/Makefile.pre.in b/Makefile.pre.in
-
index 00fdd21ce..713dc1e53 100644
-
--- a/Makefile.pre.in
-
+++ b/Makefile.pre.in
-
@@ -259,7 +259,7 @@ TCLTK_LIBS=
-
# The task to run while instrumented when building the profile-opt target.
-
# We exclude unittests with -x that take a rediculious amount of time to
-
# run in the instrumented training build or do not provide much value.
-
-PROFILE_TASK=-m test.regrtest --pgo
-
+PROFILE_TASK=-m test.regrtest --pgo test_array test_base64 test_binascii test_binop test_bisect test_bytes test_bz2 test_cmath test_codecs test_collections test_complex test_dataclasses test_datetime test_decimal test_difflib test_embed test_float test_fstring test_functools test_generators test_hashlib test_heapq test_int test_itertools test_json test_long test_lzma test_math test_memoryview test_operator test_ordered_dict test_pickle test_pprint test_re test_set test_sqlite test_statistics test_struct test_tabnanny test_time test_unicode test_xml_etree test_xml_etree_c
-
-
# report files for gcov / lcov coverage report
-
COVERAGE_INFO= $(abs_builddir)/coverage.info
-12
pkgs/development/interpreters/python/cpython/default.nix
···
] ++ optionals mimetypesSupport [
# Make the mimetypes module refer to the right file
./mimetypes.patch
-
] ++ optionals isPy37 [
-
# Backport a fix for discovering `rpmbuild` command when doing `python setup.py bdist_rpm` to 3.5, 3.6, 3.7.
-
# See: https://bugs.python.org/issue11122
-
./3.7/fix-hardcoded-path-checking-for-rpmbuild.patch
-
# The workaround is for unittests on Win64, which we don't support.
-
# 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
] ++ optionals (pythonAtLeast "3.7" && pythonOlder "3.11") [
# Fix darwin build https://bugs.python.org/issue34027
./3.7/darwin-libutil.patch
] ++ optionals (pythonAtLeast "3.11") [
./3.11/darwin-libutil.patch
-
] ++ optionals (pythonOlder "3.8") [
-
# Backport from CPython 3.8 of a good list of tests to run for PGO.
-
./3.7/profile-task.patch
] ++ optionals (pythonAtLeast "3.9" && pythonOlder "3.11" && stdenv.isDarwin) [
# Stop checking for TCL/TK in global macOS locations
./3.9/darwin-tcl-tk.patch
-13
pkgs/development/interpreters/python/default.nix
···
inherit passthruFun;
};
-
python37 = callPackage ./cpython {
-
self = __splicedPackages.python37;
-
sourceVersion = {
-
major = "3";
-
minor = "7";
-
patch = "16";
-
suffix = "";
-
};
-
sha256 = "sha256-gzjwwiIthH6QTJVTaRVdwb7u7YBujV7wSwDvR4cji/0=";
-
inherit (darwin) configd;
-
inherit passthruFun;
-
};
-
python38 = callPackage ./cpython {
self = __splicedPackages.python38;
sourceVersion = {
+1 -8
pkgs/top-level/all-packages.nix
···
bluezSupport = true;
x11Support = true;
-
python37Full = python37.override {
-
self = python37Full;
-
pythonAttr = "python37Full";
-
bluezSupport = true;
-
x11Support = true;
-
};
python38Full = python38.override {
self = python38Full;
pythonAttr = "python38Full";
···
pythonInterpreters = callPackage ./../development/interpreters/python { };
-
inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python312 python3Minimal pypy27 pypy39 pypy38 pypy37 rustpython;
+
inherit (pythonInterpreters) python27 python38 python39 python310 python311 python312 python3Minimal pypy27 pypy39 pypy38 pypy37 rustpython;
# List of extensions with overrides to apply to all Python package sets.
pythonPackagesExtensions = [ ];
# Python package sets.
python27Packages = python27.pkgs;
-
python37Packages = python37.pkgs;
python38Packages = python38.pkgs;
python39Packages = python39.pkgs;
python310Packages = recurseIntoAttrs python310.pkgs;