Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
a3e48fa
add perl-Devel-Tokenizer-C
fosslinux Jul 12, 2025
a5e363c
Update dist, move earlier
fosslinux Jul 13, 2025
0c763cd
Add makegloss to dist
fosslinux Jul 14, 2025
1fbc219
Add perl 5.8.9
fosslinux Jul 14, 2025
6144822
Restore permissions on stripped files
fosslinux Jul 23, 2025
dd2026d
Build perl-Devel-Tokenizer against latest version of perl
fosslinux Jul 23, 2025
f6428c9
Various regenerations for perl 5.8.9
fosslinux Jul 23, 2025
8318056
Perl 5.12.5
fosslinux Jul 17, 2025
1b6d89f
Add perl 5.15.7
fosslinux Aug 21, 2025
22ba86b
Add perl 5.16.3
fosslinux Aug 23, 2025
98af97b
Add perl 5.17.2
fosslinux Aug 23, 2025
77392fa
Add perl 5.17.4
fosslinux Aug 23, 2025
1a07149
Building perl 5.18.4
fosslinux Aug 23, 2025
1145ddd
Remove unused perl 5.10.1
fosslinux Aug 28, 2025
a4616a9
Add SPDX information to perl 5.8.9 and 5.12.5
fosslinux Aug 28, 2025
b574ae9
Clean up perl 5.15.7
fosslinux Aug 28, 2025
5f20fdd
Clean up perl 5.16.3
fosslinux Aug 28, 2025
1553718
Cleanup perl 5.17.2
fosslinux Aug 28, 2025
629f4a7
Clean up perl 5.17.4
fosslinux Aug 28, 2025
0807cb0
Clean up perl 5.18.4
fosslinux Aug 28, 2025
44fb179
Add more perl-Devel-Tokenizer-C rebuilds
fosslinux Aug 28, 2025
a817d8f
Build new versions
fosslinux Aug 28, 2025
863406b
Update parts.rst up to perl 5.18
fosslinux Aug 28, 2025
dcce75d
Prepare perl 5.18.4 for 5.22
fosslinux Aug 31, 2025
073b7d0
Add perl 5.22.4
fosslinux Aug 31, 2025
654e317
Make 5.22.4 able to build 5.24
fosslinux Sep 1, 2025
97f6ac6
Cleanup 5.22 and 5.24
fosslinux Sep 1, 2025
81c9bf1
Set up 5.24 to build 5.30
fosslinux Sep 7, 2025
d4f507d
Add licensing information to 5.24 compress-raw-zlib file
fosslinux Sep 7, 2025
248af5e
Add perl 5.30.3
fosslinux Sep 7, 2025
a508357
More Devel::Tokenizer::C builds
fosslinux Sep 7, 2025
9f98642
Enable new perls
fosslinux Sep 7, 2025
8e408f7
Fix bug with repo with more than 10 builds
fosslinux Sep 7, 2025
b70900a
Remove unnecessary sed from perl 5.30
fosslinux Sep 7, 2025
a529a64
Perl 5.36.3 added
fosslinux Sep 7, 2025
77c0908
Perl 5.40.3
fosslinux Sep 7, 2025
495365c
Remove perl 5.32.1
fosslinux Sep 8, 2025
c634840
Final perl: Add perl 5.42.0!
fosslinux Sep 8, 2025
34b6d73
Enable the rest of the perl bootstrap
fosslinux Sep 8, 2025
cead0a3
Remove unused file
fosslinux Sep 8, 2025
269c2e0
Add SPDX information to a 5.24 patch
fosslinux Sep 8, 2025
e9489ca
Clean up perl 5.36
fosslinux Sep 8, 2025
fc08010
Clean up perl 5.40
fosslinux Sep 8, 2025
7da7883
Clean up perl 5.42
fosslinux Sep 8, 2025
68a09ea
Remove unused license (for now)
fosslinux Sep 8, 2025
a888add
Actually we don't need 5.40.3
fosslinux Sep 8, 2025
61b294e
Complete parts.rst
fosslinux Sep 8, 2025
9f15cc2
the reordering doesn't actually work
fosslinux Sep 11, 2025
b0a2dc9
Fix LIBDIR handling to be portable
fosslinux Sep 11, 2025
1b276a1
Fix metaconfig for 5.30
fosslinux Sep 11, 2025
626273a
Define PERL_BUILD_DATE where supported
fosslinux Sep 11, 2025
9ed20b4
Make Devel-PPPort regenerations reproducible
fosslinux Sep 11, 2025
d25949b
Fix preseeding with >9 revisions
fosslinux Sep 13, 2025
4322a20
Make mktables reproducible
fosslinux Sep 13, 2025
e4980c2
Make PPPort.pm reproducible in Perl 5.18+
fosslinux Sep 14, 2025
7bc5ec4
Make Perl 5.18 reproducible
fosslinux Sep 14, 2025
83ad282
Ensure digest of lib/unicore/mktables is reproducible
fosslinux Sep 15, 2025
b6422a6
Fix PERL_BUILD_DATE handling
fosslinux Sep 15, 2025
8f105b3
Make perl reproducible between bwrap and hardware
fosslinux Sep 25, 2025
5ae0832
Update checksums!!
fosslinux Sep 25, 2025
b7104bc
Fix licensing information etc
fosslinux Sep 25, 2025
b4d9a68
Update bison parts.rst based on perl changes
fosslinux Sep 25, 2025
d16817a
shellcheck fix
fosslinux Sep 25, 2025
d95aa0f
Rebase on master, fix sources
fosslinux Oct 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 0 additions & 51 deletions LICENSES/Artistic-1.0-Perl.txt

