diff options
Diffstat (limited to 'source/d/perl')
-rw-r--r-- | source/d/perl/DBD-mysql.net_buffer_length.diff | 35 | ||||
-rw-r--r-- | source/d/perl/libnet-3.08-Do-not-create-Net-libnet.cfg.patch | 43 | ||||
-rwxr-xr-x | source/d/perl/perl.SlackBuild | 227 | ||||
-rw-r--r-- | source/d/perl/slack-desc | 14 |
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: |