live-bootstrap/sysc/python-2.0.1/stage2.sh

69 lines
1.8 KiB
Bash
Executable File

# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
# Delete generated files
rm Modules/glmodule.c
mv Lib/plat-generic .
rm -r Lib/plat-*
mv plat-generic Lib/
grep generated -r . -l | grep encodings | xargs rm
# Regenerate unicode
rm Modules/unicodedata_db.h Objects/unicodetype_db.h
mv ../UnicodeData-3.0.0.txt UnicodeData-Latest.txt
python Tools/unicode/makeunicodedata.py
# Regenerate sre_constants.h
rm Modules/sre_constants.h
python Lib/sre_constants.py
# Regenerate autoconf
autoreconf-2.71 -fi
}
src_configure() {
MACHDEP=linux ac_sys_system=Linux \
./configure \
--prefix="${PREFIX}" \
--libdir="${PREFIX}/lib/musl"
}
src_compile() {
# Build pgen
pushd Parser
make pgen
popd
# Regen graminit.c and graminit.h
pushd Grammar
make graminit.c
popd
# Regenerate some Python scripts using the other regenerated files
gcc -o keyword keyword.c
gcc -o token token.c
# This gets all of the grammar tokens
grep -E '\{1, "[^"]+"' Python/graminit.c | ./keyword > Lib/keyword.py.new
mv Lib/keyword.py.new Lib/keyword.py
./token Lib/symbol.py < Include/graminit.h > Lib/symbol.py.new
mv Lib/symbol.py.new Lib/symbol.py
# These get all of the #defines that have to be translated
grep '#define[[:space:]][A-Z]*[[:space:]][[:space:]]*[0-9][0-9]*' Include/token.h | ./token Lib/token.py > Lib/token.py.new
mv Lib/token.py.new Lib/token.py
# Now build the main program
make
}
src_install() {
mkdir -p "${DESTDIR}/usr"
default
# Remove non-reproducible .pyc/o files
find "${DESTDIR}" -name "*.pyc" -delete
find "${DESTDIR}" -name "*.pyo" -delete
}