diff --git a/sysa/SHA256SUMS.pkgs b/sysa/SHA256SUMS.pkgs index 4581661..4cb58c7 100644 --- a/sysa/SHA256SUMS.pkgs +++ b/sysa/SHA256SUMS.pkgs @@ -6,6 +6,7 @@ e3e79771785905e169a19d8b0d784e74e5acf75889ebba2e18fcfb3ac01012f2 Python-2.5.6_0 cabadffa45bbef9043dfb940a90ec90c0cd81876493e38657f63b15bdac67065 Python-3.1.5_0.tar.bz2 e25a6388869762a20aac39a67b51e0bdabec852ee41f1224ebac1c35fb6fdf16 Python-3.1.5_1.tar.bz2 d0ef6a98b24e036bfd4c72aa6ae24044d85772a661553f0db5d932eef397015a Python-3.3.7_0.tar.bz2 +d72f32aee9e492f4f83f84310948193e5720f3e4572c3c98c8180cca3516dfc0 Python-3.4.10_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.4.10/Python-3.4.10.sh b/sysc/Python-3.4.10/Python-3.4.10.sh new file mode 100755 index 0000000..8da80c1 --- /dev/null +++ b/sysc/Python-3.4.10/Python-3.4.10.sh @@ -0,0 +1,86 @@ +# SPDX-FileCopyrightText: 2022 fosslinux +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default + + # Delete generated files + rm Include/Python-ast.h Python/Python-ast.c + rm Lib/stringprep.py + rm Lib/pydoc_data/topics.py + rm -r Modules/_ctypes/libffi + rm Python/importlib.h + rm Modules/_ssl_data.h # Breaks _ssl module, but it fails anyways + mv Lib/plat-generic . + rm -r Lib/plat-* + mv plat-generic Lib/ + grep generated -r . -l | grep encodings | xargs rm + + # Regenerate encodings + mkdir Tools/unicode/in Tools/unicode/out + mv ../CP437.TXT Tools/unicode/in/ + pushd Tools/unicode + python gencodec.py in/ ../../Lib/encodings/ + popd + + # Regenerate clinic + find . -name "*.c" -or -name "*.h" | \ + xargs grep 'clinic input' -l | \ + xargs -L 1 python Tools/clinic/clinic.py + + # 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 + mv sre_constants.h Modules/ + + # Regenerate autoconf + autoreconf-2.71 -fi +} + +src_configure() { + CFLAGS="-U__DATE__ -U__TIME__" \ + LDFLAGS="-L/usr/lib/musl" \ + ./configure \ + --prefix="${PREFIX}" \ + --libdir="${PREFIX}/lib/musl" \ + --with-system-ffi +} + +src_compile() { + # Build pgen + make Parser/pgen + # Regen graminit.c and graminit.h + make Include/graminit.h + + # Regenerate some Python scripts using the other regenerated files + # Must move them out to avoid using Lib/ module files which are + # incompatible with running version of Python + cp Lib/{symbol,keyword,token}.py . + cp token.py _token.py + python symbol.py + python keyword.py + python token.py + + # Now build the main program + make CFLAGS="-U__DATE__ -U__TIME__" +} + +src_install() { + default + ln -s "${PREFIX}/lib/musl/python3.4/lib-dynload" "${DESTDIR}${PREFIX}/lib/python3.4/lib-dynload" + ln -s "${PREFIX}/bin/python3.4" "${DESTDIR}${PREFIX}/bin/python" + + # Remove non-reproducible .pyc/o files + find "${DESTDIR}" -name "*.pyc" -delete + find "${DESTDIR}" -name "*.pyo" -delete + + # This file is not reproducible and I don't care to fix it + rm "${DESTDIR}/${PREFIX}/lib/python3.4/lib2to3/"{Pattern,}"Grammar3.4.10.final.0.pickle" +} diff --git a/sysc/Python-3.4.10/patches/symbol.patch b/sysc/Python-3.4.10/patches/symbol.patch new file mode 100644 index 0000000..a2d0a96 --- /dev/null +++ b/sysc/Python-3.4.10/patches/symbol.patch @@ -0,0 +1,22 @@ +SPDX-FileCopyrightText: 2022 fosslinux + +SPDX-License-Identifier: PSF-2.0 + +token is in the standard library which takes precedence over files +in the path. Rename this file so we can actually import it. + +--- Lib/symbol.py 2022-12-19 21:52:07.101953334 +1100 ++++ Lib/symbol.py 2022-12-19 21:52:14.752082879 +1100 +@@ -102,10 +102,10 @@ + + def main(): + import sys +- import token ++ import _token + if len(sys.argv) == 1: + sys.argv = sys.argv + ["Include/graminit.h", "Lib/symbol.py"] +- token._main() ++ _token._main() + + if __name__ == "__main__": + main() diff --git a/sysc/Python-3.4.10/sources b/sysc/Python-3.4.10/sources new file mode 100644 index 0000000..8d4f14e --- /dev/null +++ b/sysc/Python-3.4.10/sources @@ -0,0 +1,22 @@ +https://www.python.org/ftp/python/3.4.10/Python-3.4.10.tar.xz d46a8f6fe91679e199c671b1b0a30aaf172d2acb5bcab25beb35f16c3d195b4e +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/6.3.0/ucd/UnicodeData.txt 3f76924f0410ca8ae0e9b5c59bd1ba03196293c32616204b393300f091f52013 UnicodeData-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/CompositionExclusions.txt 4ba8ea079ffbffc0025fc31009e95726864feda90d2845c9363c0c40ded8511c CompositionExclusions-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/EastAsianWidth.txt bbdf9281767ca4601af3623b62c26ecb834a9f4c46eec629d82339b006da00d8 EastAsianWidth-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/DerivedCoreProperties.txt 790826f4cfa82c5845ab4040b5e811f1e67bf1ec4c88cdbf722795c3292b0102 DerivedCoreProperties-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/DerivedNormalizationProps.txt c5e867ae043fe5d1cf713150d859356bfdcdba291c39f584af0bfb943f1a9743 DerivedNormalizationProps-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/LineBreak.txt 6a38069025127a60f4a809e788fbbd1bb6b95ac8d1bd62e6a78d7870357f3486 LineBreak-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/NameAliases.txt a11bed87ec6f264edcf84d581dd2d7ac8ed7ac1c3b2ccb54a83077fdbd34133e NameAliases-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/NamedSequences.txt 91fc69ff68b1a89e5f7270545547c747624bc96b0e6c23a791d4265d2fa1f988 NamedSequences-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/SpecialCasing.txt 9edafba261e23e72f6e21e3d85d7f15dd4866f38004ab3bfdc6f7057c589d034 SpecialCasing-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/CaseFolding.txt 21323e682a2b34400c6af4ab57b9775b7e716150428f092bac5b005a88ab8f42 CaseFolding-6.3.0.txt +http://ftp.unicode.org/Public/6.3.0/ucd/Unihan.zip 9e408d71e3aba4ff68f5085569bc1c31c9751f9779f55cf877c222467732991f Unihan-6.3.0.zip +http://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT 6bad4dabcdf5940227c7d81fab130dcb18a77850b5d79de28b5dc4e047b0aaac diff --git a/sysc/run2.sh b/sysc/run2.sh index f066682..de4dddd 100755 --- a/sysc/run2.sh +++ b/sysc/run2.sh @@ -119,6 +119,8 @@ build Python-3.1.5 stage2.sh build Python-3.3.7 +build Python-3.4.10 + if [ "$FORCE_TIMESTAMPS" = True ] ; then echo 'Forcing all files timestamps to be 0 unix time.' canonicalise_all_files_timestamp