From 42fa6c24c1495efb84d2f4b2c9d56188c01dc95d Mon Sep 17 00:00:00 2001 From: fosslinux Date: Sun, 25 Dec 2022 16:50:49 +1100 Subject: [PATCH] Add Python-3.11.1 --- sysa/SHA256SUMS.pkgs | 1 + sysc/Python-3.11.1/Python-3.11.1.sh | 94 +++++++++++++++++++++ sysc/Python-3.11.1/patches/empty-date.patch | 20 +++++ sysc/Python-3.11.1/patches/multiarch.patch | 19 +++++ sysc/Python-3.11.1/sources | 24 ++++++ sysc/run2.sh | 2 + 6 files changed, 160 insertions(+) create mode 100755 sysc/Python-3.11.1/Python-3.11.1.sh create mode 100644 sysc/Python-3.11.1/patches/empty-date.patch create mode 100644 sysc/Python-3.11.1/patches/multiarch.patch create mode 100644 sysc/Python-3.11.1/sources diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs index 90c4c1f..aec9052 100644 --- 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 new file mode 100755 index 0000000..c39ccae --- /dev/null +++ b/sysc/Python-3.11.1/Python-3.11.1.sh @@ -0,0 +1,94 @@ +# SPDX-FileCopyrightText: 2022 fosslinux +# +# 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 new file mode 100644 index 0000000..f11a67f --- /dev/null +++ b/sysc/Python-3.11.1/patches/empty-date.patch @@ -0,0 +1,20 @@ +SPDX-FileCopyrightText: 2022 fosslinux + +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 new file mode 100644 index 0000000..e3f2b28 --- /dev/null +++ b/sysc/Python-3.11.1/patches/multiarch.patch @@ -0,0 +1,19 @@ +SPDX-FileCopyrightText: 2022 fosslinux + +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 new file mode 100644 index 0000000..3a031dd --- /dev/null +++ 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 index c09c791..b14565d 100755 --- 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