commit: d1d422abc5ee8d6268d53edcb5357c0a3c8e95da
parent f34defc4858abb4511ab277f652333181c65d7e4
Author: fosslinux <fosslinux@aussies.space>
Date: Wed, 21 Dec 2022 14:16:44 +1100
Add Python-3.4.10
Diffstat:
5 files changed, 133 insertions(+), 0 deletions(-)
diff --git 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
@@ -0,0 +1,86 @@
+# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+#
+# 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
@@ -0,0 +1,22 @@
+SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
+
+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
@@ -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
@@ -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