This file was deleted.

118 changes: 100 additions & 18 deletions parts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1011,38 +1011,46 @@ building bison 2.3.
bison 2.3
=========

This is an older version of bison required for the bison files in perl 5.10.1.
This is an older version of bison required for the bison files in older perls.
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.1.

bison 3.4.2
===========

Bison 3.4.1 is buggy and segfaults when perl 5.32.1 is built. This is probably
Bison 3.4.1 is buggy and segfaults when perl 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.
bison because perl maybe requires bison <= 3.4.2.
This step could be improved, possibly.

perl 5.10.1
===========
dist 3.5
========

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 is perl's package used for generating Perl's Configure (which is written in
Perl itself). We 'compile' (aka generate) metaconfig, manifake and makegloss
from dist. We do not use dist's build system because it itself uses dist.

dist 3.5-236
============
perl-Devel-Tokenizer-C 0.11
===========================

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.
Devel::Tokenizer::C is a Perl module used by the ``regen/keywords.pl`` script in
all newer perls. After each perl build, this module is rebuilt against the new
perl version. This will not be repeated in this document.

perl 5.8.9
==========

This is the final version that can be built by perl 5.6. At this point we move
to using metaconfig rather than hand-written makefiles, as it is more
sustainable and produces more functional builds. This version brings a number
of new files to be regenerated. The metaconfig version was chosen by trial and
error, as there is no obvious history indicating which version to use.

perl 5.32.1
perl 5.12.5
===========

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.
This is the final version that can be built by perl 5.8. Again, there are new
files to be regenerated.

libarchive 3.5.2
================
Expand Down Expand Up @@ -1120,6 +1128,80 @@ This version of binutils provides a more comprehensive set of programming tools
creating and managing binary programs. It also includes modern versions of the ``ld``
linker, the ``as`` assembler and the ``ar`` program.

perl 5.15.7
===========

This development version of perl is the latest version that can be built by perl
5.12. Usually, we would avoid using development releases of perl. However, in
the 5.15 development cycle, the Unicode system at the core of perl was changed
somewhat to use a new script ``regen/mk_invlists.pl``, which can only be built
by a 5.15 version. So, we need to build a 5.15 version to progress. 5.15.7 is
the last version with the old Unicode system.

