summaryrefslogtreecommitdiff
path: root/source/d/perl
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/perl')
-rw-r--r--source/d/perl/DBD-mysql.net_buffer_length.diff35
-rw-r--r--source/d/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch43
-rwxr-xr-xsource/d/perl/perl.SlackBuild227
-rw-r--r--source/d/perl/slack-desc14
4 files changed, 226 insertions, 93 deletions
diff --git a/source/d/perl/DBD-mysql.net_buffer_length.diff b/source/d/perl/DBD-mysql.net_buffer_length.diff
new file mode 100644
index 00000000..cb88a951
--- /dev/null
+++ b/source/d/perl/DBD-mysql.net_buffer_length.diff
@@ -0,0 +1,35 @@
+From 0f0cebe87fab335873fd3701bc304922da826940 Mon Sep 17 00:00:00 2001
+From: Michiel Beijen <michiel.beijen@gmail.com>
+Date: Fri, 23 Feb 2018 07:52:33 +0000
+Subject: [PATCH] Use net_buffer_length macro if available
+
+---
+ mysql.xs | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/mysql.xs b/mysql.xs
+index 3a9373d..0f97645 100644
+--- a/mysql.xs
++++ b/mysql.xs
+@@ -840,15 +840,14 @@ dbd_mysql_get_info(dbh, sql_info_type)
+ retsv = newSVpvn("`", 1);
+ break;
+ case SQL_MAXIMUM_STATEMENT_LENGTH:
+-#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 50709
+- /* MariaDB 10 is not MySQL source level compatible so this
+- only applies to MySQL*/
+- /* mysql_get_option() was added in mysql 5.7.3 */
+- /* MYSQL_OPT_NET_BUFFER_LENGTH was added in mysql 5.7.9 */
++ /* net_buffer_length macro is not defined in MySQL 5.7 and some MariaDB
++ versions - if it is not available, use newer mysql_get_option */
++#if !defined(net_buffer_length)
++ ;
++ unsigned long buffer_len;
+ mysql_get_option(NULL, MYSQL_OPT_NET_BUFFER_LENGTH, &buffer_len);
+ retsv = newSViv(buffer_len);
+ #else
+- /* before mysql 5.7.9 use net_buffer_length macro */
+ retsv = newSViv(net_buffer_length);
+ #endif
+ break;
+
diff --git a/source/d/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch b/source/d/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch
new file mode 100644
index 00000000..911bc10f
--- /dev/null
+++ b/source/d/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/source/d/perl/perl.SlackBuild b/source/d/perl/perl.SlackBuild
index 1210b6dc..94518bfe 100755
--- a/source/d/perl/perl.SlackBuild
+++ b/source/d/perl/perl.SlackBuild
@@ -1,6 +1,6 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2009, 2010, 2011, 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,12 +20,14 @@
# 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>
-VERSION=5.22.2
-BUILD=${BUILD:-1}
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=perl
+VERSION=5.26.2
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -37,20 +39,33 @@ if [ -z "$ARCH" ]; then
esac
fi
-NUMJOBS=${NUMJOBS:--j6}
+# 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:-" -j7 "}
+
+# Set to "yes" to run tests:
+MAKETEST=${MAKETEST:-no}
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-perl
# Additional required modules:
-DBDMYSQL=4.033
-DBI=1.636
-URI=1.71
-XMLPARSER=2.44
-XMLSIMPLE=2.22
+DBDMYSQL=4.046
+DBI=1.641
GETTEXT=1.07
-TERMREADKEY=2.33
+TERMREADKEY=2.37
+URI=1.74
+XMLPARSER=2.44
+XMLSIMPLE=2.25
+AUTHENSASL=2.16
+MIMEBASE64=3.15
+LIBNET=3.11
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
@@ -84,7 +99,7 @@ mkdir -p $PKG
# Extract the source code:
cd $TMP
rm -rf perl-$VERSION
-tar xvf $CWD/perl-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/perl-$VERSION.tar.?z || exit 1
# Change into the source directory:
cd perl-$VERSION
@@ -140,30 +155,25 @@ fi
-Ubincompat5005 \
-Uversiononly \
-Dpager='/usr/bin/less -isr' \
- -Darchname=$ARCH-linux
+ -Darchname=$ARCH-linux || exit 1
# -Duseshrplib creates libperl.so
# -Ubincompat5005 helps create DSO -> libperl.so
-# Kludge for gcc-4.2.4's needlessly changed output:
-cat makefile | grep -v '\<command-line\>' > foo
-mv foo makefile
-
# Build perl
make $NUMJOBS || exit 1
-make test
+if [ "$MAKETEST" = "yes" ]; then
+ make test || exit 1
+fi
# Install perl (needed to build modules):
-make install
+make install || exit 1
( cd /usr/bin
ln -sf perl$VERSION perl
- ln -sf c2ph pstruct
)
-#mkdir -p /usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux-thread-multi
# Install perl package:
-make install DESTDIR=$PKG
-#mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/${VERSION}/${ARCH}-linux-thread-multi
+make install DESTDIR=$PKG || exit 1
# Add additional modules:
( cd ext
@@ -171,58 +181,69 @@ make install DESTDIR=$PKG
cd DBI-${DBI}
chown -R root:root .
perl Makefile.PL INSTALLDIRS=vendor
- make
- make test
- make install
- make install DESTDIR=$PKG
+ 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}
+ zcat $CWD/DBD-mysql.net_buffer_length.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
perl Makefile.PL INSTALLDIRS=vendor
- make
- make test
- make install
- make install DESTDIR=$PKG
+ 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 Makefile.PL INSTALLDIRS=vendor
- make
- make test
- make install
- make install DESTDIR=$PKG
+ 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
- make test
- make install
- make install DESTDIR=$PKG
+ 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
- make test
- make install
- make install DESTDIR=$PKG
+ 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}/*
@@ -231,27 +252,76 @@ make install DESTDIR=$PKG
cd Locale-gettext-${GETTEXT}
chown -R root:root .
perl Makefile.PL INSTALLDIRS=vendor
- make
- make test
- make install
- make install DESTDIR=$PKG
+ 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
- make test
- make install
- make install DESTDIR=$PKG
+ 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/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
+) || exit 1
# Strip everything:
( cd $PKG
@@ -263,12 +333,12 @@ make install DESTDIR=$PKG
# 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
+#make microperl || exit 1
# Symlinks that replace hard links
( cd $PKG/usr/bin
ln -sf perl$VERSION perl
- ln -sf c2ph pstruct )
+)
# Install documentation
mkdir -p $PKG/usr/doc/perl-$VERSION
@@ -280,7 +350,8 @@ cp -a \
# We follow LSB with symlinks in /usr/share:
( cd $PKG/usr/share
- mv man .. )
+ mv man ..
+)
( cd $PKG/usr/man/man1
mkdir foo
cp *.1 foo
@@ -288,40 +359,24 @@ cp -a \
mv foo/* .
rmdir foo
gzip -9 *
- ln -sf c2ph.1.gz pstruct.1.gz )
+)
( cd $PKG/usr/man/man3
- gzip -9 * )
+ gzip -9 *
+)
chmod 755 $PKG/usr/bin/*
chmod 644 $PKG/usr/man/man?/*
-# This file shouldn't get clobbered:
+# 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/perllocal.pod.new
+ 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
-
-cat << EOF | sed -e "s#/lib/#/lib${LIBDIRSUFFIX}/#" | sed -e "s#i486#$ARCH#" \
- > $PKG/install/doinst.sh
-#!/bin/sh
-config() {
- NEW="\$1"
- OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r \$OLD ]; then
- mv \$NEW \$OLD
- elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy
- rm \$NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-config usr/lib/perl5/perllocal.pod.new
-EOF
-
# Build the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/perl-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/d/perl/slack-desc b/source/d/perl/slack-desc
index e28cf941..cd05fa75 100644
--- a/source/d/perl/slack-desc
+++ b/source/d/perl/slack-desc
@@ -1,19 +1,19 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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: 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: 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:
+perl: Homepage: http://www.perl.org
perl: