Merge pull request #117 from fosslinux/newperl

New Perl
This commit is contained in:
Andrius Štikonas 2021-05-25 22:58:27 +01:00 committed by GitHub
commit 059ba1afc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 1425 additions and 6 deletions

File diff suppressed because one or more lines are too long

49
LICENSES/Artistic-1.0.txt Normal file
View File

@ -0,0 +1,49 @@
The Artistic License
Preamble
The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
Definitions:
"Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
"Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
"Copyright Holder" is whoever is named in the copyright or copyrights for the package.
"You" is you, if you're thinking about copying or distributing this Package.
"Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
"Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
b) use the modified Package only within your corporation or organization.
c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
b) accompany the distribution with the machine-readable source of the Package with your modifications.
c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package.
8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The End

File diff suppressed because one or more lines are too long

View File

@ -63,3 +63,13 @@ c6c37e888b136ccefab903c51149f4b7bd659d69d4aea21245f61053a57aa60a tar-1.12.tar.g
de23af78fca90ce32dff2dd45b3432b2334740bb9bb7b05bf60fdbfc396ceb9c tcc-0.9.27.tar.bz2
1b700d375e253e88bdf79caa244284a899b80f59fd64fdd3aaa6408b7bd715ae untar.c
166c48d2842519bc4f96333bff9e265f8cdda44d38e40594ef3f9bbb52890490 xz-5.0.5.tar.bz2
c40385e142989c91989413f3c5a31282b2ffdca16b69cd3ecfde537b8a474921 flex-2.5.33.tar.gz
b10d7e9e354be72aee4e4911cf19dd27b5c527d4e7200857365b5fcdeea0dffb bison-2.3.tar.bz2
0190f28cb155fedd22bf8558c3e8705eed9eacfb7ae29e7508d025a68eb90899 gnulib-b28236b.tar.gz
9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826 perl-5.10.1.tar.bz2
54437ae4211867de7ad55723f68b94c29cb2f08a23f431e0bbbc9f34ee384f47 dist-3.5-236.tar.gz
e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7 make-4.2.1.tar.gz
27d05534699735dc69e86add5b808d6cb35900ad3fd63fa82e3eb644336abfa0 bison-3.4.2.tar.xz
8cced51f89a950472473856f86e88f5daf97a2347756125ccdc8ee907deec570 gnulib-672663a.tar.gz
57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 perl-5.32.1.tar.xz
3ec396d97debb6c1a112c1c6ff58b03a55866b75cd4fe06b74295ac9c5fc5ff2 perl-5f2dc80.tar.bz2

View File

@ -604,6 +604,15 @@ tar 1.34
Newer tar has better support for decompressing .tar.bz2 and .tar.xz archives.
It also deals better with modern tar archives with extra metadata.
make 4.2.1
==========
A newer version of make built using autotools is much more reliable and is
compiled using a modern C compiler and C library. This removes a couple of
segfaults encountered later in the process and allows more modern make features
to be used. We do not go for the latest because of the use of automake 1.16
which we do not have yet.
gmp 6.2.1
=========
@ -631,3 +640,46 @@ mpc 3.2.1
GNU MPC is a library for multiprecision complex arithmetic with exact rounding based
on GNU MPFR.
flex 2.5.33
===========
An older version of flex is required for bison 2.3. We cannot use 2.5.11 that
was compiled much earlier, as it does not produce reproducible output when
building bison 2.3.
bison 2.3
=========
This is an older version of bison required for the bison files in perl 5.10.1.
We backwards-bootstrap this from 3.4.1, using 3.4.1 to compile the bison files
in 2.3. This parser works sufficiently well for perl 5.10.5.
bison 3.4.2
===========
Bison 3.4.1 is buggy and segfaults when perl 5.32.1 is built. This is probably
because it was built with a hand-written makefile. We do not build the latest
bison because perl 5.32.1 requires bison <= 3.4.2.
perl 5.10.1
===========
Perl 5.10.1 is an intermediate version used before Perl 5.32. We require this
version as it adds a couple of modules into lib/ required to regenerate files in
Perl 5.32. We still use the Makefile instead of the metaconfig strategy, as
metaconfig history becomes poor more than a few years back.
dist 3.5-236
============
dist is perl's package used for generating Perl's Configure (which is written in
Perl itself). We 'compile' (aka generate) metaconfig and manifake only from dist.
We do not use dist's build system because it itself uses dist.
perl 5.32.1
===========
We finally compile a full version of Perl using Configure. This includes all base
extensions required and is the latest version of Perl. We are now basically able
to run any Perl application we want.

26
sysa.py
View File

@ -446,6 +446,9 @@ class SysA:
self.get_file(["https://mirrors.kernel.org/gnu/tar/tar-1.34.tar.xz",
"https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-30820c.tar.gz"])
# make 4.2.1
self.get_file("https://ftp.gnu.org/gnu/make/make-4.2.1.tar.gz")
# gmp 6.2.1
self.get_file("https://mirrors.kernel.org/gnu/gmp/gmp-6.2.1.tar.xz")
@ -457,3 +460,26 @@ class SysA:
# mpc 1.2.1
self.get_file("https://mirrors.kernel.org/gnu/mpc/mpc-1.2.1.tar.gz")
# flex 2.5.33
self.get_file("http://download.nust.na/pub2/openpkg1/sources/DST/flex/flex-2.5.33.tar.gz")
# bison 2.3
self.get_file(["https://mirrors.kernel.org/gnu/bison/bison-2.3.tar.bz2",
"https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-b28236b.tar.gz"])
# bison 3.4.2
self.get_file(["https://mirrors.kernel.org/gnu/bison/bison-3.4.2.tar.xz",
"https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-672663a.tar.gz"])
# perl 5.10.5
self.get_file("https://www.cpan.org/src/5.0/perl-5.10.1.tar.bz2")
# dist 3.5-236
# Debian's version is used because upstream is not to be found (dead?)
self.get_file("https://salsa.debian.org/perl-team/interpreter/dist/-/archive/d1de81f/dist-d1de81f.tar.gz",
output="dist-3.5-236.tar.gz")
# perl 5.32.1
self.get_file(["https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz",
"https://salsa.debian.org/perl-team/interpreter/perl/-/archive/5f2dc80/perl-5f2dc80.tar.bz2"])

32
sysa/bison-2.3/bison-2.3.sh Executable file
View File