perl 5.16.3
===========

This is the stable version of perl corresponding to 5.15 series. The
development version is insufficient to build the following perl releases, and
is quite buggy, but is enough to at least build 5.16.3.

perl 5.17.2, 5.17.4
===================

Throughout the 5.17/18 development cycle, the new Unicode system went through a
lot of significant internal changes and restructuring. In particular, the
system was transformed to use a lot more pregenerated code, particularly
macros. There are multiple instances where a new internal symbol or macro
was introduced, and then immediately used somewhere else. These instances each
depend on one another in one way or another. All these changes mean we end
up building *two* development versions of perl to break these cycles in the
development cycle.

perl 5.18.4
===========

This is another stable version of perl. We need this version because one final
aforementioned cycle has to be broken with this version. Also, the development
versions seem to be reasonably buggy again. Many patches need to be added to
this version to allow any future perl to be built.

perl 5.22.4
===========

This is the last version that can be fairly easily built with patching perl
5.18. The next version introduces a few new complexities, so this seems a good
target. We also backport the Unicode updates from 5.24 to 5.22 to allow 5.24
to be built with this version (see 5.24 for more information).

perl 5.24.4
===========

Up until Perl 5.30, there are a number of updates and changes to the Unicode
tables, in fact too many to reasonably backport. The better solution is to
use the raw Unicode data and table generating script from 5.30 to an earlier
version. However, it uses too many new features to be used with 5.22, so we
need an intermediate version. 5.24 seems to work.

perl 5.30.3
===========

5.30 is the last version that builds cleanly with 5.24. 5.32+ have a weird
hanging bug in one of the regen scripts when using Perl 5.24, presumably
because of a new language construct that is not yet available.

perl 5.36.3
===========

5.36 is the last version that builds cleanly with 5.30. 5.38+ introduce a
number of new language features into the mk_invlists.pl script that are not
easily removed (there have been too many changes). 5.36 has enough support
of the new features.

perl 5.42.0
===========

5.42 is the latest version of Perl! The Perl bootstrap is complete.

gperf 3.1
=========

