diff options
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 |
commit | bfbbd63f28b02960c01a00957030a3ced233f82e (patch) | |
tree | c1fe5db2c077d048e1eee46ebc8e635ac2de78c3 /patches/source | |
parent | 7e930376320e016856285807d7788b01e51cc594 (diff) | |
download | current-bfbbd63f28b02960c01a00957030a3ced233f82e.tar.gz |
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/source')
-rwxr-xr-x | patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build | 2 | ||||
-rw-r--r-- | patches/source/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch | 43 | ||||
-rwxr-xr-x | patches/source/perl/perl.SlackBuild | 543 | ||||
-rw-r--r-- | patches/source/perl/perl.configure.multilib.patch | 35 | ||||
-rw-r--r-- | patches/source/perl/slack-desc | 19 |
5 files changed, 642 insertions, 0 deletions
diff --git a/patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build b/patches/source/mozilla-firefox/build-deps/cbindgen/cbindgen.build index e3030faa..a4659df2 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 00000000..911bc10f --- /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 00000000..6397bb60 --- /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 00000000..c86ce65f --- /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 00000000..ebbe2956 --- /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: |