@ -0,0 +1,32 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
../../import-gnulib.sh
AUTOPOINT=true autoreconf-2.65 -fi
# Remove pregenerated files
rm src/parse-gram.c src/parse-gram.h src/scan-skel.c src/scan-gram.c
# Remove pregenerated .info
rm doc/bison.info
}
src_configure() {
LEX=flex-2.5.33 ./configure \
--prefix="${PREFIX}" \
--program-suffix=-2.3 \
--datarootdir="${PREFIX}/share/bison-2.3"
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make MAKEINFO=true DESTDIR="${DESTDIR}" install
}

1
sysa/bison-2.3/checksums Normal file
View File

@ -0,0 +1 @@
1064ce45a402e6dcadf2a01e4aa55743ee45a7124ce4ba580d80e75f49af1ff8 /after/bin/bison-2.3

55
sysa/bison-2.3/import-gnulib.sh Executable file
View File

@ -0,0 +1,55 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set -e
gnulib_modules='
argmatch
dirname
error
exitfail
extensions
getopt
gettext
hard-locale
hash
malloc
mbswidth
obstack
quote
quotearg
stdbool
stdio-safer
strerror
strtoul
strverscmp
unistd-safer
unlocked-io
verify
xalloc
xalloc-die
xstrndup
'
# Copy over needed files
for i in ${gnulib_modules}; do
for f in $(../gnulib-b28236b/gnulib-tool --extract-filelist "${i}") \
lib/wcwidth.h; do
cp -pf "../gnulib-b28236b/${f}" "./${f}"
done
done
# Generate the things
(echo '# This file is generated automatically by "bootstrap".' &&
echo 'AC_DEFUN([GNULIB_AUTOCONF_SNIPPET],[' &&
../gnulib-b28236b/gnulib-tool --extract-autoconf-snippet $gnulib_modules &&
echo '])'
) > m4/gnulib.m4
(echo '# This file is generated automatically by "bootstrap".' &&
../gnulib-b28236b/gnulib-tool --extract-automake-snippet $gnulib_modules |
sed 's/^[ ]*AM_CPPFLAGS[ ]*+=/# (commented out by bootstrap) &/'
) > lib/gnulib.mk

View File

@ -0,0 +1,17 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-or-later
This macro does not exist in newer versions of autoconf and is unrequired.
There is no verion of autoconf supporting this project + gnulib + this macro.
--- m4/po_gl.m4 2021-04-11 18:39:53.353069610 +1000
+++ m4/po_gl.m4 2021-04-11 18:40:20.422242498 +1000
@@ -24,7 +24,6 @@
[
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
AC_REQUIRE([AM_NLS])dnl
dnl Perform the following tests also if --disable-nls has been given,

View File

@ -0,0 +1,18 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-or-later
fopen-safer.c for whatever reason does not exist when added by gnulib.
--- lib/Makefile.am 2021-04-11 19:01:01.265993928 +1000
+++ lib/Makefile.am 2021-04-11 19:01:40.413232722 +1000
@@ -32,7 +32,8 @@
lib_SOURCES = \
get-errno.h get-errno.c \
subpipe.h subpipe.c \
- $(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources)
+ $(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources) \
+ fopen-safer.c
# Implementation of bitsets
bitsets_sources = \

View File

@ -0,0 +1,17 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-or-later
This should be declared for gnulib, but for some reason is not, most likely
use of a different version (but CVS history no longer exists).
--- lib/Makefile.am 2021-04-11 13:49:09.414805465 +1000
+++ lib/Makefile.am 2021-04-11 13:49:26.418916036 +1000
@@ -19,6 +19,7 @@
BUILT_SOURCES =
EXTRA_DIST =
+EXTRA_lib_SOURCES =
MOSTLYCLEANFILES =
lib_LIBRARIES = $(YACC_LIBRARY)

View File

@ -0,0 +1,20 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-2.0-or-later
This doesn't actually make sense, you can't use the built bison to bootstrap
itself. Make it use our bison instead.
--- src/Makefile.am 2021-04-10 21:37:11.570390316 +1000
+++ src/Makefile.am 2021-04-10 21:38:01.805804332 +1000
@@ -23,10 +23,6 @@
LDADD = ../lib/libbison.a $(LIBINTL)
-# Use our own Bison to build the parser. Of course, you ought to
-# keep a sane version of Bison nearby...
-YACC = ../tests/bison -y
-
bin_PROGRAMS = bison
bin_SCRIPTS = $(YACC_SCRIPT)
EXTRA_SCRIPTS = yacc

32
sysa/bison-3.4.2/bison-3.4.2.sh Executable file
View File

@ -0,0 +1,32 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
# Remove pre-generated flex/bison files
rm src/parse-gram.c src/parse-gram.h
rm src/scan-code.c
rm src/scan-gram.c
rm src/scan-skel.c
# Remove pregenerated info files
rm doc/bison.info
../../import-gnulib.sh
AUTOPOINT=true autoreconf -fi
}
src_configure() {
./configure --prefix="${PREFIX}" --disable-nls
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make MAKEINFO=true DESTDIR="${DESTDIR}" install
}

View File

@ -0,0 +1 @@
be6311f33f8dce01a5683b525b178f8d441c4ed2916ee19c64a0c43f8223e9cc /after/bin/bison

View File

@ -0,0 +1,91 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
../gnulib-672663a/gnulib-tool --import --local-dir=gl \
--lib=libbison \
--source-base=lib \
--m4-base=m4 \
--po-base=gnulib-po \
--doc-base=doc \
--tests-base=tests \
--aux-dir=build-aux \
--makefile-name=gnulib.mk \
--conditional-dependencies \
--no-libtool \
--macro-prefix=gl \
--po-domain=bison \
argmatch \
array-list \
assert \
assure \
bitsetv \
c-strcase \
calloc-posix \
close \
closeout \
config-h \
configmake \
dirname \
error \
extensions \
fdl \
fopen-safer \
fprintf-posix \
getopt-gnu \
gettext-h \
git-version-gen \
gitlog-to-changelog \
gpl-3.0 \
inttypes \
isnan \
javacomp-script \
javaexec-script \
ldexpl \
libtextstyle-optional \
mbswidth \
non-recursive-gnulib-prefix-hack \
obstack \
obstack-printf \
perror \
printf-posix \
progname \
quote \
quotearg \
readme-release \
realloc-posix \
relocatable-prog \
relocatable-script \
rename \
snprintf-posix \
spawn-pipe \
sprintf-posix \
stdbool \
stpcpy \
strdup-posix \
strerror \
strverscmp \
timevar \
unistd \
unistd-safer \
unlink \
unlocked-io \
unsetenv \
update-copyright \
verify \
vsnprintf-posix \
vsprintf-posix \
warnings \
xalloc \
xalloc-die \
xconcat-filename \
xhash \
xlist \
xmemdup0 \
xstrndup
../gnulib-672663a/build-aux/prefix-gnulib-mk \
--lib-name=libbison \
lib/gnulib.mk

