commit: d28ea08295867480cc04679780d44391c51475e3
parent d1d422abc5ee8d6268d53edcb5357c0a3c8e95da
Author: fosslinux <fosslinux@aussies.space>
Date: Wed, 21 Dec 2022 14:17:11 +1100
Add Python-3.8.16
Diffstat:
7 files changed, 156 insertions(+), 0 deletions(-)
diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs
@@ -7,6 +7,7 @@ cabadffa45bbef9043dfb940a90ec90c0cd81876493e38657f63b15bdac67065 Python-3.1.5_0
e25a6388869762a20aac39a67b51e0bdabec852ee41f1224ebac1c35fb6fdf16 Python-3.1.5_1.tar.bz2
d0ef6a98b24e036bfd4c72aa6ae24044d85772a661553f0db5d932eef397015a Python-3.3.7_0.tar.bz2
d72f32aee9e492f4f83f84310948193e5720f3e4572c3c98c8180cca3516dfc0 Python-3.4.10_0.tar.bz2
+5ebbb2f07cf7707801e2596768e35966e92d346ae386a19c38cfadbd30e3c4ac Python-3.8.16_0.tar.bz2
2fde9f584a275efc5c8bf23adaa690e06ab6922ecbc35108731e87f565ddb2b6 autoconf-2.12_0.tar.bz2
40d88d4b1048ab70eaecf753fb77713dfcaa9c9c72252cd36459236034cdcdfd autoconf-2.13_0.tar.bz2
38f0de4c816088c514dbfb1536779f2204426a95bd6f57fa87b83bffefcaa390 autoconf-2.52_0.tar.bz2
diff --git a/sysc/Python-3.8.16/Python-3.8.16.sh b/sysc/Python-3.8.16/Python-3.8.16.sh
@@ -0,0 +1,66 @@
+# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+src_prepare() {
+ default
+
+ # Delete generated files that won't be regenerated
+ rm Lib/pydoc_data/topics.py
+
+ rm Modules/_ssl_data*.h # Breaks _ssl module, but it fails anyways
+
+ # Regenerate encodings
+ grep generated -r . -l | grep encodings | xargs rm
+ mkdir Tools/unicode/in Tools/unicode/out
+ mv ../CP437.TXT Tools/unicode/in/
+ pushd Tools/unicode
+ python gencodec.py in/ ../../Lib/encodings/
+ popd
+
+ # Regenerate unicode
+ rm Modules/unicodedata_db.h Modules/unicodename_db.h Objects/unicodetype_db.h
+ mv ../*.txt ../*.zip .
+ python Tools/unicode/makeunicodedata.py
+
+ # Regenerate sre_constants.h
+ rm Modules/sre_constants.h
+ cp Lib/sre_constants.py .
+ python sre_constants.py
+ rm sre_constants.py
+ mv sre_constants.h Modules/
+
+ # Regenerate stringprep
+ rm Lib/stringprep.py
+ python Tools/unicode/mkstringprep.py > Lib/stringprep.py
+
+ # Regenerate autoconf
+ autoreconf-2.71 -fi
+}
+
+src_configure() {
+ CPPFLAGS="-U__DATE__ -U__TIME__" \
+ LDFLAGS="-L/usr/lib/musl" \
+ ./configure \
+ --prefix="${PREFIX}" \
+ --libdir="${PREFIX}/lib/musl" \
+ --with-system-ffi
+}
+
+src_compile() {
+ # Regenerations
+ rm Modules/_blake2/blake2s_impl.c
+ make regen-all
+
+ make CPPFLAGS="-U__DATE__ -U__TIME__"
+}
+
+src_install() {
+ default
+ ln -s "${PREFIX}/lib/musl/python3.8/lib-dynload" "${DESTDIR}${PREFIX}/lib/python3.8/lib-dynload"
+ ln -s "${PREFIX}/bin/python3.8" "${DESTDIR}${PREFIX}/bin/python"
+
+ # Remove non-reproducible .pyc/o files
+ find "${DESTDIR}" -name "*.pyc" -delete
+ find "${DESTDIR}" -name "*.pyo" -delete
+}
diff --git a/sysc/Python-3.8.16/patches/empty-date.patch b/sysc/Python-3.8.16/patches/empty-date.patch
@@ -0,0 +1,18 @@
+SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: PSF-2.0
+
+When defined __DATE__ is in the format MMM DD YYYY. xx/xx/xx does
+not comply with this so the parser in Lib/platform.py fails on it.
+
+--- Modules/getbuildinfo.c 2022-12-21 13:41:18.120573458 +1100
++++ Modules/getbuildinfo.c 2022-12-21 13:41:30.399716652 +1100
+@@ -8,7 +8,7 @@
+ #ifdef __DATE__
+ #define DATE __DATE__
+ #else
+-#define DATE "xx/xx/xx"
++#define DATE "xxx xx xxxx"
+ #endif
+ #endif
+
diff --git a/sysc/Python-3.8.16/patches/maxgroups.patch b/sysc/Python-3.8.16/patches/maxgroups.patch
@@ -0,0 +1,20 @@
+SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: PSF-2.0
+
+MAXGROUPS constant was introduced in this upgrade. Hardcode it
+from a "normal" system. This seems particularly unproblematic
+if it is wrong, since it does next to nothing.
+
+--- Lib/sre_constants.py 2022-12-20 12:05:01.176104156 +1100
++++ Lib/sre_constants.py 2022-12-20 12:05:21.710376396 +1100
+@@ -15,7 +15,8 @@
+
+ MAGIC = 20171005
+
+-from _sre import MAXREPEAT, MAXGROUPS
++from _sre import MAXREPEAT
++MAXGROUPS = 1073741823
+
+ # SRE standard exception (access as sre.error)
+ # should this really be here?
diff --git a/sysc/Python-3.8.16/patches/refractor.patch b/sysc/Python-3.8.16/patches/refractor.patch
@@ -0,0 +1,26 @@
+SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: PSF-2.0
+
+I'm not sure what was going on here when this was written, or how
+it ever worked! But this small simple fix works 0.0
+
+--- Lib/sre_constants.py 2022-12-20 18:30:21.883561534 +1100
++++ Lib/sre_constants.py 2022-12-20 18:31:23.209190748 +1100
+@@ -56,6 +56,7 @@
+ class _NamedIntConstant(int):
+ def __new__(cls, value, name):
+ self = super(_NamedIntConstant, cls).__new__(cls, value)
++ self.value = value
+ self.name = name
+ return self
+
+@@ -219,7 +220,7 @@
+ def dump(f, d, prefix):
+ items = sorted(d)
+ for item in items:
+- f.write("#define %s_%s %d\n" % (prefix, item, item))
++ f.write("#define %s_%s %d\n" % (prefix, item.name, item.value))
+ with open("sre_constants.h", "w") as f:
+ f.write("""\
+ /*
diff --git a/sysc/Python-3.8.16/sources b/sysc/Python-3.8.16/sources
@@ -0,0 +1,23 @@
+https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tar.xz d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562
+http://ftp.unicode.org/Public/3.2-Update/UnicodeData-3.2.0.txt 5e444028b6e76d96f9dc509609c5e3222bf609056f35e5fcde7e6fb8a58cd446
+http://ftp.unicode.org/Public/3.2-Update/CompositionExclusions-3.2.0.txt 1d3a450d0f39902710df4972ac4a60ec31fbcb54ffd4d53cd812fc1200c732cb
+http://ftp.unicode.org/Public/3.2-Update/EastAsianWidth-3.2.0.txt ce19f35ffca911bf492aab6c0d3f6af3d1932f35d2064cf2fe14e10be29534cb
+http://ftp.unicode.org/Public/3.2-Update/DerivedCoreProperties-3.2.0.txt 787419dde91701018d7ad4f47432eaa55af14e3fe3fe140a11e4bbf3db18bb4c
+http://ftp.unicode.org/Public/3.2-Update/DerivedNormalizationProps-3.2.0.txt bab49295e5f9064213762447224ccd83cea0cced0db5dcfc96f9c8a935ef67ee
+http://ftp.unicode.org/Public/3.2-Update/LineBreak-3.2.0.txt d693ef2a603d07e20b769ef8ba29afca39765588a03e3196294e5be8638ca735
+http://ftp.unicode.org/Public/3.2-Update/SpecialCasing-3.2.0.txt 1f7913b74dddff55ee566f6220aa9e465bae6f27709fc21d353b04adb8572b37
+http://ftp.unicode.org/Public/3.2-Update/CaseFolding-3.2.0.txt 370f3d1e79a52791c42065946711f4eddb6d9820726afd0e436a3c50360475a9
+http://ftp.unicode.org/Public/3.2-Update/Unihan-3.2.0.zip 0582b888c4ebab6e3ce8d340c74788f1a68ca662713a1065b9a007f24bb4fe46
+http://ftp.unicode.org/Public/12.1.0/ucd/UnicodeData.txt 93ab1acd8fd9d450463b50ae77eab151a7cda48f98b25b56baed8070f80fc936 UnicodeData-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/CompositionExclusions.txt abc8394c5bde62453118b00c1c5842160a04d7fffb2e829ee5426b846596d081 CompositionExclusions-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/EastAsianWidth.txt 904500178b2e752635bef27aaed3a2a3718a100bce35ff96b3890be7a8315d8f EastAsianWidth-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/DerivedCoreProperties.txt a6eb7a8671fb532fbd88c37fd7b20b5b2e7dbfc8b121f74c14abe2947db0da68 DerivedCoreProperties-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/DerivedNormalizationProps.txt 92dcdda84142194a1596f22180fcdf8c0e7f86897f09cc9203c7dc636c549f5f DerivedNormalizationProps-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/LineBreak.txt 961f842fc70b5afd1d82c6645e68c10d1f701382aed38ae38cb2ff27f671903c LineBreak-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/NameAliases.txt ff61a0687d2f32c0dd1094254b8bde967883b43c2d4d50fd17531d498e41ab2c NameAliases-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/NamedSequences.txt d3eb9a288ebeaf9de1237989f490705e287b6f610b59d2459fb1b7c2d8e39c39 NamedSequences-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/SpecialCasing.txt 817ce2e9edca8e075a153f54b8f3b020345e37652cd2bda9b1495c366af17e7e SpecialCasing-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/CaseFolding.txt 9c772627c6ee77eea6a17b42927b8ee28ca05dc65d6a511062104baaf3d12294 CaseFolding-12.1.0.txt
+http://ftp.unicode.org/Public/12.1.0/ucd/Unihan.zip 6e4553f3b5fffe0d312df324d020ef1278d9595932ae03f4e8a2d427de83cdcd Unihan-12.1.0.zip
+http://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT 6bad4dabcdf5940227c7d81fab130dcb18a77850b5d79de28b5dc4e047b0aaac
+https://www.ietf.org/rfc/rfc3454.txt eb722fa698fb7e8823b835d9fd263e4cdb8f1c7b0d234edf7f0e3bd2ccbb2c79
diff --git a/sysc/run2.sh b/sysc/run2.sh
@@ -121,6 +121,8 @@ build Python-3.3.7
build Python-3.4.10
+build Python-3.8.16
+
if [ "$FORCE_TIMESTAMPS" = True ] ; then
echo 'Forcing all files timestamps to be 0 unix time.'
canonicalise_all_files_timestamp