aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/software/config/installation/checksums.mk1
-rw-r--r--reproduce/software/config/installation/versions.mk1
-rw-r--r--reproduce/software/make/basic.mk54
-rw-r--r--reproduce/software/make/python.mk1
4 files changed, 52 insertions, 5 deletions
diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.mk
index 6ea6da4..d06559a 100644
--- a/reproduce/software/config/installation/checksums.mk
+++ b/reproduce/software/config/installation/checksums.mk
@@ -50,6 +50,7 @@ mpfr-checksum = d583555d08863bf36c89b289ae26bae353d9a31f08ee3894520992d2c26e5683
ncurses-checksum = e308af43f8b7e01e98a55f4f6c4ee4d1c39ce09d95399fa555b3f0cdf5fd0db0f4c4d820b4af78a63f6cf6d8627587114a40af48cfc066134b600520808a77ee
openssl-checksum = 1523985ba90f38aa91aa6c2d57652f4e243cb2a095ce6336bf34b39b5a9b5b876804299a6825c758b65990e57948da532cca761aa12b10958c97478d04dd6d34
patchelf-checksum = 39745662651cf0a9915685b2767a611ceab4286f8fa57eace342b3f44248431616e8563d4ac6709c97d8534229c73c05470239e462b7e74b36bf629a876dfbad
+perl-checksum = b0db58699dfbe1bab10a7b0472cc377ed215668c89d13c7ca693e6b75ab6a6593a9cf137adbd6096063ee8200d83b389e745bb96b7c6bf4cf4588ac587a446ae
pkgconfig-checksum = 4861ec6428fead416f5cbbbb0bbad10b9152967e481d4b0ff2eb396a9f297f552984c9bb72f6864a37dcd8fca1d9ccceda3ef18d8f121938dbe4fdf2b870fe75
readline-checksum = 41759d27bc3a258fefd7f4ff3277fa6ab9c21abb7b160e1a75aa8eba547bd90b288514e76264bd94fb0172da8a4faa54aab2c07b68a0356918ecf7f1969e866f
sed-checksum = e0be5db4cdf8226b34aaa9071bc5ae0eafde1c52227cee3512eea7fe2520d6c5cebf15266aa5c4adffbb51bf125c140a15644e28d57759893c12823ea9bbf4fb
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index bf503ff..3e0fd57 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -48,6 +48,7 @@ mpfr-version = 4.0.2
ncurses-version = 6.1
openssl-version = 1.1.1a
patchelf-version = 0.10
+perl-version = 5.30.0
pkgconfig-version = 0.29.2
readline-version = 8.0
sed-version = 4.7
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk
index 64c10c0..c5b4ca5 100644
--- a/reproduce/software/make/basic.mk
+++ b/reproduce/software/make/basic.mk
@@ -131,6 +131,7 @@ tarballs = $(foreach t, bash-$(bash-version).tar.lz \
ncurses-$(ncurses-version).tar.gz \
openssl-$(openssl-version).tar.gz \
patchelf-$(patchelf-version).tar.gz \
+ perl-$(perl-version).tar.gz \
pkg-config-$(pkgconfig-version).tar.gz \
readline-$(readline-version).tar.gz \
sed-$(sed-version).tar.xz \
@@ -181,6 +182,10 @@ $(tarballs): $(tdir)/%: | $(lockdir)
elif [ $$n = ncurses ]; then c=$(ncurses-checksum); w=http://ftp.gnu.org/gnu/ncurses; \
elif [ $$n = openssl ]; then c=$(openssl-checksum); w=http://www.openssl.org/source; \
elif [ $$n = patchelf ]; then c=$(patchelf-checksum); w=http://nixos.org/releases/patchelf/patchelf-$(patchelf-version); \
+ elif [ $$n = perl ]; then \
+ c=$(perl-checksum); \
+ v=$$(echo $(perl-version) | sed -e's/\./ /g' | awk '{printf("%d.0", $$1)}'); \
+ w=https://www.cpan.org/src/$$v; \
elif [ $$n = pkg ]; then c=$(pkgconfig-checksum); w=http://pkg-config.freedesktop.org/releases; \
elif [ $$n = readline ]; then c=$(readline-checksum); w=http://ftp.gnu.org/gnu/readline; \
elif [ $$n = sed ]; then c=$(sed-checksum); w=http://ftp.gnu.org/gnu/sed; \
@@ -292,9 +297,6 @@ $(ibidir)/low-level-links: | $(ibdir) $(ildir)
# GNU Gettext (translate messages)
$(call makelink,msgfmt)
- # Needed by TeXLive specifically.
- $(call makelink,perl)
-
# Necessary libraries:
# Libdl (for dynamic loading libraries at runtime)
# POSIX Threads library for multi-threaded programs.
@@ -1016,6 +1018,50 @@ $(ibidir)/mpfr: $(ibidir)/gmp \
$(call gbuild, mpfr-$(mpfr-version), static, , , make check) \
&& echo "GNU Multiple Precision Floating-Point Reliably $(mpfr-version)" > $@
+$(ibidir)/perl: | $(ibidir)/coreutils \
+ $(tdir)/perl-$(perl-version).tar.gz
+ major_version=$$(echo $(perl-version) \
+ | sed -e's/\./ /g' \
+ | awk '{printf("%d", $$1)}'); \
+ base_version=$$(echo $(perl-version) \
+ | sed -e's/\./ /g' \
+ | awk '{printf("%d.%d", $$1, $$2)}'); \
+ cd $(ddir) \
+ && rm -rf perl-$(perl-version) \
+ && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \
+ echo; echo "Tar error"; exit 1; \
+ fi \
+ && cd perl-$(perl-version) \
+ && sed -e's|\#\! /bin/sh|\#\! $(ibdir)/bash|' \
+ -e's|\#\!/bin/sh|\#\! $(ibdir)/bash|' \
+ Configure > Configure-tmp \
+ && mv -f Configure-tmp Configure \
+ && chmod +x Configure \
+ && ./Configure -des \
+ -Dusethreads \
+ -Duseshrplib \
+ -Dprefix=$(idir) \
+ -Dvendorprefix=$(idir) \
+ -Dprivlib=$(idir)/share/perl$$major_version/core_perl \
+ -Darchlib=$(idir)/lib/perl$$major_version/$$base_version/core_perl \
+ -Dsitelib=$(idir)/share/perl$$major_version/site_perl \
+ -Dsitearch=$(idir)/lib/perl$$major_version/$$basever/site_perl \
+ -Dvendorlib=$(idir)/share/perl$$major_version/vendor_perl \
+ -Dvendorarch=$(idir)/lib/perl$$major_version/$$base_version/vendor_perl \
+ -Dscriptdir=$(idir)/bin/core_perl \
+ -Dsitescript=$(idir)/bin/site_perl \
+ -Dvendorscript=$(idir)/bin/vendor_perl \
+ -Dinc_version_list=none \
+ -Dman1ext=1perl \
+ -Dman3ext=3perl \
+ -Dcccdlflags='-fPIC' \
+ -Dlddlflags="-shared $$LDFLAGS" \
+ -Dldflags="$$LDFLAGS" \
+ && make SHELL=$(ibdir)/bash -j$(numthreads) \
+ && make SHELL=$(ibdir)/bash install \
+ && echo "Perl $(perl-version)" > $@
+
+
$(ibidir)/pkg-config: | $(ibidir)/coreutils \
$(tdir)/pkg-config-$(pkgconfig-version).tar.gz
# An existing `libiconv' can cause a conflict with `pkg-config',
@@ -1043,7 +1089,7 @@ $(ibidir)/sed: | $(ibidir)/coreutils \
$(call gbuild, sed-$(sed-version), static) \
&& echo "GNU Sed $(sed-version)" > $@
-$(ibidir)/texinfo: | $(ibidir)/bash \
+$(ibidir)/texinfo: | $(ibidir)/perl \
$(tdir)/texinfo-$(texinfo-version).tar.xz
$(call gbuild, texinfo-$(texinfo-version), static) \
&& if [ "x$(needpatchelf)" != x ]; then \
diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk
index ce0c974..1543048 100644
--- a/reproduce/software/make/python.mk
+++ b/reproduce/software/make/python.mk
@@ -301,7 +301,6 @@ $(ibidir)/python: $(ibidir)/libffi \
| $(tdir)/python-$(python-version).tar.gz
# On Mac systems, the build complains about `clang' specific
# features, so we can't use our own GCC build here.
- echo "HEREKJRE"; \
if [ x$(on_mac_os) = xyes ]; then \
export CC=clang; \
export CXX=clang++; \