live-bootstrap/steps/perl-5.36.3/pass1.sh
2025-10-06 12:21:53 +11:00

97 lines
3 KiB
Bash
Executable file

# SPDX-FileCopyrightText: 2025 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
chmod 644 cpan/Compress-Raw-Zlib/config.in
sed "s:%LIBDIR%:${LIBDIR}:" Compress-Raw-Zlib_config.in > cpan/Compress-Raw-Zlib/config.in
# Remove miscellaneous pregenerated files
rm -f Porting/Glossary \
dist/Devel-PPPort/parts/apidoc.fnc Configure config_h.SH \
cpan/Win32API-File/cFile.pc cpan/Sys-Syslog/win32/Win32.pm \
dist/ExtUtils-CBuilder/Makefile.PL \
cpan/Test-Simple/lib/Test2/Util/HashBase.pm
rm win32/perlexe.ico
rm -r cpan/Compress-Raw-Zlib/zlib-src
# Generated tests
rm cpan/Unicode-Collate/Collate/keys.txt
# Regenerate other prebuilt header files
# Taken from headers of regen scripts
rm -f lib/warnings.pm warnings.h regnodes.h reentr.h reentr.c \
overload.h opcode.h opnames.h pp_proto.h \
keywords.h embed.h embedvar.h perlapi.{c,h} \
proto.h lib/overload/numbers.pm regcharclass.h perly.{tab,h,act} \
mg_{raw.h,vtable.h} keywords.c l1_char_class_tab.h \
lib/feature.pm lib/B/Op_private.pm lib/unicore/uni_keywords.pl \
miniperlmain.c unicode_constants.h uni_keywords.h \
charclass_invlists.h ebcdic_tables.h mg_names.inc overload.inc \
packsizetables.inc
perl regen.pl
perl regen_perly.pl
perl regen/keywords.pl
perl regen/mk_PL_charclass.pl
perl regen/regcharclass.pl
perl regen/genpacksizetables.pl
perl regen/ebcdic.pl
perl regen/miniperlmain.pl
perl regen/unicode_constants.pl
perl lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
perl -Ilib regen/mk_invlists.pl
# regenerate configure
mconf_dir=$(echo ../metaconfig*)
ln -s "$mconf_dir"/.package .
ln -s "$mconf_dir"/U .
# TODO This shouldn't be necessary, but I don't know how to fix it properly
# The problem is that these files produce duplicates in config.h which
# makes autodoc.pl very unhappy
touch U/modified/{d_openat.U,d_vsnprintf.U,d_sched_yield.U} # null it
metaconfig -m
# Glossary
ln -s ../perl-* "$mconf_dir"/perl
"$mconf_dir"/U/mkglossary > Porting/Glossary
# Remove lines from MANIFEST that we have deleted
while read -r line; do
f="$(echo "${line}" | cut -d' ' -f1)"
if [ -e "${f}" ]; then
echo "${line}"
fi
done < MANIFEST > MANIFEST.new
mv MANIFEST.new MANIFEST
}
src_configure() {
./Configure -des \
-Dprefix="${PREFIX}" \
-Dcc=gcc \
-Dusedl=false \
-Ddate=':' \
-Dccflags="-U__DATE__ -U__TIME__" \
-Darchname="i386-linux" \
-Dmyhostname="(none)" \
-Dmaildomain="(none)"
}
src_compile() {
make "${MAKEJOBS}" pod/perlapi.pod
pushd dist/Devel-PPPort
perl devel/mkapidoc.pl
popd
default
}
src_install() {
default
# Remove messed up manpages
rm "${DESTDIR}/"*.0
}