diff --git a/5.024.004-64bit,threaded/DevelPatchPerl.patch b/5.024.004-64bit,threaded/DevelPatchPerl.patch new file mode 100644 index 0000000..4c69d78 --- /dev/null +++ b/5.024.004-64bit,threaded/DevelPatchPerl.patch @@ -0,0 +1,97 @@ +diff --git a/hints/linux.sh b/hints/linux.sh +index fb5a46e..3f38ea0 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -221,92 +221,6 @@ case "$libc" in + ;; + esac + +-# Are we using ELF? Thanks to Kenneth Albanowski +-# for this test. +-cat >try.c <<'EOM' +-/* Test for whether ELF binaries are produced */ +-#include +-#include +-#include +-main() { +- char buffer[4]; +- int i=open("a.out",O_RDONLY); +- if(i==-1) +- exit(1); /* fail */ +- if(read(i,&buffer[0],4)<4) +- exit(1); /* fail */ +- if(buffer[0] != 127 || buffer[1] != 'E' || +- buffer[2] != 'L' || buffer[3] != 'F') +- exit(1); /* fail */ +- exit(0); /* succeed (yes, it's ELF) */ +-} +-EOM +-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then +- cat <<'EOM' >&4 +- +-You appear to have ELF support. I'll try to use it for dynamic loading. +-If dynamic loading doesn't work, read hints/linux.sh for further information. +-EOM +- +-else +- cat <<'EOM' >&4 +- +-You don't have an ELF gcc. I will use dld if possible. If you are +-using a version of DLD earlier than 3.2.6, or don't have it at all, you +-should probably upgrade. If you are forced to use 3.2.4, you should +-uncomment a couple of lines in hints/linux.sh and restart Configure so +-that shared libraries will be disallowed. +- +-EOM +- lddlflags="-r $lddlflags" +- # These empty values are so that Configure doesn't put in the +- # Linux ELF values. +- ccdlflags=' ' +- cccdlflags=' ' +- ccflags="-DOVR_DBL_DIG=14 $ccflags" +- so='sa' +- dlext='o' +- nm_so_opt=' ' +- ## If you are using DLD 3.2.4 which does not support shared libs, +- ## uncomment the next two lines: +- #ldflags="-static" +- #so='none' +- +- # In addition, on some systems there is a problem with perl and NDBM +- # which causes AnyDBM and NDBM_File to lock up. This is evidenced +- # in the tests as AnyDBM just freezing. Apparently, this only +- # happens on a.out systems, so we disable NDBM for all a.out linux +- # systems. If someone can suggest a more robust test +- # that would be appreciated. +- # +- # More info: +- # Date: Wed, 7 Feb 1996 03:21:04 +0900 +- # From: Jeffrey Friedl +- # +- # I tried compiling with DBM support and sure enough things locked up +- # just as advertised. Checking into it, I found that the lockup was +- # during the call to dbm_open. Not *in* dbm_open -- but between the call +- # to and the jump into. +- # +- # To make a long story short, making sure that the *.a and *.sa pairs of +- # /usr/lib/lib{m,db,gdbm}.{a,sa} +- # were perfectly in sync took care of it. +- # +- # This will generate a harmless Whoa There! message +- case "$d_dbm_open" in +- '') cat <<'EOM' >&4 +- +-Disabling ndbm. This will generate a Whoa There message in Configure. +-Read hints/linux.sh for further information. +-EOM +- # You can override this with Configure -Dd_dbm_open +- d_dbm_open=undef +- ;; +- esac +-fi +- +-rm -f try.c a.out +- + if ${sh:-/bin/sh} -c exit; then + echo '' + echo 'You appear to have a working bash. Good.' diff --git a/5.024.004-64bit,threaded/Dockerfile b/5.024.004-64bit,threaded/Dockerfile new file mode 100644 index 0000000..5f34f1d --- /dev/null +++ b/5.024.004-64bit,threaded/Dockerfile @@ -0,0 +1,27 @@ +FROM buildpack-deps:stretch +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.bz2 -o perl-5.24.4.tar.bz2 \ + && echo 'e34ff38c54857f431f37403b757267c9998152bf46b5c750b462f62461279b10 *perl-5.24.4.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xjf perl-5.24.4.tar.bz2 -C /usr/src/perl \ + && rm perl-5.24.4.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz \ + && echo '68a06f7da80882a95bc02c92c7ee305846fb6ab648cf83678ea945e44ad65c65 *App-cpanminus-1.7043.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7043.tar.gz && cd App-cpanminus-1.7043 && perl bin/cpanm . && cd /root \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7043* /tmp/* + +WORKDIR /root + +CMD ["perl5.24.4","-de0"] diff --git a/5.024.004-64bit/DevelPatchPerl.patch b/5.024.004-64bit/DevelPatchPerl.patch new file mode 100644 index 0000000..4c69d78 --- /dev/null +++ b/5.024.004-64bit/DevelPatchPerl.patch @@ -0,0 +1,97 @@ +diff --git a/hints/linux.sh b/hints/linux.sh +index fb5a46e..3f38ea0 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -221,92 +221,6 @@ case "$libc" in + ;; + esac + +-# Are we using ELF? Thanks to Kenneth Albanowski +-# for this test. +-cat >try.c <<'EOM' +-/* Test for whether ELF binaries are produced */ +-#include +-#include +-#include +-main() { +- char buffer[4]; +- int i=open("a.out",O_RDONLY); +- if(i==-1) +- exit(1); /* fail */ +- if(read(i,&buffer[0],4)<4) +- exit(1); /* fail */ +- if(buffer[0] != 127 || buffer[1] != 'E' || +- buffer[2] != 'L' || buffer[3] != 'F') +- exit(1); /* fail */ +- exit(0); /* succeed (yes, it's ELF) */ +-} +-EOM +-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then +- cat <<'EOM' >&4 +- +-You appear to have ELF support. I'll try to use it for dynamic loading. +-If dynamic loading doesn't work, read hints/linux.sh for further information. +-EOM +- +-else +- cat <<'EOM' >&4 +- +-You don't have an ELF gcc. I will use dld if possible. If you are +-using a version of DLD earlier than 3.2.6, or don't have it at all, you +-should probably upgrade. If you are forced to use 3.2.4, you should +-uncomment a couple of lines in hints/linux.sh and restart Configure so +-that shared libraries will be disallowed. +- +-EOM +- lddlflags="-r $lddlflags" +- # These empty values are so that Configure doesn't put in the +- # Linux ELF values. +- ccdlflags=' ' +- cccdlflags=' ' +- ccflags="-DOVR_DBL_DIG=14 $ccflags" +- so='sa' +- dlext='o' +- nm_so_opt=' ' +- ## If you are using DLD 3.2.4 which does not support shared libs, +- ## uncomment the next two lines: +- #ldflags="-static" +- #so='none' +- +- # In addition, on some systems there is a problem with perl and NDBM +- # which causes AnyDBM and NDBM_File to lock up. This is evidenced +- # in the tests as AnyDBM just freezing. Apparently, this only +- # happens on a.out systems, so we disable NDBM for all a.out linux +- # systems. If someone can suggest a more robust test +- # that would be appreciated. +- # +- # More info: +- # Date: Wed, 7 Feb 1996 03:21:04 +0900 +- # From: Jeffrey Friedl +- # +- # I tried compiling with DBM support and sure enough things locked up +- # just as advertised. Checking into it, I found that the lockup was +- # during the call to dbm_open. Not *in* dbm_open -- but between the call +- # to and the jump into. +- # +- # To make a long story short, making sure that the *.a and *.sa pairs of +- # /usr/lib/lib{m,db,gdbm}.{a,sa} +- # were perfectly in sync took care of it. +- # +- # This will generate a harmless Whoa There! message +- case "$d_dbm_open" in +- '') cat <<'EOM' >&4 +- +-Disabling ndbm. This will generate a Whoa There message in Configure. +-Read hints/linux.sh for further information. +-EOM +- # You can override this with Configure -Dd_dbm_open +- d_dbm_open=undef +- ;; +- esac +-fi +- +-rm -f try.c a.out +- + if ${sh:-/bin/sh} -c exit; then + echo '' + echo 'You appear to have a working bash. Good.' diff --git a/5.024.004-64bit/Dockerfile b/5.024.004-64bit/Dockerfile new file mode 100644 index 0000000..d3bf8db --- /dev/null +++ b/5.024.004-64bit/Dockerfile @@ -0,0 +1,27 @@ +FROM buildpack-deps:stretch +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN curl -SL https://www.cpan.org/src/5.0/perl-5.24.4.tar.bz2 -o perl-5.24.4.tar.bz2 \ + && echo 'e34ff38c54857f431f37403b757267c9998152bf46b5c750b462f62461279b10 *perl-5.24.4.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xjf perl-5.24.4.tar.bz2 -C /usr/src/perl \ + && rm perl-5.24.4.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz \ + && echo '68a06f7da80882a95bc02c92c7ee305846fb6ab648cf83678ea945e44ad65c65 *App-cpanminus-1.7043.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7043.tar.gz && cd App-cpanminus-1.7043 && perl bin/cpanm . && cd /root \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7043* /tmp/* + +WORKDIR /root + +CMD ["perl5.24.4","-de0"] diff --git a/5.026.002-64bit,threaded/DevelPatchPerl.patch b/5.026.002-64bit,threaded/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.026.002-64bit,threaded/Dockerfile b/5.026.002-64bit,threaded/Dockerfile new file mode 100644 index 0000000..1e0ecd6 --- /dev/null +++ b/5.026.002-64bit,threaded/Dockerfile @@ -0,0 +1,27 @@ +FROM buildpack-deps:stretch +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN curl -SL https://www.cpan.org/src/5.0/perl-5.26.2.tar.bz2 -o perl-5.26.2.tar.bz2 \ + && echo '3f6a6b5bbd43016e5211e24b6631ea84216dd300216a2293b41c9195032f3e81 *perl-5.26.2.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xjf perl-5.26.2.tar.bz2 -C /usr/src/perl \ + && rm perl-5.26.2.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Dusethreads -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz \ + && echo '68a06f7da80882a95bc02c92c7ee305846fb6ab648cf83678ea945e44ad65c65 *App-cpanminus-1.7043.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7043.tar.gz && cd App-cpanminus-1.7043 && perl bin/cpanm . && cd /root \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7043* /tmp/* + +WORKDIR /root + +CMD ["perl5.26.2","-de0"] diff --git a/5.026.002-64bit/DevelPatchPerl.patch b/5.026.002-64bit/DevelPatchPerl.patch new file mode 100644 index 0000000..e69de29 diff --git a/5.026.002-64bit/Dockerfile b/5.026.002-64bit/Dockerfile new file mode 100644 index 0000000..6f645c1 --- /dev/null +++ b/5.026.002-64bit/Dockerfile @@ -0,0 +1,27 @@ +FROM buildpack-deps:stretch +LABEL maintainer="Peter Martini , Zak B. Elep " + +COPY *.patch /usr/src/perl/ +WORKDIR /usr/src/perl + +RUN curl -SL https://www.cpan.org/src/5.0/perl-5.26.2.tar.bz2 -o perl-5.26.2.tar.bz2 \ + && echo '3f6a6b5bbd43016e5211e24b6631ea84216dd300216a2293b41c9195032f3e81 *perl-5.26.2.tar.bz2' | sha256sum -c - \ + && tar --strip-components=1 -xjf perl-5.26.2.tar.bz2 -C /usr/src/perl \ + && rm perl-5.26.2.tar.bz2 \ + && cat *.patch | patch -p1 \ + && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ + && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ + && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ + && ./Configure -Darchname="$gnuArch" "$archFlag" -Duseshrplib -Dvendorprefix=/usr/local -des \ + && make -j$(nproc) \ + && TEST_JOBS=$(nproc) make test_harness \ + && make install \ + && cd /usr/src \ + && curl -LO http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz \ + && echo '68a06f7da80882a95bc02c92c7ee305846fb6ab648cf83678ea945e44ad65c65 *App-cpanminus-1.7043.tar.gz' | sha256sum -c - \ + && tar -xzf App-cpanminus-1.7043.tar.gz && cd App-cpanminus-1.7043 && perl bin/cpanm . && cd /root \ + && rm -fr ./cpanm /root/.cpanm /usr/src/perl /usr/src/App-cpanminus-1.7043* /tmp/* + +WORKDIR /root + +CMD ["perl5.26.2","-de0"]