Expand Down
44 changes: 33 additions & 11 deletions steps/SHA256SUMS.pkgs
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ fd65c11422588984bc3a440b1fd9d022307a200de182cfedfe3387a09cbece98 ca-certificate
27f283c42e2728d0d0682d56ada44b11ff11d07843e595c133a43f4c6aef53d0 coreutils-6.10_0.tar.bz2
61f5a1654935fbfd5358116bf2267236676aace3370cc6aaf8ff4fb1b4d020b2 coreutils-9.4_0.tar.bz2
d8ad6dd811872bfc4ac3f2101de85277de29e048f9e10debde1c284e3a62144b curl-8.12.1_0.tar.bz2
748e33824a2b5b199fdcf63f126bdd67b457b3521b5cee06eb6cd78644b9c0ca curl-8.12.1_1.tar.bz2
37317ffc7742a7f0b09cb69a6c7a919f1825439dfa6e3d97780e855d35e06871 curl-8.12.1_1.tar.bz2
0ee8251b7251bf1c4a5634554c92c79339bd562b893b7c8fb1619c3ae6084bda dhcpcd-10.0.1_0.tar.bz2
0462b6a04899a98d60c33f9d16fa00e2e6b7c21cc80ccebc8358fc08105467a2 diffutils-2.7_0.tar.bz2
4cbe1fce51122f1a421e2c8bbb896b10f4a0be849916bdb67819f6f0e754c4a5 diffutils-3.10_0.tar.bz2
283a66575b4d7c835f6ebabb38cfb5d7d62032f832ad949f067a85b8a378c36c dist-3.5-236_0.tar.bz2
6a24890ec15a72ee67e8722f14ab6ddfc6432c0294039584d2ee95a7992c3df3 dist-3.5_0.tar.bz2
60559f700659d70c6c9d2c70170bef62355d8e38fbb30c1d0629978351b796fd e2fsprogs-1.45.7_0.tar.bz2
bf0ae256f441485d46f456a2b2edf89d619835aeccdc4bbcc1641b690e4670ff ed-1.4_0.tar.bz2
b7c649218fefdfb5d4e01bbde241d147c27f85163c231208eb4817bd6bfd45fe file-5.44_0.tar.bz2
Expand All @@ -51,11 +51,11 @@ f6c65eef86aa9f5317396a8443b25ed87a18f72d07dfd2231a594aa2c1a68942 findutils-4.2.
c925739472260498342ba6dc3263da937abf5237e7e9102622bf5657ec98094a gawk-3.0.4_0.tar.bz2
14c3c0b85ec7f98654496931b9ac0e0cea2f4d466724f1b72dbd5e6e68cf0b02 gawk-5.3.0_0.tar.bz2
b4fafdabdbd8c1f9f7c96fc4677023a8151fe2afe0702e3dee920157b30deb98 gc-8.0.4_0.tar.bz2
2fbd45349815bea19ff77574896e89bfb490017bd59a89709d827c3ce3211579 gcc-10.5.0_0.tar.bz2
533691bea29dae1974dda699c73d05e583c5d20f14295b69c218f5701bd26d49 gcc-15.2.0_0.tar.bz2
a151c33be67b0d41b7470c20b5265c079bf7f83194e859dbdfbed308da9a64bd gcc-10.5.0_0.tar.bz2
61c5fb7da5c77ea3395a6b56f08c2285c279f6deb10712cce9395643a2373c70 gcc-15.2.0_0.tar.bz2
d34de902de6de9204abedb834c4c39fbb95b993e545fbb090de2b028fa1d4a61 gcc-4.0.4_0.tar.bz2
2f13b3306832d882536c97d0302f2ec1801193086dbbe62388f930858e5728a3 gcc-4.0.4_1.tar.bz2
763bf41efd518fc97cd863bc1e5288fd4c51199468e4f58fcb5d00df84142ade gcc-4.7.4_0.tar.bz2
2c5268956c09c71efd6c793773dd2d8133274b6c846ec63cd67218af9080bd3d gcc-4.7.4_0.tar.bz2
4791285848460b6645e1ece7d53d836900529d52af7cbab86978bddf687acfa2 gettext-0.21_0.tar.bz2
96f33b53c24f5f46a23c2b9eef8147e684c796889a83bdd39254a73393594a49 gmp-6.2.1_0.tar.bz2
8138c02c4fef718c97827f1d6476e2fc83433ff06eff4820b53589b5419b7e15 gperf-3.1_0.tar.bz2
Expand All @@ -69,7 +69,7 @@ f27e1eaafa7ab198d2ed549aecfd8a1205d960f59a509789a159997565abd6d4 heirloom-devto
5b18018b2b29e10d4d8e4201e2d62846777172c01b83ca5295f7c8721c2bde0a kbd-1.15_0.tar.bz2
8015e91981298feb5315290d6e22408a482d91994b5fc068affb6fdf79e87f4a kexec-linux-1.0.0_0.tar.bz2
069c629aae2c86e9a23195faa3694281abeebebfdcd8dd134c73c9c68b933c41 kexec-tools-2.0.22_0.tar.bz2
89a43c8107eff8ae34d15cdcd70f486ed440c5fe63bf57971f3587b8e22124c0 libarchive-3.5.2_0.tar.bz2
e4ce0dc0a040f3b458e57ff2c8f4474d680a6df73ab0d7f592efe7fad565cc5f libarchive-3.5.2_0.tar.bz2
e28fdaf6191513d8e45b2c1e0d1991e01c93f4294c7fd44126568648a40f4643 libatomic_ops-7.6.10_0.tar.bz2
3e392a5332e8db77c409f1566b6f05d1f92a85e1fbe902dbe97704548c0f6c8e libbsd-0.11.8_0.tar.bz2
de10b5b3d1b721c8d8365d524c13f524b2c9cb5eff1f891698b1aa4915a73092 libffi-3.3_0.tar.bz2
Expand Down Expand Up @@ -97,11 +97,33 @@ f629dad141a32b592e78e8ecf465bded45437601b3340520a8799331cfac0024 opendoas-6.8.2
f39330325296612d66427de568a030aff3a514aad567a88e1de432392a08abdd patch-2.7.6_0.tar.bz2
44456a0635dc56351d34bf9701487e562c2c903393db2cc99f5c3a6d2ecf52d4 perl-5.000_0.tar.bz2
0b7ded1733433323c2056b1005828aaabb8aaca9505839333a8e80f12669f203 perl-5.003_0.tar.bz2
012cc360816f8f46541dbb988578bcb13985c3130ee3bcf2fb9d63cc994c7e8a perl5.004-05_0.tar.bz2
a2cbb76d60e5df1ae2439297f9e01fe9903175db600d65efb4a45e3bdaa12eb2 perl5.005-03_0.tar.bz2
9a7b2ea9c780c4076301f9c232059e56380375a7b55cf1e86ec60cafc1c63aa3 perl-5.10.1_0.tar.bz2
07afd8a9a1dbf69aa3c447b63c07e8d8a35d1bbc4b9c4f26f5bca8e90d7edb0f perl-5.32.1_0.tar.bz2
2bcb1489891000b2e21859e7ca39ef8b543d92e9127ed96731569127d7a43bf6 perl-5.6.2_0.tar.bz2
e8707f598b909ae01a5dc480fc9867ddb6254d22538f8f6cb65734294d92d728 perl5.004-05_0.tar.bz2
335cd8ac4424ff5506b1a733a0e1fd38ae360249ad224100f25cde82b7c2f4db perl5.005-03_0.tar.bz2
b707a9bcb3098008dbe1cfa831d3847aab38143e44c1ab206c02f04916fd28c3 perl-5.12.5_0.tar.bz2
17271cc6e436c06a2ffbb039856788260f574c9e0d4b30ab70e584f445bb3931 perl-5.15.7_0.tar.bz2
90c4082c4019b2a045583ac338352173b9e64e51d945205378709ad76f1c25a5 perl-5.16.3_0.tar.bz2
9ef04af2574cf9518c9f36dfcd0bbc99b83c1a9d42b0505dd93c20330088aaea perl-5.17.2_0.tar.bz2
0611b81ed8e369e54e51c5a0ac36b76fc172a7602538397a00b6166e1275d50a perl-5.17.4_0.tar.bz2
af5238bb99a9d9d7403861ebd7290700050214e0e4a8300b874324b6b5307fe3 perl-5.18.4_0.tar.bz2
2e4d36e9794d6646bec5c0ce4cd54932124476b451ff6d8ae7a6676e1770a19a perl-5.22.4_0.tar.bz2
dac25836819f6201c3f9f2db683dab299ac00719c3b241290270314250d81ab7 perl-5.24.4_0.tar.bz2
8ea27e2743262b5f263527fff9ab99b76cdc5b2ec83243f9b8f6a789d112e614 perl-5.30.3_0.tar.bz2
204b8b2b2e712e5b638a0ec18661d7a6e704a7d08c279666da7bf79658f9db14 perl-5.36.3_0.tar.bz2
3ee21bdc9460dc56fb6482b51c9427e2b65e74e2228e0153e9ab353272e38944 perl-5.42.0_0.tar.bz2
cfa9fd4dae5610e7077838aa376c6b812bb9d3335c8b5c432f589d3d53a800e6 perl-5.6.2_0.tar.bz2
95615d5576bad50dc60f308debab69224bb0efa8681522b82f624383533f70fd perl-5.8.9_0.tar.bz2
d4997499d4ae8eb6c1daf43d1f2fde962fc0080dd0a20ec55e1d91557dec35eb perl-Devel-Tokenizer-C-0.11_0.tar.bz2
f2566533cce1831a01d6d05ff9d34e68b0c9b6d6ed81b65894711b5600ff47e3 perl-Devel-Tokenizer-C-0.11_10.tar.bz2
ef1ed729ff58ca3f10fe6cb7d5d39d783d539e2aa2b88a70d39af1bffa30ed44 perl-Devel-Tokenizer-C-0.11_11.tar.bz2
2553cadabbc6f5952b2dfaf3505a5b650eb7275cef490e1db9db482dd6827f45 perl-Devel-Tokenizer-C-0.11_1.tar.bz2
16787765153016b6acea3050f74c834ad09870b6a064a0289c169e66f77e6a21 perl-Devel-Tokenizer-C-0.11_2.tar.bz2
a173b8c858e1bef638374c4317fa906ec7c95cd8b78297131cbd6d4800bae44a perl-Devel-Tokenizer-C-0.11_3.tar.bz2
fcd5787737f32350c94319f1f26308a16b4fcd6563b4e30efae7d9fef11f5f49 perl-Devel-Tokenizer-C-0.11_4.tar.bz2
7ee143830a64d125772c6ef20bfed5ee48934985e1e5195a89edb241b687b67b perl-Devel-Tokenizer-C-0.11_5.tar.bz2
b4091f0273d71edc0d71c441c2f5f5aefbf9934f0f20da1eb90b4e307c820377 perl-Devel-Tokenizer-C-0.11_6.tar.bz2
77aee4df9eb2271c3b4e450f216af83c5844078d93702eae60ec1141816622d4 perl-Devel-Tokenizer-C-0.11_7.tar.bz2
d2f1e838b9ed58d58c0d6594dd868af49b576b1d6ef05903a43ad33d4986b32d perl-Devel-Tokenizer-C-0.11_8.tar.bz2
3e5519ff5fec08c27f4ef146674ed9e957de6a057c381baf04bbda7adf18c11c perl-Devel-Tokenizer-C-0.11_9.tar.bz2
dfd2e494cc1c13ac241668d7489895984100bd14848281d2a4881d15436525fc pkg-config-0.29.2_0.tar.bz2
541d75be65f3daedc44df145556aacb3debbb7029635d8ccc9e96d839c8c6815 python-2.0.1_0.tar.bz2
5bd6c35b4d6003ce5d9fb7223816aad6bf2de66cabe97f31d7b27bfb5cc3b4f3 python-2.0.1_1.tar.bz2
Expand Down
1 change: 0 additions & 1 deletion steps/dist-3.5-236/sources

This file was deleted.

File renamed without changes.
10 changes: 7 additions & 3 deletions steps/dist-3.5-236/pass1.sh → steps/dist-3.5/pass1.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@
src_prepare() {
default

sed 's/@PERLVER@/5.10.1/' config.sh.in > config.sh
sed 's/@PERLVER@/5.6.2/' config.sh.in > config.sh
find . -name Makefile.SH -delete
rm -f Configure
}

src_compile() {
cd mcon
./mconfig.SH
perl ../bin/perload -o mconfig > metaconfig
./makegloss.SH
cd ..

cd kit
Expand All @@ -23,8 +26,9 @@ src_compile() {
}

src_install() {
mkdir -p "${DESTDIR}${PREFIX}/bin/" "${DESTDIR}${PREFIX}/lib/perl5/5.10.1"
mkdir -p "${DESTDIR}${PREFIX}/bin/" "${DESTDIR}${PREFIX}/lib/perl5/5.6.2"
install mcon/metaconfig "${DESTDIR}${PREFIX}/bin/"
install mcon/makegloss "${DESTDIR}${PREFIX}/bin/"
install kit/manifake "${DESTDIR}${PREFIX}/bin/"
cp -r mcon/U/ "${DESTDIR}${PREFIX}/lib/perl5/5.10.1/"
cp -r mcon/U/ "${DESTDIR}${PREFIX}/lib/perl5/5.6.2/"
}
Loading