summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2022-07-25 20:53:49 +0000
committer Eric Hameleers <alien@slackware.com>2022-07-26 13:30:29 +0200
commitbfbbd63f28b02960c01a00957030a3ced233f82e (patch)
treec1fe5db2c077d048e1eee46ebc8e635ac2de78c3 /patches
parent7e930376320e016856285807d7788b01e51cc594 (diff)
downloadcurrent-bfbbd63f28b02960c01a00957030a3ced233f82e.tar.gz
current-bfbbd63f28b02960c01a00957030a3ced233f82e.tar.xz
Mon Jul 25 20:53:49 UTC 202220220725205349_15.0
patches/packages/mozilla-firefox-91.12.0esr-x86_64-1_slack15.0.txz: Upgraded. This update contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/firefox/91.12.0/releasenotes/ (* Security fix *) patches/packages/perl-5.34.0-x86_64-2_slack15.0.txz: Rebuilt. This is a bugfix release. Upgraded: Devel-CheckLib-1.16, IO-Socket-SSL-2.074, Net-SSLeay-1.92, Path-Tiny-0.122, Template-Toolkit-3.100, URI-5.12, libnet-3.14. Added a symlink to libperl.so in /usr/${LIBDIRSUFFIX} since net-snmp (and possibly other programs) might have trouble linking with it since it's not in the LD_LIBRARY_PATH. Thanks to oneforall.
Diffstat (limited to 'patches')
-rw-r--r--patches/packages/mozilla-firefox-91.12.0esr-x86_64-1_slack15.0.txt (renamed from patches/packages/mozilla-firefox-91.11.0esr-x86_64-1_slack15.0.txt)0
-rw-r--r--patches/packages/perl-5.34.0-x86_64-2_slack15.0.txt11
-rwxr-xr-xpatches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build2
-rw-r--r--patches/source/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch43
-rwxr-xr-xpatches/source/perl/perl.SlackBuild543
-rw-r--r--patches/source/perl/perl.configure.multilib.patch35
-rw-r--r--patches/source/perl/slack-desc19
7 files changed, 653 insertions, 0 deletions
diff --git a/patches/packages/mozilla-firefox-91.11.0esr-x86_64-1_slack15.0.txt b/patches/packages/mozilla-firefox-91.12.0esr-x86_64-1_slack15.0.txt
index 9d8594319..9d8594319 100644
--- a/patches/packages/mozilla-firefox-91.11.0esr-x86_64-1_slack15.0.txt
+++ b/patches/packages/mozilla-firefox-91.12.0esr-x86_64-1_slack15.0.txt
diff --git a/patches/packages/perl-5.34.0-x86_64-2_slack15.0.txt b/patches/packages/perl-5.34.0-x86_64-2_slack15.0.txt
new file mode 100644
index 000000000..35b5e09f8
--- /dev/null
+++ b/patches/packages/perl-5.34.0-x86_64-2_slack15.0.txt
@@ -0,0 +1,11 @@
+perl: perl (Practical Extraction and Report Language)
+perl:
+perl: Larry Wall's "Practical Extraction and Report Language". Perl is a
+perl: language optimized for scanning arbitrary text files, extracting
+perl: information from those text files, and printing reports based on that
+perl: information. It's also a good language for many system management
+perl: tasks. The language is intended to be practical (easy to use,
+perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).
+perl:
+perl: Homepage: https://www.perl.org
+perl:
diff --git a/patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build b/patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build
index e3030faa0..a4659df29 100755
--- a/patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build
+++ b/patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build
@@ -52,4 +52,6 @@ find . \
-exec chmod 644 {} \;
cargo build --release
+rm /root/.cargo/bin 2> /dev/null
+mkdir -p /root/.cargo/bin
install -Dm755 target/release/cbindgen /root/.cargo/bin
diff --git a/patches/source/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch b/patches/source/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch
new file mode 100644
index 000000000..911bc10fa
--- /dev/null
+++ b/patches/source/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch
@@ -0,0 +1,43 @@
+From a40f2774eede8e65dd6128b45525ec88f469e031 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Fri, 10 Jul 2015 13:02:00 +0200
+Subject: [PATCH 2/2] Do not create Net/libnet.cfg
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+I will remove the Net/libnet.cfg because:
+
+(1) it's content equals to default configuration hard-coded in the
+code
+(2) it's kind of configuration file we do not mark it as a configuration
+file, so it's overwritten on each update
+(3) it's loaded from directory based on Net::Config module location.
+I.e. core module will search it in core path, vendor module in vendor
+path and site module in site path.
+
+perl.spec does not provide it either.
+
+<https://bugzilla.redhat.com/show_bug.cgi?id=1238689>
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ Makefile.PL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index 64d6959..25fc626 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -235,7 +235,7 @@ MAIN: {
+ sub MY::post_initialize {
+ my $self = shift;
+
+- return '' if $self->{PERL_CORE};
++ return '';
+
+ if (not -f $CfgFile) {
+ my @args = qw(Configure);
+--
+2.5.0
+
diff --git a/patches/source/perl/perl.SlackBuild b/patches/source/perl/perl.SlackBuild
new file mode 100755
index 000000000..6397bb605
--- /dev/null
+++ b/patches/source/perl/perl.SlackBuild
@@ -0,0 +1,543 @@
+#!/bin/bash
+
+# Copyright 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# originally by: David Cantrell <david@slackware.com>
+# maintained by: <volkerdi@slackware.com>
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=perl
+VERSION=5.34.0
+BUILD=${BUILD:-2_slack15.0}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+# Set to "yes" to run tests:
+MAKETEST=${MAKETEST:-no}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-perl
+
+# Additional required modules:
+#
+# https://metacpan.org/release/Devel-CheckLib
+DEVELCHECKLIB=1.16
+# https://metacpan.org/release/DBD-mysql
+DBDMYSQL=4.050
+# https://metacpan.org/release/DBI
+DBI=1.643
+# https://metacpan.org/release/gettext
+GETTEXT=1.07
+# https://metacpan.org/release/TermReadKey
+TERMREADKEY=2.38
+# https://metacpan.org/release/URI
+URI=5.12
+# https://metacpan.org/release/XML-Parser
+XMLPARSER=2.46
+# https://metacpan.org/release/XML-Simple
+XMLSIMPLE=2.25
+# https://metacpan.org/release/Authen-SASL
+AUTHENSASL=2.16
+# https://metacpan.org/release/MIME-Base64
+MIMEBASE64=3.16
+# https://metacpan.org/release/IO-Socket-SSL
+IOSOCKETSSL=2.074
+# https://metacpan.org/release/Net-SSLeay
+NETSSLEAY=1.92
+# https://metacpan.org/release/libnet
+LIBNET=3.14
+# https://metacpan.org/release/Parse-Yapp
+PARSEYAPP=1.21
+# https://metacpan.org/release/Path-Tiny (freecell-solver)
+PATHTINY=0.122
+# https://metacpan.org/release/Template-Toolkit (freecell-solver)
+TEMPLATETOOLKIT=3.100
+# https://metacpan.org/release/Moo (freecell-solver)
+MOO=2.005004
+# https://metacpan.org/pod/Module::Runtime (freecell-solver)
+MODULERUNTIME=0.016
+# https://metacpan.org/pod/Sub::Quote (freecell-solver)
+SUBQUOTE=2.006006
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+if [ -x /usr/bin/perl ]; then
+ echo "Perl detected."
+ echo
+ echo "The perl package needs to be removed before building to ensure that"
+ echo "the perl modules are included in the new package."
+ echo
+ echo "Removing the perl package in 15 seconds, and then continuing with the build."
+ sleep 15
+ removepkg perl
+fi
+
+# Clear build location:
+rm -rf $PKG
+mkdir -p $PKG
+
+# Extract the source code:
+cd $TMP
+rm -rf perl-$VERSION
+tar xvf $CWD/perl-$VERSION.tar.?z || exit 1
+
+# Change into the source directory:
+cd perl-$VERSION
+
+# Adjust owner/perms to standard values:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# If after all this time you still don't trust threads, comment
+# out the variable below:
+#
+USE_THREADS="-Dusethreads -Duseithreads"
+
+if [ "$ARCH" = "x86_64" ]; then # adopted from "Cross Linux From Scratch"
+ # Configure must be told to also use lib64:
+ zcat $CWD/perl.configure.multilib.patch.gz | patch -p1 --verbose || exit 1
+ # "perl -V" should report that libc is in /lib64
+ sed -i -e '/libc/s#/lib/#/lib64/#' hints/linux.sh
+ # make perl use lib64:
+ echo 'installstyle="lib64/perl5"' >>hints/linux.sh
+fi
+
+# We no longer include suidperl. To quote the INSTALL file:
+#
+# Because of the buggy history of suidperl, and the difficulty
+# of properly security auditing as large and complex piece of
+# software as Perl, we cannot recommend using suidperl and the feature
+# should be considered deprecated.
+# Instead use for example 'sudo': http://www.courtesan.com/sudo/
+
+# Configure perl:
+./Configure -de \
+ -Dprefix=/usr \
+ -Dsiteprefix=/usr/local \
+ -Dsitelib="/usr/local/share/perl5" \
+ -Dsitearch="/usr/local/lib${LIBDIRSUFFIX}/perl5" \
+ -Darchlib="/usr/lib${LIBDIRSUFFIX}/perl5" \
+ -Dvendorprefix=/usr \
+ -Dprivlib="/usr/share/perl5" \
+ -Dvendorlib="/usr/share/perl5/vendor_perl" \
+ -Dvendorarch="/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl" \
+ -Dscriptdir='/usr/bin' \
+ -Dcccdlflags='-fPIC' \
+ -Dinstallprefix=/usr \
+ -Dlibpth="/usr/local/lib${LIBDIRSUFFIX} /usr/lib${LIBDIRSUFFIX} /lib${LIBDIRSUFFIX}" \
+ -Doptimize="$SLKCFLAGS" \
+ $USE_THREADS \
+ -Duseshrplib \
+ -Ubincompat5005 \
+ -Uversiononly \
+ -Dpager='/usr/bin/less -isr' \
+ -Darchname=$ARCH-linux || exit 1
+
+# -Duseshrplib creates libperl.so
+# -Ubincompat5005 helps create DSO -> libperl.so
+
+# Build perl
+make $NUMJOBS || exit 1
+if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+fi
+
+# Install perl (needed to build modules):
+make install || exit 1
+( cd /usr/bin
+ ln -sf perl$VERSION perl
+)
+
+# Install perl package:
+make install DESTDIR=$PKG || exit 1
+
+# Add additional modules:
+( cd ext
+ ( tar xzvf $CWD/Devel-CheckLib-${DEVELCHECKLIB}.tar.gz
+ cd Devel-CheckLib-${DEVELCHECKLIB}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Devel-CheckLib-${DEVELCHECKLIB}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Devel-CheckLib-${DEVELCHECKLIB}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Devel-CheckLib-${DEVELCHECKLIB}/README*
+ ) || exit 1
+ ( tar xzvf $CWD/DBI-${DBI}.tar.gz
+ cd DBI-${DBI}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/DBI-${DBI}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/DBI-${DBI}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/DBI-${DBI}/README*
+ ) || exit 1
+ ( tar xzvf $CWD/DBD-mysql-${DBDMYSQL}.tar.gz
+ cd DBD-mysql-${DBDMYSQL}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}
+ cp -a INSTALL.html README* TODO $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/DBD-mysql-${DBDMYSQL}/*
+ ) || exit 1
+ ( tar xzvf $CWD/XML-Parser-${XMLPARSER}.tar.gz
+ cd XML-Parser-${XMLPARSER}
+ chown -R root:root .
+ perl -I . Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/XML-Parser-${XMLPARSER}/*
+ ) || exit 1
+ ( tar xzvf $CWD/XML-Simple-${XMLSIMPLE}.tar.gz
+ cd XML-Simple-${XMLSIMPLE}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/XML-Simple${XMLSIMPLE}/*
+ ) || exit 1
+ ( tar xzvf $CWD/URI-${URI}.tar.gz
+ cd URI-${URI}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/URI-${URI}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/URI-${URI}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/URI-${URI}/*
+ )
+ ( tar xzvf $CWD/gettext-${GETTEXT}.tar.gz
+ cd Locale-gettext-${GETTEXT}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/gettext-${GETTEXT}/*
+ ) || exit 1
+ ( tar xzvf $CWD/TermReadKey-${TERMREADKEY}.tar.gz
+ cd TermReadKey-${TERMREADKEY}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/TermReadKey-${TERMREADKEY}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/TermReadKey-${TERMREADKEY}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/TermReadKey-${TERMREADKEY}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Authen-SASL-${AUTHENSASL}.tar.gz
+ cd Authen-SASL-${AUTHENSASL}
+ chown -R root:root .
+ perl -I . Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Authen-SASL-${AUTHENSASL}
+ cp -a README* META.yml $PKG/usr/doc/perl-$VERSION/Authen-SASL-${AUTHENSASL}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Authen-SASL-${AUTHENSASL}/*
+ ) || exit 1
+ ( tar xzvf $CWD/MIME-Base64-${MIMEBASE64}.tar.gz
+ cd MIME-Base64-${MIMEBASE64}
+ chown -R root:root .
+ perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/MIME-Base64-${MIMEBASE64}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/MIME-Base64-${MIMEBASE64}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/MIME-Base64-${MIMEBASE64}/*
+ ) || exit 1
+ ( tar xzvf $CWD/IO-Socket-SSL-${IOSOCKETSSL}.tar.gz
+ cd IO-Socket-SSL-${IOSOCKETSSL}
+ chown -R root:root .
+ echo Y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/IO-Socket-SSL-${IOSOCKETSSL}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/IO-Socket-SSL-${IOSOCKETSSL}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/IO-Socket-SSL-${IOSOCKETSSL}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Net-SSLeay-${NETSSLEAY}.tar.gz
+ cd Net-SSLeay-${NETSSLEAY}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Net-SSLeay-${NETSSLEAY}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Net-SSLeay-${NETSSLEAY}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Net-SSLeay-${NETSSLEAY}/*
+ ) || exit 1
+ ( tar xzvf $CWD/libnet-${LIBNET}.tar.gz
+ cd libnet-${LIBNET}
+ zcat $CWD/libnet-3.08-Do-not-create-Net-libnet.cfg.patch.gz | patch -p1 --verbose || exit 1
+ chown -R root:root .
+ echo | perl Makefile.PL \
+ PREFIX=/usr \
+ INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/libnet-${LIBNET}
+ cp -a Artistic Changes Copying INSTALL LICENCE README $PKG/usr/doc/perl-$VERSION/libnet-${LIBNET}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/libnet-${LIBNET}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Parse-Yapp-${PARSEYAPP}.tar.gz
+ cd Parse-Yapp-${PARSEYAPP}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Parse-Yapp-${PARSEYAPP}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Parse-Yapp-${PARSEYAPP}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Parse-Yapp-${PARSEYAPP}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Path-Tiny-${PATHTINY}.tar.gz
+ cd Path-Tiny-${PATHTINY}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Path-Tiny-${PATHTINY}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Path-Tiny-${PATHTINY}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Path-Tiny-${PATHTINY}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Template-Toolkit-${TEMPLATETOOLKIT}.tar.gz
+ cd Template-Toolkit-${TEMPLATETOOLKIT}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Template-Toolkit-${TEMPLATETOOLKIT}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Template-Toolkit-${TEMPLATETOOLKIT}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Template-Toolkit-${TEMPLATETOOLKIT}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Moo-${MOO}.tar.gz
+ cd Moo-${MOO}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Moo-${MOO}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Moo-${MOO}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Moo-${MOO}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Module-Runtime-${MODULERUNTIME}.tar.gz
+ cd Module-Runtime-${MODULERUNTIME}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Module-Runtime-${MODULERUNTIME}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Module-Runtime-${MODULERUNTIME}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Module-Runtime-${MODULERUNTIME}/*
+ ) || exit 1
+ ( tar xzvf $CWD/Sub-Quote-${SUBQUOTE}.tar.gz
+ cd Sub-Quote-${SUBQUOTE}
+ chown -R root:root .
+ echo y | perl Makefile.PL INSTALLDIRS=vendor
+ make || exit 1
+ if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+ fi
+ make install || exit 1
+ make install DESTDIR=$PKG || exit 1
+ mkdir -p $PKG/usr/doc/perl-$VERSION/Sub-Quote-${SUBQUOTE}
+ cp -a README* $PKG/usr/doc/perl-$VERSION/Sub-Quote-${SUBQUOTE}
+ chmod 644 $PKG/usr/doc/perl-$VERSION/Sub-Quote-${SUBQUOTE}/*
+ ) || exit 1
+) || exit 1
+
+# Strip everything:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# There are also miniperl and microperl.
+# I haven't had any requests for them, but would be willing
+# to consider adding one or both to the package if anyone
+# actually needs them for some reason.
+#make microperl || exit 1
+
+# Symlinks that replace hard links
+( cd $PKG/usr/bin
+ ln -sf perl$VERSION perl
+)
+
+# Add a symlink to libperl.so, since otherwise we occasionally run into
+# binaries that can't find it since it's not in the LD_LIBRARY_PATH:
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ ln -sf perl*/CORE/libperl.so .
+)
+
+# Install documentation
+mkdir -p $PKG/usr/doc/perl-$VERSION
+cp -a \
+ AUTHORS Artistic Changes Copying INSTALL \
+ README* \
+ README.{cn,jp,ko,tw} README.linux \
+ $PKG/usr/doc/perl-$VERSION
+
+# We follow LSB with symlinks in /usr/share:
+( cd $PKG/usr/share
+ mv man ..
+)
+( cd $PKG/usr/man/man1
+ mkdir foo
+ cp *.1 foo
+ rm *.1
+ mv foo/* .
+ rmdir foo
+ gzip -9 *
+)
+( cd $PKG/usr/man/man3
+ gzip -9 *
+)
+
+chmod 755 $PKG/usr/bin/*
+chmod 644 $PKG/usr/man/man?/*
+
+# Don't ship a perllocal.pod populated with vendor_perl additions. The file is
+# meant for locally added perl modules:
+if [ -r $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod ]; then
+ mv $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perllocal.pod $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl.pod
+fi
+
+# Insert the slack-desc:
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/perl-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/perl/perl.configure.multilib.patch b/patches/source/perl/perl.configure.multilib.patch
new file mode 100644
index 000000000..c86ce65f7
--- /dev/null
+++ b/patches/source/perl/perl.configure.multilib.patch
@@ -0,0 +1,35 @@
+Submitted By: Ryan Oliver <ryan(dot)oliver(at)pha(dot)com(dot)au>
+Date: 2005-10-20
+Initial Package Version: 5.8.7
+Origin: Ryan Oliver
+Description: this patch allows perl to be installed in /usr/lib32 or /usr/lib64 instead of /usr/lib.
+
+--- perl-5.8.7/Configure-ORIG 2005-10-20 11:49:47.571389008 +1000
++++ perl-5.8.7/Configure 2005-10-20 12:30:35.571236464 +1000
+@@ -5930,6 +5930,8 @@
+ : The default "style" setting is made in installstyle.U
+ case "$installstyle" in
+ *lib/perl5*) set dflt privlib lib/$package/$version ;;
++*lib32/perl5*) set dflt privlib lib32/$package/$version ;;
++*lib64/perl5*) set dflt privlib lib64/$package/$version ;;
+ *) set dflt privlib lib/$version ;;
+ esac
+ eval $prefixit
+@@ -6433,6 +6435,8 @@
+ case "$sitelib" in
+ '') case "$installstyle" in
+ *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;;
++ *lib32/perl5*) dflt=$siteprefix/lib32/$package/site_$prog/$version ;;
++ *lib64/perl5*) dflt=$siteprefix/lib64/$package/site_$prog/$version ;;
+ *) dflt=$siteprefix/lib/site_$prog/$version ;;
+ esac
+ ;;
+@@ -6560,6 +6564,8 @@
+ prog=`echo $package | $sed 's/-*[0-9.]*$//'`
+ case "$installstyle" in
+ *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;;
++ *lib32/perl5*) dflt=$vendorprefix/lib32/$package/vendor_$prog/$version ;;
++ *lib64/perl5*) dflt=$vendorprefix/lib64/$package/vendor_$prog/$version ;;
+ *) dflt=$vendorprefix/lib/vendor_$prog/$version ;;
+ esac
+ ;;
diff --git a/patches/source/perl/slack-desc b/patches/source/perl/slack-desc
new file mode 100644
index 000000000..ebbe2956e
--- /dev/null
+++ b/patches/source/perl/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+perl: perl (Practical Extraction and Report Language)
+perl:
+perl: Larry Wall's "Practical Extraction and Report Language". Perl is a
+perl: language optimized for scanning arbitrary text files, extracting
+perl: information from those text files, and printing reports based on that
+perl: information. It's also a good language for many system management
+perl: tasks. The language is intended to be practical (easy to use,
+perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).
+perl:
+perl: Homepage: https://www.perl.org
+perl: