logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>
commit: 7bace0cc9921b2a5689451cdb5612beac0bf2cc3
parent 221b1d07ade33c502c23d978cf5ead609e10ef0b
Author: Andrius Štikonas <andrius@stikonas.eu>
Date:   Tue, 16 Feb 2021 23:20:34 +0000

Build perl 5.003.

Diffstat:

MREADME.md6++++++
MSHA256SUMS.sources1+
Mrootfs.sh4++++
Asysa/perl5.003/files/config.h90+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asysa/perl5.003/mk/main.mk18++++++++++++++++++
Asysa/perl5.003/perl5.003.sh17+++++++++++++++++
Msysa/run.sh3+++
7 files changed, 139 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -350,3 +350,9 @@ pre-generated Configure script. At this first step we build `miniperl` which is `perl` without support for loading modules. + +#### Part 30: perl 5.003 + +We now use `perl` from the previous stage to recreate pre-generated files that +are shipped in perl 5.003. But for now we still need to use handwritten makefile +instead of `./Configure` script. diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources @@ -14,4 +14,5 @@ a32032bab36208509466654df12f507600dfe0313feebbcd218c32a70bf72a16 grep-2.4.tar.g 1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3 musl-1.1.24.tar.gz ecb5c6469d732bcf01d6ec1afe9e64f1668caba5bfdb103c28d7f537ba3cdb8a patch-2.5.9.tar.gz 1beb92a6fc29483d0a8ab71379fb0e930a2c90198d81ba2930c1e788b5f58873 perl5.000.tar.gz +7dd4f058d3437f7469a1ca5be77e3834e631e295bc2d4d75d6fab5a9730070fd perl5.003.tar.gz c6c37e888b136ccefab903c51149f4b7bd659d69d4aea21245f61053a57aa60a tar-1.12.tar.gz diff --git a/rootfs.sh b/rootfs.sh @@ -193,6 +193,10 @@ get_file https://ftp.gnu.org/gnu/gawk/gawk-3.0.4.tar.gz # perl 5.000 get_file http://mirrors.develooper.com/perl/really-ancient-perls/oldperl/dist/leo/src/perl5/perl5.000.tar.gz +# perl 5.003 +# Upstream tarball is a bit broken, slackware repackaged it +get_file https://mirrors.slackware.com/slackware/slackware-3.1/source/d/perl-5.003/perl5.003.tar.gz + # General cleanup find tmp -name .git -exec rm -rf \; diff --git a/sysa/perl5.003/files/config.h b/sysa/perl5.003/files/config.h @@ -0,0 +1,90 @@ +// SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> + +// SPDX-License-Identifier: GPL-3.0-or-later + +#define MEM_ALIGNBYTES 8 +#define BIN "/after/bin" +#define BYTEORDER 0x4321 +#define CPPSTDIN "tcc -E" +#define CPPMINUS "-" +#define HAS_ALARM +#define HAS_FORK +#define HAS_MKDIR +#define HAS_PAUSE +#define HAS_RMDIR +#define HAS_STRERROR +#define HAS_SYS_ERRLIST +#define Strerror(e) strerror(e) + +#define HAS_SYSCALL +#define HAS_TIMES + +#define HAS_VPRINTF +#define Gid_t gid_t + +#define I_DIRENT +#define Direntry_t struct dirent + +#define I_DLFCN +#define I_FCNTL +#define I_GRP +#define I_LIMITS +#define I_MATH +#define I_NETINET_IN +#define I_PWD +#define I_STDDEF +#define I_STDLIB +#define I_STRING +#define I_SYS_DIR +#define I_SYS_IOCTL +#define I_SYS_PARAM +#define I_SYS_SELECT +#define I_SYS_STAT +#define I_SYS_TIMES +#define I_TERMIOS +#define I_TIME +#define I_UNISTD +#define I_UTIME +#define I_STDARG + +#define INTSIZE 4 +#define Off_t off_t + +#define PRIVLIB "/after/lib/perl5" + +#define _(args) args + +#define RANDBITS 31 + +#define SCRIPTDIR "/after/bin" + +#define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","BUS","FPE","KILL","USR1","SEGV","USR2","PIPE","ALRM","TERM","STKFLT","CHLD","CONT","STOP","TSTP","TTIN","TTOU","URG","XCPU","XFSZ","VTALRM","PROF","WINCH", "IO", "POLL", "PWR", "SYS", "UNUSED" +#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 + +#define Size_t size_t + +#define STDCHAR char +#define Uid_t uid_t + +#define LOC_SED "/after/bin/sed" +#define ARCHLIB "/after/lib/perl5/" + +#define CAT2(a,b) a##b +#define Gconvert(x,n,t,b) gcvt((x),(n),(b)) + +#define Time_t time_t + +#define SSize_t ssize_t + +#define Sigjmp_buf sigjmp_buf + +#define Sigsetjmp(buf,save_mask) setjmp(buf) +#define Siglongjmp(buf,retval) longjmp(buf,retval) + +#define Signal_t void + +#define OSNAME "linux" + +#define PRIVLIB_EXP "/after/lib/perl5/5.003" + +#undef __DATE__ /* want reproducible build */ diff --git a/sysa/perl5.003/mk/main.mk b/sysa/perl5.003/mk/main.mk @@ -0,0 +1,18 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> + +# SPDX-License-Identifier: GPL-3.0-or-later + +CC = tcc + +.PHONY: all + +MINIPERL_SRC = av deb doio doop dump globals gv hv mg miniperlmain op perl perly pp pp_ctl pp_hot pp_sys regcomp regexec run scope sv taint toke util +MINIPERL_OBJ = $(addsuffix .o, $(MINIPERL_SRC)) + +all: miniperl + +miniperl: $(MINIPERL_OBJ) + $(CC) $(CFLAGS) $^ $(LDFLAGS) -o $@ + +install: all + install miniperl $(PREFIX)/bin/perl diff --git a/sysa/perl5.003/perl5.003.sh b/sysa/perl5.003/perl5.003.sh @@ -0,0 +1,17 @@ +# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default_src_prepare + + rm perly.c perly.h + bison -d perly.y + mv perly.tab.c perly.c + mv perly.tab.h perly.h + + for file in embed keywords opcode; do + rm ${file}.h + perl ${file}.pl + done +} diff --git a/sysa/run.sh b/sysa/run.sh @@ -44,4 +44,7 @@ build gawk-3.0.4 # Part 29 build perl5.000 +# Part 30 +build perl5.003 + echo "Bootstrapping completed."