commit: 42fa6c24c1495efb84d2f4b2c9d56188c01dc95d
parent d28ea08295867480cc04679780d44391c51475e3
Author: fosslinux <fosslinux@aussies.space>
Date: Sun, 25 Dec 2022 16:50:49 +1100
Add Python-3.11.1
Diffstat:
6 files changed, 160 insertions(+), 0 deletions(-)
diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs
@@ -8,6 +8,7 @@ e25a6388869762a20aac39a67b51e0bdabec852ee41f1224ebac1c35fb6fdf16 Python-3.1.5_1
d0ef6a98b24e036bfd4c72aa6ae24044d85772a661553f0db5d932eef397015a Python-3.3.7_0.tar.bz2
d72f32aee9e492f4f83f84310948193e5720f3e4572c3c98c8180cca3516dfc0 Python-3.4.10_0.tar.bz2
5ebbb2f07cf7707801e2596768e35966e92d346ae386a19c38cfadbd30e3c4ac Python-3.8.16_0.tar.bz2
+a178cf90b4ce11396e37925c56e94359a5efba5baf6a159beb901124f64f4ba0 Python-3.11.1_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.11.1/Python-3.11.1.sh b/sysc/Python-3.11.1/Python-3.11.1.sh
@@ -0,0 +1,94 @@
+# 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 \
+ Misc/stable_abi.toml
+
+ # Regenerate ssl_data for ssl module
+ rm Modules/_ssl_data_300.h Modules/_ssl_data.h
+ python Tools/ssl/make_ssl_data.py ../openssl-1.1.1l Modules/_ssl_data_111.h
+
+ # 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 stringprep
+ rm Lib/stringprep.py
+ mv ../rfc3454.txt .
+ python Tools/unicode/mkstringprep.py > Lib/stringprep.py
+
+ # Regenerate unicode
+ rm Modules/unicodedata_db.h Modules/unicodename_db.h Objects/unicodetype_db.h
+ mkdir -p Tools/unicode/data
+ mv ../*.txt ../*.zip Tools/unicode/data/
+ python Tools/unicode/makeunicodedata.py
+
+ # Regenerate Lib/re/_casefix.py
+ rm Lib/re/_casefix.py
+ python Tools/scripts/generate_re_casefix.py Lib/re/_casefix.py
+
+ # Regenerate Programs/test_frozenmain.h
+ rm Programs/test_frozenmain.h
+ python Programs/freeze_test_frozenmain.py Programs/test_frozenmain.h
+
+ # Create dummy Python/stdlib_module_names.h
+ echo 'static const char* _Py_stdlib_module_names[] = {};' > Python/stdlib_module_names.h
+
+ # 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
+ # We have to choose the order ourselves because the Makefile is extremely lax about the order
+ # First of all, do everything that doesn't use any C
+ rm Modules/_blake2/blake2s_impl.c
+ make regen-opcode \
+ regen-opcode-targets \
+ regen-typeslots \
+ regen-token \
+ regen-ast \
+ regen-keyword \
+ regen-sre \
+ clinic \
+ regen-pegen-metaparser \
+ regen-pegen \
+ regen-global-objects
+
+ # Do the freeze regen process
+ make regen-frozen
+ make regen-deepfreeze
+ make regen-global-objects
+
+ make CPPFLAGS="-U__DATE__ -U__TIME__"
+
+ # Regen Python/stdlib_module_names.h (you must have an existing build first)
+ make regen-stdlib-module-names
+
+ # Now rebuild with proper stdlib_module_names.h
+ make CPPFLAGS="-U__DATE__ -U__TIME__"
+}
+
+src_install() {
+ default
+ ln -s "${PREFIX}/lib/musl/python3.11/lib-dynload" "${DESTDIR}${PREFIX}/lib/python3.11/lib-dynload"
+ ln -s "${PREFIX}/bin/python3.11" "${DESTDIR}${PREFIX}/bin/python"
+}
diff --git a/sysc/Python-3.11.1/patches/empty-date.patch b/sysc/Python-3.11.1/patches/empty-date.patch
@@ -0,0 +1,20 @@
+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.
+
+Upstream PR: https://github.com/python/cpython/pull/100389
+
+--- 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.11.1/patches/multiarch.patch b/sysc/Python-3.11.1/patches/multiarch.patch
@@ -0,0 +1,19 @@
+SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: PSF-2.0
+
+On x86_64 system our GCC has multiarch a little broken for Python's
+build system which doesn't really bother me so just pretend that
+there is no multiarch.
+
+--- configure.ac.bak 2022-12-21 19:35:44.560977616 +1100
++++ configure.ac 2022-12-21 19:36:00.735143246 +1100
+@@ -1096,7 +1096,7 @@
+ AS_CASE([$ac_sys_system],
+ [Darwin*], [MULTIARCH=""],
+ [FreeBSD*], [MULTIARCH=""],
+- [MULTIARCH=$($CC --print-multiarch 2>/dev/null)]
++ [MULTIARCH=""]
+ )
+ AC_SUBST([MULTIARCH])
+ AC_MSG_RESULT([$MULTIARCH])
diff --git a/sysc/Python-3.11.1/sources b/sysc/Python-3.11.1/sources
@@ -0,0 +1,24 @@
+https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tar.xz 85879192f2cffd56cb16c092905949ebf3e5e394b7f764723529637901dfb58f
+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/14.0.0/ucd/UnicodeData.txt 36018e68657fdcb3485f636630ffe8c8532e01c977703d2803f5b89d6c5feafb UnicodeData-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/CompositionExclusions.txt 3360762fc3295cea54ab251c31df621d05ba4b94d46c60eaac29aa16d70ad1e0 CompositionExclusions-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/EastAsianWidth.txt f901ac011aa32a09224d6555da71e2532c59c1d3381322829de0e3b880507250 EastAsianWidth-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/DerivedCoreProperties.txt e3eddd7d469cd1b0feed7528defad1a1cc7c6a9ceb0ae4446a6d10921ed2e7bc DerivedCoreProperties-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/DerivedNormalizationProps.txt b2c444c20730b097787fdf50bd7d6dd3fc5256ab8084f5b35b11c8776eca674c DerivedNormalizationProps-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/LineBreak.txt 9e06e9f35c6959fb91dcc7993f90d58523c3079bc62c6b25f828b4cdebc5d70c LineBreak-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/NameAliases.txt 14b3b677d33f95c51423dce6eef4a6a28b4b160451ecedee4b91edb6745cf4a3 NameAliases-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/NamedSequences.txt db5745688affcdc0c3927a1ee0667018a96a7b24513f866d5235e98fef6c2436 NamedSequences-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/SpecialCasing.txt c667b45908fd269af25fd55d2fc5bbc157fb1b77675936e25c513ce32e080334 SpecialCasing-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/CaseFolding.txt a566cd48687b2cd897e02501118b2413c14ae86d318f9abbbba97feb84189f0f CaseFolding-14.0.0.txt
+http://ftp.unicode.org/Public/14.0.0/ucd/Unihan.zip 2ae4519b2b82cd4d15379c17e57bfb12c33c0f54da4977de03b2b04bcf11852d Unihan-14.0.0.zip
+http://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT 6bad4dabcdf5940227c7d81fab130dcb18a77850b5d79de28b5dc4e047b0aaac
+https://www.ietf.org/rfc/rfc3454.txt eb722fa698fb7e8823b835d9fd263e4cdb8f1c7b0d234edf7f0e3bd2ccbb2c79
+http://artfiles.org/openssl.org/source/old/1.1.1/openssl-1.1.1l.tar.gz 0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1
diff --git a/sysc/run2.sh b/sysc/run2.sh
@@ -123,6 +123,8 @@ build Python-3.4.10
build Python-3.8.16
+build Python-3.11.1
+
if [ "$FORCE_TIMESTAMPS" = True ] ; then
echo 'Forcing all files timestamps to be 0 unix time.'
canonicalise_all_files_timestamp