View File

@ -0,0 +1,17 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-3.0-or-later
Again, same as bison 2.3. I cannot figure out what gnulib/bison are doing
that makes this required...
--- Makefile.am 2021-04-15 12:18:34.371818904 +1000
+++ Makefile.am 2021-04-15 12:18:39.055851647 +1000
@@ -63,6 +63,7 @@
check_SCRIPTS =
dist_TESTS =
noinst_LIBRARIES =
+lib_libbison_a_SOURCES =
include build-aux/local.mk
include data/local.mk

View File

@ -0,0 +1,18 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-3.0-or-later
Why do they insist on using themselves to bootstrap themselves? It dosen't
exist...
--- Makefile.am 2021-04-15 21:29:36.596205032 +1000
+++ Makefile.am 2021-04-15 21:30:00.367365897 +1000
@@ -39,7 +39,7 @@
## Running the bison from this tarball. To generate our own parser,
## but also to run the tests. Of course, you ought to keep a sane
## version of Bison nearby...
-BISON = $(top_builddir)/tests/bison
+BISON = /after/bin/bison
BISON_IN = $(top_srcdir)/tests/bison.in
YACC = $(BISON) -o y.tab.c
AM_YFLAGS_WITH_LINES = --defines -Werror -Wall --report=all

View File

@ -0,0 +1,25 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-3.0-or-later
We don't have network access at this stage to "Fetch PO files".
--- ../gnulib-672663a/gnulib-tool 2021-04-15 21:07:04.538055553 +1000
+++ ../gnulib-672663a/gnulib-tool 2021-04-15 21:07:16.424135984 +1000
@@ -5564,16 +5564,6 @@
fi
func_append added_files "$pobase/POTFILES.in$nl"
fi
- # Fetch PO files.
- TP_URL="https://translationproject.org/latest/"
- if $doit; then
- echo "Fetching gnulib PO files from $TP_URL"
- (cd "$destdir"/$pobase \
- && wget --no-verbose --mirror --level=1 -nd -A.po -P . "${TP_URL}gnulib/"
- )
- else
- echo "Fetch gnulib PO files from $TP_URL"
- fi
# Create po/LINGUAS.
if $doit; then
func_dest_tmpfilename $pobase/LINGUAS

View File

@ -18,3 +18,10 @@ src_prepare() {
cp "${mk_dir}/pass2.mk" Makefile
}
src_install() {
default
# perl later requires /bin/pwd
ln -s /after/bin/pwd /bin/pwd
}

View File

@ -0,0 +1,2 @@
367fe021db63c7ef39357af01a252bed6e2d4ccc928e6a9dbc42592c3a6b1a5d /after/bin/metaconfig
a7c30101cc041d1ffd0e9d4c940885ac31c78a9a066a56b1c33e166f75ff1a17 /after/bin/manifake

View File

@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# We manually compile here because ./Configure uses metaconfig itself
# *sigh*
src_prepare() {
default
sed 's/@PERLVER@/5.10.1/' config.sh.in > config.sh
}
src_compile() {
cd mcon
./mconfig.SH
perl ../bin/perload -o mconfig > metaconfig
cd ..
cd kit
./manifake.SH
cd ..
}
src_install() {
install mcon/metaconfig "${PREFIX}/bin/"
install kit/manifake "${PREFIX}/bin/"
cp -r mcon/U/ "${PREFIX}/lib/perl5/5.10.1/"
}

View File

@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
eunicefix=':'
grep='grep'
privlib='/after/lib/perl5/@PERLVER@'
VERSION='3'
ENV='env'
PATCHLEVEL='5'
spitshell='cat'

View File

@ -0,0 +1,5 @@
// SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
//
// SPDX-License-Identifier: GPL-3.0-or-later
#define REVISION "236"

View File

@ -0,0 +1,17 @@
This is not valid Perl, I don't really understand why it is here anyway.
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: Artistic-1.0
--- bin/perload 2021-04-21 19:01:35.803767498 +1000
+++ bin/perload 2021-04-21 19:01:47.959850217 +1000
@@ -450,8 +450,6 @@
:# This perl program uses dynamic loading [generated by perload]
:#
:
-:$ENV{LC_ALL} = 'C';
-:
EOC
$init_emitted = 1;
}

View File

@ -0,0 +1 @@
8f497d6d82df2c6638654f43630559df83444d32f8e690109387d16db1d8d889 /after/bin/flex-2.5.33

29
sysa/flex-2.5.33/flex-2.5.33.sh Executable file
View File

@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
AUTOPOINT=true autoreconf -fi
# Remove pregenerated files
rm parse.c parse.h scan.c
# Remove pregenerated .info
rm doc/flex.info
}
src_configure() {
./configure \
--prefix="${PREFIX}" \
--program-suffix=-2.5.33
}
src_compile() {
make MAKEINFO=true
}
src_install() {
make MAKEINFO=true DESTDIR="${DESTDIR}" install
}

View File

@ -17,12 +17,14 @@ export PATH=/after/bin
# 2) optionally specify build script. Default is name-version.sh
# 3) optionally specify name of checksum file. Default is checksums
# 4) directory of patches. Default is patches
# 5) directory to cd into. Default is ${pkg}
build () {
pkg=$1
script_name=${2:-${pkg}.sh}
checksum_f=${3:-checksums}
dirname=${5:-${pkg}}
cd "$pkg" || (echo "Cannot cd into ${pkg}!"; kill $$)
cd "${PREFIX}/${pkg}" || (echo "Cannot cd into ${pkg}!"; kill $$)
echo "${pkg}: beginning build using script ${script_name}"
base_dir="${PWD}"
patch_dir="${base_dir}/${4:-patches}"
@ -44,7 +46,7 @@ build () {
build_stage=src_unpack
call $build_stage
cd "${pkg}" || (echo "Cannot cd into build/${pkg}!"; kill $$)
cd "${dirname}" || (echo "Cannot cd into build/${dirname}!"; kill $$)
echo "${pkg}: preparing source."
build_stage=src_prepare
@ -62,13 +64,13 @@ build () {
build_stage=src_install
call $build_stage
cd ../..
cd "${PREFIX}/${pkg}"
echo "${pkg}: checksumming installed files."
test -e "${checksum_f}" && sha256sum -c "${checksum_f}"
echo "${pkg}: build successful"
cd ..
cd "${PREFIX}"
unset -f src_unpack src_prepare src_configure src_compile src_install
}

View File

@ -0,0 +1 @@
c52511b504311f960636173d825a985ac551f6254fb85dced27fdae74ee652c4 /after/bin/make

30
sysa/make-4.2.1/make-4.2.1.sh Executable file
View File

@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
rm doc/make.info
touch doc/make.info
# We don't have autopoint from gettext yet
AUTOPOINT=true autoreconf -fi
}
src_configure() {
./configure \
--prefix="${PREFIX}" \
--target=i386-unknown-linux-gnu \
--host=i386-unknown-linux-gnu \
--build=i386-unknown-linux-gnu \
--disable-nls
}
src_compile() {
make MAKEINFO="true"
}
src_install() {
make install MAKEINFO="true" DESTDIR="${DESTDIR}"
}

View File

@ -0,0 +1,28 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: GPL-3.0-or-later
pkg-config is not yet avaliable.
--- configure.ac 2021-04-21 17:02:44.864090500 +1000
+++ configure.ac 2021-04-21 17:03:31.468411937 +1000
@@ -160,19 +160,9 @@
AC_FUNC_CLOSEDIR_VOID
# See if the user wants to add (or not) GNU Guile support
-PKG_PROG_PKG_CONFIG
AC_ARG_WITH([guile], [AS_HELP_STRING([--with-guile],
[Support GNU Guile for embedded scripting])])
-# For some strange reason, at least on Ubuntu, each version of Guile
-# comes with it's own PC file so we have to specify them as individual
-# packages. Ugh.
-AS_IF([test "x$with_guile" != xno],
-[ PKG_CHECK_MODULES([GUILE], [guile-2.0], [have_guile=yes],
- [PKG_CHECK_MODULES([GUILE], [guile-1.8], [have_guile=yes],
- [have_guile=no])])
-])
-
AS_IF([test "$have_guile" = yes],
[AC_DEFINE([HAVE_GUILE], [1], [Embed GNU Guile support])])

View File

@ -0,0 +1 @@
2d311726e861cc74d1e3e0b329f49be20e1b1832f02518bea201a927ec3c4c6c /after/bin/perl

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
# SPDX-License-Identifier: GPL-3.0-or-later
ar='ar'
cc='gcc'
ldlibpthname='LD_LIBRARY_PATH'
libpth='/after/lib'
path_sep=':'
archname='i386'
osvers=''
byteorder='12345678'
x=''
ivsize='4'
ivtype='long'
lib_ext='.a'
_a='.a'
PERL_CONFIG_SH=true

137
sysa/perl-5.10.1/mk/main.mk Normal file
View File

@ -0,0 +1,137 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-License-Identifier: GPL-3.0-or-later
# Note: This makefile is not currently parallel-safe.
VERSION=5.10.1
PRIVLIB_EXP=$(PREFIX)/lib/perl5/$(VERSION)
CC = gcc
AR = ar
CFLAGS = -DPRIVLIB_EXP=\"$(PRIVLIB_EXP)\" \
-DPERL_CORE=1 \
-I. \
-DVERSION=\"$(VERSION)\" \
-DNO_PPPORT_H
MINICFLAGS = -DPERL_EXTERNAL_GLOB
.PHONY: all
LIBPERL_SRC = av scope op doop doio dump gv hv mg reentr mro perl perly pp \
pp_hot pp_ctl pp_sys regcomp regexec utf8 sv taint toke util \
deb run universal xsutils pad globals perlio perlapi numeric \
mathoms locale pp_pack pp_sort
LIBPERL_OBJ = $(addsuffix .o, $(LIBPERL_SRC))
EXTENSIONS = File/Glob Digest/SHA Data/Dumper Cwd
EXTENSIONS_A := $(foreach f,$(EXTENSIONS), lib/auto/$f/$(notdir $f).a)
EXTENSIONS_PM = ext/File/Glob/Glob.pm ext/Digest/SHA/lib/Digest/SHA.pm \
ext/Data/Dumper/Dumper.pm
all: perl
# miniperl
opmini.c: op.c
cp op.c opmini.c
perlmini.c: perl.c
cp perl.c perlmini.c
generate_uudmap: generate_uudmap.o
$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $@
uudmap.h: generate_uudmap
./generate_uudmap > $@
git_version.h: lib/Config_git.pl
lib/Config_git.pl:
perl make_patchnum.pl
globals.o: uudmap.h
perl.o: git_version.h
perlmini.o: git_version.h
libperl.a: $(LIBPERL_OBJ)
$(AR) cr $@ $^
miniperl: miniperlmain.o opmini.o perlmini.o libperl.a
$(CC) $(CFLAGS) $(MINICFLAGS) $^ $(LDFLAGS) -o $@
# An extremely dodgy hack
sed -i 's/va\.a\.a/v5.8.1/' miniperl
chmod +x miniperl
# full perl
lib/re.pm:
cp ext/re/re.pm lib/re.pm
lib/Config.pm: config.sh miniperl configpm lib/re.pm
./miniperl -Ilib configpm
writemain: writemain.SH
spitshell=cat eunicefix=true ./$<
perlmain.c: writemain $(EXTENSIONS_A)
./writemain $(EXTENSIONS_A) > $@
perl: perlmain.o libperl.a $(EXTENSIONS_A) lib/File/Glob.pm lib/Digest/SHA.pm \
lib/DynaLoader.pm lib/XSLoader.pm lib/Data/Dumper.pm
$(CC) $(CFLAGS) perlmain.o libperl.a $(EXTENSIONS_A) -o $@
# An extremely dodgy hack (v2)
sed -i 's/va\.a\.a/v5.8.1/' perl
chmod +x perl
# extensions
autosplit.pl: lib/re.pm lib/Config.pm miniperl
echo 'use AutoSplit; autosplit_lib_modules(@ARGV)' > $@
ext/DynaLoader/DynaLoader.pm: miniperl lib/Config.pm
./miniperl -Ilib ext/DynaLoader/DynaLoader_pm.PL DynaLoader.pm
mv DynaLoader.pm $@
ext/DynaLoader/XSLoader.pm: miniperl lib/Config.pm
./miniperl -Ilib ext/DynaLoader/XSLoader_pm.PL XSLoader.pm
mv XSLoader.pm $@
lib/DynaLoader.pm: ext/DynaLoader/DynaLoader.pm
install $< $@
lib/XSLoader.pm: ext/DynaLoader/XSLoader.pm
install $< $@
lib/File/Glob.pm: ext/File/Glob/Glob.pm
install $< $@
lib/Digest/SHA.pm: ext/Digest/SHA/lib/Digest/SHA.pm
install $< $@
lib/Data:
mkdir $@
lib/Data/Dumper.pm: ext/Data/Dumper/Dumper.pm lib/Data
install $< $@
define build_rule
lib/auto/$1/$(notdir $1).a: ext/$1/$(notdir $1).o $(patsubst %.c,%.o,$(wildcard ext/$1/*.c)) $(EXTENSIONS_PM)
mkdir -p lib/auto/$1
$(AR) cr lib/auto/$1/$(notdir $1).a ext/$1/$(notdir $1).o $(patsubst %.c,%.o,$(wildcard ext/$1/*.c))
ext/$1/$(notdir $1).c: miniperl lib/Config.pm
cd ext/$1; \
$(CURDIR)/miniperl -I$(CURDIR)/lib Makefile.PL; \
$(CURDIR)/miniperl -I$(CURDIR)/lib $(CURDIR)/lib/ExtUtils/xsubpp -noprototypes -typemap $(CURDIR)/lib/ExtUtils/typemap `echo $(notdir $1) | sed 's/.*-//'`.xs > $(notdir $1).c
endef
$(foreach f,$(EXTENSIONS),$(eval $(call build_rule,$f)))
install: all
install perl "$(DESTDIR)$(PREFIX)/bin/perl"
mkdir -p "$(DESTDIR)$(PRIVLIB_EXP)"
cp -r lib/* "$(DESTDIR)$(PRIVLIB_EXP)"

View File

@ -0,0 +1,124 @@
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
SPDX-License-Identifier: Artistic-1.0-Perl
There are a bunch of aliases that perl's build system somehow makes but
I'm not sure how to appropriately do them, so just patch them.
--- lib/ExtUtils/Constant.pm 2021-04-20 21:06:43.272663878 +1000
+++ lib/ExtUtils/Constant.pm 2021-04-20 21:07:11.116805426 +1000
@@ -253,11 +253,11 @@
switch (type) {
case PERL_constant_NOTFOUND:
sv =
- sv_2mortal(newSVpvf("%s is not a valid $package_sprintf_safe macro", s));
+ sv_2mortal(Perl_newSVpvf("%s is not a valid $package_sprintf_safe macro", s));
PUSHs(sv);
break;
case PERL_constant_NOTDEF:
- sv = sv_2mortal(newSVpvf(
+ sv = sv_2mortal(Perl_newSVpvf(
"Your vendor has not defined $package_sprintf_safe macro %s, used",
s));
PUSHs(sv);
@@ -288,7 +288,7 @@
}
$xs .= << "EOT";
default:
- sv = sv_2mortal(newSVpvf(
+ sv = sv_2mortal(Perl_newSVpvf(
"Unexpected return type %d while processing $package_sprintf_safe macro %s, used",
type, s));
PUSHs(sv);
--- ext/Data-Dumper/Dumper.xs 2009-06-11 02:42:23.000000000 +1000
+++ ext/Data-Dumper/Dumper.xs 2021-04-21 18:19:32.548468344 +1000
@@ -312,7 +312,7 @@
{
dSP; ENTER; SAVETMPS; PUSHMARK(sp);
XPUSHs(val); PUTBACK;
- i = perl_call_method(SvPVX_const(freezer), G_EVAL|G_VOID);
+ i = call_method(SvPVX_const(freezer), G_EVAL|G_VOID);
SPAGAIN;
if (SvTRUE(ERRSV))
warn("WARNING(Freezer method call failed): %"SVf"", ERRSV);
@@ -515,7 +515,7 @@
SV * const ixsv = newSViv(0);
/* allowing for a 24 char wide array index */
- New(0, iname, namelen+28, char);
+ Newx(iname, namelen+28, char);
(void)strcpy(iname, name);
inamelen = namelen;
if (name[0] == '@') {
@@ -660,7 +660,7 @@
if (sortkeys != &PL_sv_yes) {
dSP; ENTER; SAVETMPS; PUSHMARK(sp);
XPUSHs(sv_2mortal(newRV_inc(ival))); PUTBACK;
- i = perl_call_sv(sortkeys, G_SCALAR | G_EVAL);
+ i = call_sv(sortkeys, G_SCALAR | G_EVAL);
SPAGAIN;
if (i) {
sv = POPs;
@@ -745,7 +745,7 @@
}
else {
nticks = num_q(key, klen);
- New(0, nkey_buffer, klen+nticks+3, char);
+ Newx(nkey_buffer, klen+nticks+3, char);
nkey = nkey_buffer;
nkey[0] = '\'';
if (nticks)
@@ -772,7 +772,7 @@
char *extra;
I32 elen = 0;
newapad = newSVsv(apad);
- New(0, extra, klen+4+1, char);
+ Newx(extra, klen+4+1, char);
while (elen < (klen+4))
extra[elen++] = ' ';
extra[elen] = '\0';
@@ -829,7 +829,7 @@
char *npack;
char *npack_buffer = NULL;
- New(0, npack_buffer, plen+pticks+1, char);
+ Newx(npack_buffer, plen+pticks+1, char);
npack = npack_buffer;
plen += esc_q(npack, realpack, plen);
npack[plen] = '\0';
@@ -903,7 +903,7 @@
if (len > 10) {
/* Looks like we're on a 64 bit system. Make it a string so that
if a 32 bit system reads the number it will cope better. */
- sv_catpvf(retval, "'%s'", tmpbuf);
+ Perl_sv_catpvf(retval, "'%s'", tmpbuf);
} else
sv_catpvn(retval, tmpbuf, len);
}
@@ -1036,7 +1036,7 @@
if (!SvROK(href)) { /* call new to get an object first */
if (items < 2)
- croak("Usage: Data::Dumper::Dumpxs(PACKAGE, VAL_ARY_REF, [NAME_ARY_REF])");
+ Perl_croak_nocontext("Usage: Data::Dumper::Dumpxs(PACKAGE, VAL_ARY_REF, [NAME_ARY_REF])");
ENTER;
SAVETMPS;
@@ -1047,7 +1047,7 @@
if (items >= 3)
XPUSHs(sv_2mortal(newSVsv(ST(2))));
PUTBACK;
- i = perl_call_method("new", G_SCALAR);
+ i = call_method("new", G_SCALAR);
SPAGAIN;
if (i)
href = newSVsv(POPs);
@@ -1234,7 +1234,7 @@
SvREFCNT_dec(valstr);
}
else
- croak("Call to new() method failed to return HASH ref");
+ Perl_croak_nocontext("Call to new() method failed to return HASH ref");
if (gimme == G_SCALAR)
XPUSHs(sv_2mortal(retval));
}

36
sysa/perl-5.10.1/perl-5.10.1.sh Executable file
View File

@ -0,0 +1,36 @@
# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default_src_prepare
# Regenerate bison files
# perly.c looks suspiciously like it is from bison, but is not; from the
# below script:
# Note that perly.c is *not* regenerated - this is now a static file which
# is not dependent on perly.y any more.
perl regen_perly.pl -b bison-2.3
# Remove the source file so make works.
rm perly.y
# Regenerate other prebuilt header files
# Taken from headers of regen scripts
rm lib/warnings.pm warnings.h regnodes.h reentr.h reentr.c overload.h \
overload.c lib/overload/numbers.pm opcode.h opnames.h pp_proto.h \
pp.sym keywords.h embed.h embedvar.h global.sym perlapi.c perlapi.h \
proto.h
perl regen.pl
mkdir -p ext/File ext/Digest ext/Data
mv ext/File-Glob ext/File/Glob
mv ext/Digest-SHA ext/Digest/SHA
mv ext/Data-Dumper ext/Data/Dumper
}
src_install() {
# Remove old perl
rm -rf "${PREFIX}"/lib/perl5/
default
}

View File

@ -0,0 +1,81 @@
5dc92a9450e0fdccf6b381a5dc370aee1c51afa8d75c507b909c56184d0f0358 /after/bin/pod2man
26f0c107f0d65ac9ed4bf1eee43f0ee64ff6b474f52a4f62d3f5f25e1a1fd805 /after/bin/pod2text
03197a1fc4cef1248c78a7de614ed6265f23da857e58c9c2de590c261218db46 /after/bin/pod2usage
7ff07183a290e7f04fa576bee4f97c773c53db36715cef7f47df401c217b00af /after/bin/podchecker
7c0780e7fd0bdb3866b5b849699fd5b5c695287423d0c87a5bd7819cf3a25eb8 /after/bin/cpan
0f4425db23a90632732166f8b0caae3ce29ad885b64fd6c989c3b2977534545a /after/bin/corelist
270a6cc0d3fa955ab852a87ea3e2f7b7a423561ab87d57ee7874ff40eb07f55b /after/bin/enc2xs
57b186f90c7b54bfc922568cb806af3028969a7937856399bad1f528fca1d034 /after/bin/encguess
20f9172d837eab89c648e6118143a2a714cfdebe9f64e6c98145ce1126b1dfc4 /after/bin/h2ph
9f24f685b8f1e0f7ea6ede4ae4c79a87ea082503d21b1fb73eb5f41453c94382 /after/bin/h2xs
0d37c4fb6f163187ac5f5e8e562983e7a6f7079696f46d488a73055d0f7c7915 /after/bin/instmodsh
d71e05147c84fa2882de928ae13baa7a7d6eb4752a9b21fc35ed36ff33aabc9f /after/bin/json_pp
6f22e8c45358e131b13717192424c53f192950741c4c30a338a18e862ab085e0 /after/bin/libnetcfg
cad024aedd0b0416148c69cb539073ad2ca72c96014804d0f9cbfb47095b19ba /after/bin/perlbug
3ff327faa0aca312aff9e6a4f06a744ea5a782107964d04bee9f89e9e47ab1c8 /after/bin/perldoc
bdb64fc8fe9732a215e6d6b04f2508be6dea2a2b8014290b01669e9f40d3c3ec /after/bin/perlivp
c0b75aa28834780570f0f4ee212f89e9b0f7e41823a37363302d397837bc75a6 /after/bin/piconv
4d36250e79f9057ad8856f2cb1728a090d795f05e9f0f1afe5c12ebe6d96dd5c /after/bin/pl2pm
01deff305eab23134f9fb15689d805972a74011b3eaf12c813f10535727b4cd7 /after/bin/pod2html
97140c9d2122e146b2873ece6b9620412f32835b8bf4df5ff8171c5a5d4fdfee /after/bin/prove
ef017ae1f2e4b593310828680f589a63d2b9a7b3fe9a586821ec84f4cbaa5fb5 /after/bin/ptar
be0153da66a10852e68c48d88bca22d713ba18884e4dc2abb682694f633d8da4 /after/bin/ptardiff
9ec56aff9e367161f051630d3009745362ca2879416a705074f5029764a855d5 /after/bin/ptargrep
d073c2ae271acc6a2716703b40c0ab860e0a7013f0fa8d1b2717c877eaad0fdf /after/bin/shasum
89e791b58ff80175d50410eba0e936eaa2c123717672a30d75434cd4383241ad /after/bin/splain
89517ecc5aaa3112e49eb877b4f4406f794de51993cdaea01548de50d7a376ce /after/bin/streamzip
f93027f512185e8aa77e814ada2551de01c8f56b926381e71b958a01118c1ffd /after/bin/xsubpp
2bcc91ca8f95a6cdce14f0a13b0948b04224d7c1ab25e175077a1b6ec7993a9f /after/bin/zipdetails
cad024aedd0b0416148c69cb539073ad2ca72c96014804d0f9cbfb47095b19ba /after/bin/perlthanks
f78466a5e44f8a50e04fad23895afc62f441d0db1ae451949f31928bc459597c /after/bin/perl
f78466a5e44f8a50e04fad23895afc62f441d0db1ae451949f31928bc459597c /after/bin/perl5.32.1
16d60fa7138f0b5e31b4462e7f5cef7e9d0040cab5c4d808367802b186dd99d2 /after/lib/perl5/5.32.1/i386-linux/CORE/libperl.a
b9aa5df8e7790d25b610d3568a1fb5ec19d4b7a24ea89032b3e48e6baeff7829 /after/lib/perl5/5.32.1/i386-linux/auto/IO/IO.a
a00d9d1d16cb84df222e42726962751d6296aa4ef5b43d3e3d39b5db677524be /after/lib/perl5/5.32.1/i386-linux/auto/B/B.a
97297837e713b3c32fdf15d3beb4df27dd04d36770520a39cb9609bfe03e8b95 /after/lib/perl5/5.32.1/i386-linux/auto/Compress/Raw/Bzip2/Bzip2.a
cbace9433582cb7a952f8765351e5e8ac24c3d08c5cc659fc57fc5d001f85a46 /after/lib/perl5/5.32.1/i386-linux/auto/Compress/Raw/Zlib/Zlib.a
11a5a396f223fca1c0f663f92e2ccca804c0e1bcc8ebdc7aa6c02007c0ef6eb2 /after/lib/perl5/5.32.1/i386-linux/auto/Cwd/Cwd.a
40bd3da520ef0b12afb7a6e422bba60618a294ea48315a0c3788b238ceec1cff /after/lib/perl5/5.32.1/i386-linux/auto/Data/Dumper/Dumper.a
913b4c30b4444bb5d20fdfb1235b0bad897900247d6c90f20453f4b3fff88d22 /after/lib/perl5/5.32.1/i386-linux/auto/Devel/Peek/Peek.a
1adda90e944ad90f66a6d6beeb73f36eb15346868f86fcf2428e9468e0df924c /after/lib/perl5/5.32.1/i386-linux/auto/Digest/MD5/MD5.a
ca94220bc83615eacfe76c219681cc5bbf60b20f967d4e0050115411cce4b5d3 /after/lib/perl5/5.32.1/i386-linux/auto/Digest/SHA/SHA.a
9f63bd4cba00691b802276da76cf44e0d1c42ac2a785d523ebf4ae0baba120cb /after/lib/perl5/5.32.1/i386-linux/auto/Encode/Byte/Byte.a
6d583d90aa9d93a081dd23e59a4ccb67566213075277b2f576f0bc70be0ae45f /after/lib/perl5/5.32.1/i386-linux/auto/Encode/CN/CN.a
4f1a62ec40d3d6971043ff20bcc159ce9600946c200dd7349aab1fade57ac4bb /after/lib/perl5/5.32.1/i386-linux/auto/Encode/EBCDIC/EBCDIC.a
30a5bad1d7bfeb2c8a1c3d40b242dbb57d7f5a7a90b8b0da2f37ca1e97f5cd98 /after/lib/perl5/5.32.1/i386-linux/auto/Encode/JP/JP.a
4070f08ca88900519ecd2d44a1733fcf0addf0bcf4cc7b09fce9303f8194577f /after/lib/perl5/5.32.1/i386-linux/auto/Encode/KR/KR.a
7e20461c2762fcf062fe3d7366357f85d21c1ad510466e41f886a8427382e2a5 /after/lib/perl5/5.32.1/i386-linux/auto/Encode/Symbol/Symbol.a
7c1eab792c8cdd25bd3db0fe932a7025106de4f5a5477859feac4efcd7ed2758 /after/lib/perl5/5.32.1/i386-linux/auto/Encode/TW/TW.a
7945204be71d45eac99d52c8ba80f4a415e5a442ba9118045835130fcb793278 /after/lib/perl5/5.32.1/i386-linux/auto/Encode/Unicode/Unicode.a
d435dad257f8a3062fdf0ed36ef1ff8bf459035bf91666a053f1a825d619c7ba /after/lib/perl5/5.32.1/i386-linux/auto/Encode/Encode.a
de952455eb6c8920eb83b24d116fba667148e3ced2c300d09fbcd0695460d503 /after/lib/perl5/5.32.1/i386-linux/auto/Fcntl/Fcntl.a
d1477681608164d970571537fe57a4f57c2ff079827a2c7836e098cdb116725a /after/lib/perl5/5.32.1/i386-linux/auto/File/DosGlob/DosGlob.a
e71679d8b946cfc769d28579d7277f5c3f6026bbd012c804de044cf960920596 /after/lib/perl5/5.32.1/i386-linux/auto/File/Glob/Glob.a
e4585db5d46bdb7ce6a1f755596131e15e9a6170dfb8911025b1a8aa0d5084bc /after/lib/perl5/5.32.1/i386-linux/auto/Filter/Util/Call/Call.a
e78509cd064d5b33e4183472569f477759b31ebaaaebda7f7de5210d49f8f01a /after/lib/perl5/5.32.1/i386-linux/auto/Hash/Util/FieldHash/FieldHash.a
ac19d921e8c417aac14aed76e301636c4665d8ce0b8b8cc60db99e6fe6d78c6b /after/lib/perl5/5.32.1/i386-linux/auto/Hash/Util/Util.a
6c149bdde39147d4a78ecef243509c9de02ce247113332249122657caedf0fe9 /after/lib/perl5/5.32.1/i386-linux/auto/I18N/Langinfo/Langinfo.a
17bca9d539f4267ee479d0e04accc0261855287ab05628def3af50aabf8fa091 /after/lib/perl5/5.32.1/i386-linux/auto/IPC/SysV/SysV.a
c31d93eede732e7e3077c942c1cf98c0837dc29f7f481d377dfc2e54f9734e0b /after/lib/perl5/5.32.1/i386-linux/auto/List/Util/Util.a
5cf46c40bd99950add133ff1be1e829ebbf6be51271ce74e362516daaddaa268 /after/lib/perl5/5.32.1/i386-linux/auto/MIME/Base64/Base64.a
19a514c34f9379d6fc9b9cd0b0847983cf070a552ae3ad99da3bc28f26960342 /after/lib/perl5/5.32.1/i386-linux/auto/Math/BigInt/FastCalc/FastCalc.a
37a428027797b6482e91a04da997005a34d64e5614ae7607e2b85ea6795ab198 /after/lib/perl5/5.32.1/i386-linux/auto/Opcode/Opcode.a
9cf4db7b20230c803821094bc910fc27783814046fa1e5fcc39348b076c2a838 /after/lib/perl5/5.32.1/i386-linux/auto/POSIX/POSIX.a
ed1b19fbe06597635a6015447c68fdac7a5ce0e5ba814b020d260237fe007489 /after/lib/perl5/5.32.1/i386-linux/auto/PerlIO/encoding/encoding.a
2dce279ba070676998d7b2d08cd53102107bddfa8cc4150f0dfb513360507127 /after/lib/perl5/5.32.1/i386-linux/auto/PerlIO/mmap/mmap.a
a4834b1e3bc003dc3a556ae4a1f07d0d1caee784930c15c9bb3b80f33adefa0a /after/lib/perl5/5.32.1/i386-linux/auto/PerlIO/scalar/scalar.a
9e1f4f68be71a56656b76f0e189b2e1fadc12683b34662250cf25130a420786e /after/lib/perl5/5.32.1/i386-linux/auto/PerlIO/via/via.a
08a5d9d75f149b00493e656752375710a636fa1fbd33d51bbf8386b6c020360c /after/lib/perl5/5.32.1/i386-linux/auto/SDBM_File/SDBM_File.a
b33eb13f4b8682e95c6d0d69e142c737f946cbc711fd0217b1c42fa5dd830d23 /after/lib/perl5/5.32.1/i386-linux/auto/Socket/Socket.a
1569d0e1d134bec913093c3cf08231b310707843e276e2687fe2350b298c4cfd /after/lib/perl5/5.32.1/i386-linux/auto/Storable/Storable.a
cf65ae0455595319fbf2f6102b1c71df9b0711d5d5a5d0f77ab2c128f678b5dc /after/lib/perl5/5.32.1/i386-linux/auto/Sys/Hostname/Hostname.a
200aab211a4b3c56e4f2c3a5b57ac67155894c042a22e07d7b3d88033d8fb36b /after/lib/perl5/5.32.1/i386-linux/auto/Sys/Syslog/Syslog.a
4472ab7f81d0c67ceece4c66985ba95e4a399182fcb889465f81d009fd66b735 /after/lib/perl5/5.32.1/i386-linux/auto/Time/HiRes/HiRes.a
4a4dadffbe8d7ccd71fb6fbe13696f42b8985d3517d48b2f5697d3a243d538c9 /after/lib/perl5/5.32.1/i386-linux/auto/Time/Piece/Piece.a
81b92d161e5b456901a5e297981d10fc889fcd94baa4bdf687d90c2a0510fdf6 /after/lib/perl5/5.32.1/i386-linux/auto/Unicode/Collate/Collate.a
3de37e2608ee975d2be422b716722b622558e9a16ad7cb01a4909108e8da565f /after/lib/perl5/5.32.1/i386-linux/auto/Unicode/Normalize/Normalize.a
5685a0b7e09fa209b44e92b6ffeef3ffaf45c88f5ce3a210982820107bcc845a /after/lib/perl5/5.32.1/i386-linux/auto/attributes/attributes.a
20b56fd11c78ae924ad3ac6da04e412067732f051688865dc9271c19b30b7bff /after/lib/perl5/5.32.1/i386-linux/auto/mro/mro.a
5c1adcd8427427a1f6feb1b3dfd52a16f6a57435c1ad74abc8f8ba7c78ec0a6d /after/lib/perl5/5.32.1/i386-linux/auto/re/re.a
f5e09198bbacd7eef23375e1a7eb2166c884666c8fd14dfeeab11f1bda5d313d /after/lib/perl5/5.32.1/i386-linux/auto/threads/shared/shared.a
d850f9ecb18bb102876c8e0b9032efdef2c70a66243fb3f686d770699d643a8f /after/lib/perl5/5.32.1/i386-linux/auto/threads/threads.a

46
sysa/perl-5.32.1/perl-5.32.1.sh Executable file
View File

@ -0,0 +1,46 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default
# Regenerate bison files
# perly.c looks suspiciously like it is from bison, but is not; from the
# below script:
# Note that perly.c is *not* regenerated - this is now a static file which
# is not dependent on perly.y any more.
perl regen_perly.pl
# Regenerate other prebuilt header files
# Taken from headers of regen scripts
rm embed.h embedvar.h perlapi.c perlapi.h proto.h mg_names.inc mg_raw.h \
mg_vtable.h opcode.h opnames.h pp_proto.h \
lib/B/Op_private.pm overload.h overload.inc lib/overload/numbers.pm \
reentr.h reentr.c regnodes.h lib/warnings.pm \
warnings.h lib/feature.pm feature.h
perl regen.pl
# Regenerate configure + config_h.SH
rm Configure config_h.SH
ln -s ../perl-5f2dc80/regen-configure/.package .
ln -s ../perl-5f2dc80/regen-configure/U .
metaconfig -m
}
src_configure() {
./Configure -des \
-Dprefix="${PREFIX}" \
-Dcc=gcc \
-Dusedl=false \
-Ddate=':' \
-Dccflags="-U__DATE__ -U__TIME__" \
-Darchname="i386-linux"
}
src_install() {
# Remove old perl
rm -rf "${PREFIX}"/lib/perl5/
default
}

View File

@ -29,13 +29,13 @@ build mes-0.23 mes-libc-0.23.sh
build tcc-0.9.27 tcc-meslibc-rebuild.sh checksums/tcc-meslibc-rebuild
build musl-1.1.24 musl-1.1.24.sh checksums/pass1
build musl-1.1.24 '' checksums/pass1
# Rebuild tcc using musl
build tcc-0.9.27 tcc-musl-pass1.sh checksums/tcc-musl-pass1
# Rebuild musl using tcc-musl
build musl-1.1.24 musl-1.1.24.sh checksums/pass2
build musl-1.1.24 '' checksums/pass2
# Rebuild tcc-musl using new musl
build tcc-0.9.27 tcc-musl-pass2.sh checksums/tcc-musl-pass2

View File

@ -9,6 +9,7 @@
set -e
# shellcheck source=sysa/helpers.sh
. helpers.sh
. bootstrap.cfg
@ -25,6 +26,8 @@ build coreutils-8.32
build tar-1.34
build make-4.2.1
build gmp-6.2.1
build autoconf-archive-2021.02.19
@ -33,6 +36,18 @@ build mpfr-4.1.0
build mpc-1.2.1
build flex-2.5.33
build bison-2.3
build bison-3.4.2
build perl-5.10.1
build dist-3.5-236 '' '' '' dist-d1de81f
build perl-5.32.1
if [ "$FORCE_TIMESTAMPS" = True ] ; then
echo 'Forcing all files timestamps to be 0 unix time.'
canonicalise_all_files_timestamp