perl: update to 5.20.2 and make the soname versioned (#871).
- Merged some patches from Gentoo for misc fixes/tweaks and versioned soname. - Update common/shlibs with libperl.so.5.20 soname.
This commit is contained in:
parent
2156357b74
commit
05f5b6e455
8 changed files with 384 additions and 7 deletions
|
@ -54,7 +54,7 @@ libgcc_s.so.1 libgcc-4.4.0_1
|
|||
libgcj.so.15 libgcj-4.9.0_1
|
||||
libgcj-tools.so.15 libgcj-4.9.0_1
|
||||
libgij.so.15 libgcj-4.9.0_1
|
||||
libperl.so perl-5.20.1_1
|
||||
libperl.so.5.20 perl-5.20.2_1
|
||||
libmp.so.3 gmp-5.0.1_1
|
||||
libgmp.so.10 gmp-5.0.1_1
|
||||
libgmpxx.so.4 gmpxx-6.0.0_2
|
||||
|
|
32
srcpkgs/perl/patches/D-SHA-CFLAGS.diff
Normal file
32
srcpkgs/perl/patches/D-SHA-CFLAGS.diff
Normal file
|
@ -0,0 +1,32 @@
|
|||
From a6a9d8165ffe93c36e0643c4557155fb10df8c4a Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Maier <tamiko@gentoo.org>
|
||||
Date: Sat, 29 Nov 2014 00:34:14 +0100
|
||||
Subject: [PATCH] Do not set custom CFLAGS in cpan/Digest-SHA
|
||||
|
||||
Bug-Gentoo: https://bugs.gentoo.org/506818
|
||||
|
||||
Patch-Name: gentoo/D-SHA-CFLAGS.diff
|
||||
---
|
||||
cpan/Digest-SHA/Makefile.PL | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/cpan/Digest-SHA/Makefile.PL b/cpan/Digest-SHA/Makefile.PL
|
||||
index 3d83865..f0d08a1 100644
|
||||
--- cpan/Digest-SHA/Makefile.PL
|
||||
+++ cpan/Digest-SHA/Makefile.PL
|
||||
@@ -27,12 +27,6 @@ if ($^O eq 'VMS') {
|
||||
}
|
||||
}
|
||||
|
||||
- # Enhance performance on Intel when using gcc
|
||||
-
|
||||
-if ($Config{archname} =~ /^i[3456]86/ && $Config{ccname} eq 'gcc') {
|
||||
- push(@extra, OPTIMIZE => '-O1 -fomit-frame-pointer');
|
||||
-}
|
||||
-
|
||||
my %att = (
|
||||
'NAME' => 'Digest::SHA',
|
||||
'VERSION_FROM' => $PM,
|
||||
--
|
||||
2.1.3
|
||||
|
111
srcpkgs/perl/patches/cleanup-paths.diff
Normal file
111
srcpkgs/perl/patches/cleanup-paths.diff
Normal file
|
@ -0,0 +1,111 @@
|
|||
From bd709251a971ce7855857ba230123605cfa710e7 Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Smirnov <civil@gentoo.org>
|
||||
Date: Mon, 19 May 2014 19:54:51 +0400
|
||||
Subject: [PATCH] Cleanup PATH and shrpenv
|
||||
|
||||
cut the crap of inventing paths, or adding search paths that we don't
|
||||
use
|
||||
|
||||
Patch-Name: gentoo/cleanup-paths.diff
|
||||
Original-By: Torsten Veller <tove@gentoo.org>
|
||||
---
|
||||
Configure | 79 ---------------------------------------------------------------
|
||||
1 file changed, 79 deletions(-)
|
||||
|
||||
diff --git a/Configure b/Configure
|
||||
index b221390..63b8848 100755
|
||||
--- Configure
|
||||
+++ Configure
|
||||
@@ -105,28 +105,6 @@ if test -d c:/. || ( uname -a | grep -i 'os\(/\|\)2' ) 2>&1 >/dev/null ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
-: Proper PATH setting
|
||||
-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
|
||||
-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
|
||||
-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
|
||||
-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
|
||||
-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
|
||||
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
|
||||
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
|
||||
-paths="$paths /sbin /usr/sbin /usr/libexec"
|
||||
-paths="$paths /system/gnu_library/bin"
|
||||
-
|
||||
-for p in $paths
|
||||
-do
|
||||
- case "$p_$PATH$p_" in
|
||||
- *$p_$p$p_*) ;;
|
||||
- *) test -d $p && PATH=$PATH$p_$p ;;
|
||||
- esac
|
||||
-done
|
||||
-
|
||||
-PATH=.$p_$PATH
|
||||
-export PATH
|
||||
-
|
||||
: shall we be using ksh?
|
||||
inksh=''
|
||||
needksh=''
|
||||
@@ -8500,60 +8478,6 @@ EOM
|
||||
;;
|
||||
esac
|
||||
|
||||
-# How will the perl executable find the installed shared $libperl?
|
||||
-# Add $xxx to ccdlflags.
|
||||
-# If we can't figure out a command-line option, use $shrpenv to
|
||||
-# set env LD_RUN_PATH. The main perl makefile uses this.
|
||||
-shrpdir=$archlibexp/CORE
|
||||
-xxx=''
|
||||
-tmp_shrpenv=''
|
||||
-if "$useshrplib"; then
|
||||
- case "$osname" in
|
||||
- aix)
|
||||
- # We'll set it in Makefile.SH...
|
||||
- ;;
|
||||
- solaris)
|
||||
- xxx="-R $shrpdir"
|
||||
- ;;
|
||||
- freebsd|mirbsd|netbsd|openbsd|interix|dragonfly|bitrig)
|
||||
- xxx="-Wl,-R$shrpdir"
|
||||
- ;;
|
||||
- bsdos|linux|irix*|dec_osf|gnu*|haiku)
|
||||
- xxx="-Wl,-rpath,$shrpdir"
|
||||
- ;;
|
||||
- next)
|
||||
- # next doesn't like the default...
|
||||
- ;;
|
||||
- hpux*)
|
||||
- # hpux doesn't like the default, either.
|
||||
- tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\""
|
||||
- ;;
|
||||
- cygwin)
|
||||
- # cygwin needs only ldlibpth
|
||||
- ;;
|
||||
- *)
|
||||
- tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
|
||||
- ;;
|
||||
- esac
|
||||
- case "$xxx" in
|
||||
- '') ;;
|
||||
- *)
|
||||
- # Only add $xxx if it isn't already in ccdlflags.
|
||||
- case " $ccdlflags " in
|
||||
- *" $xxx "*) ;;
|
||||
- *) ccdlflags="$ccdlflags $xxx"
|
||||
- cat <<EOM >&4
|
||||
-
|
||||
-Adding $xxx to the flags
|
||||
-passed to $ld so that the perl executable will find the
|
||||
-installed shared $libperl.
|
||||
-
|
||||
-EOM
|
||||
- ;;
|
||||
- esac
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
# Fix ccdlflags in AIX for building external extensions.
|
||||
# (For building Perl itself bare -bE:perl.exp is needed,
|
||||
# Makefile.SH takes care of this.)
|
||||
--
|
||||
1.9.3
|
||||
|
58
srcpkgs/perl/patches/create_libperl_soname.diff
Normal file
58
srcpkgs/perl/patches/create_libperl_soname.diff
Normal file
|
@ -0,0 +1,58 @@
|
|||
From eb67d0bdd774241d93c7aad72fa894da725020aa Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Smirnov <civil@gentoo.org>
|
||||
Date: Mon, 19 May 2014 19:41:49 +0400
|
||||
Subject: [PATCH] Set libperl soname
|
||||
|
||||
Bug-Gentoo: https://bugs.gentoo.org/286840
|
||||
|
||||
Patch-Name: gentoo/create_libperl_soname.diff
|
||||
|
||||
Ported to Perl 5.20
|
||||
---
|
||||
Makefile.SH | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Makefile.SH b/Makefile.SH
|
||||
index b65a7f3..a8b838f 100755
|
||||
--- Makefile.SH
|
||||
+++ Makefile.SH
|
||||
@@ -59,7 +59,7 @@ true)
|
||||
${api_revision}.${api_version}.${api_subversion} \
|
||||
-current_version \
|
||||
${revision}.${patchlevel}.${subversion} \
|
||||
- -install_name \$(shrpdir)/\$@"
|
||||
+ -install_name \$(shrpdir)/libperl.${revision}.${patchlevel}.dylib"
|
||||
;;
|
||||
cygwin*)
|
||||
shrpldflags="$shrpldflags -Wl,--out-implib=libperl.dll.a -Wl,--image-base,0x52000000"
|
||||
@@ -67,13 +67,15 @@ true)
|
||||
;;
|
||||
sunos*)
|
||||
linklibperl="-lperl"
|
||||
+ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}"
|
||||
;;
|
||||
- netbsd*|freebsd[234]*|openbsd*|dragonfly*|bitrig*)
|
||||
+ netbsd*|freebsd*|openbsd*|dragonfly*|bitrig*)
|
||||
linklibperl="-L. -lperl"
|
||||
+ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}"
|
||||
;;
|
||||
interix*)
|
||||
linklibperl="-L. -lperl"
|
||||
- shrpldflags="$shrpldflags -Wl,--image-base,0x57000000"
|
||||
+ shrpldflags="$shrpldflags -Wl,--image-base,0x57000000 -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}"
|
||||
;;
|
||||
aix*)
|
||||
case "$cc" in
|
||||
@@ -111,6 +113,9 @@ true)
|
||||
linklibperl='libperl.x'
|
||||
DPERL_EXTERNAL_GLOB=''
|
||||
;;
|
||||
+ linux*)
|
||||
+ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}"
|
||||
+ ;;
|
||||
esac
|
||||
case "$ldlibpthname" in
|
||||
'') ;;
|
||||
--
|
||||
1.9.3
|
||||
|
66
srcpkgs/perl/patches/drop_fstack_protector.diff
Normal file
66
srcpkgs/perl/patches/drop_fstack_protector.diff
Normal file
|
@ -0,0 +1,66 @@
|
|||
From 423890b1db83fce87d1283293a3d207e8f18aff4 Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Smirnov <civil@gentoo.org>
|
||||
Date: Mon, 19 May 2014 19:44:44 +0400
|
||||
Subject: [PATCH] Don't force -fstack-protector on everyone
|
||||
|
||||
Bug-Gentoo: https://bugs.gentoo.org/348557
|
||||
|
||||
Patch-Name: gentoo/drop_fstack_protector.diff
|
||||
|
||||
Original by Torsten Veller, ported to perl 5.20
|
||||
---
|
||||
Configure | 24 ------------------------
|
||||
1 file changed, 24 deletions(-)
|
||||
|
||||
diff --git a/Configure b/Configure
|
||||
index 293ef61..b221390 100755
|
||||
--- Configure
|
||||
+++ Configure
|
||||
@@ -5364,12 +5364,6 @@ default|recommended)
|
||||
# is to add the flag to the flags passed to the compiler at link time,
|
||||
# as that way the compiler can do the right implementation dependant
|
||||
# thing. (NWC)
|
||||
- case "$gccversion" in
|
||||
- ?*) set stack-protector -fstack-protector
|
||||
- eval $checkccflag
|
||||
- ;;
|
||||
- esac
|
||||
- ;;
|
||||
esac
|
||||
|
||||
case "$mips_type" in
|
||||
@@ -5507,15 +5501,6 @@ case "$ldflags" in
|
||||
;;
|
||||
*) dflt="$ldflags";;
|
||||
esac
|
||||
-# See note above about -fstack-protector
|
||||
-case "$ccflags" in
|
||||
-*-fstack-protector*)
|
||||
- case "$dflt" in
|
||||
- *-fstack-protector*) ;; # Don't add it again
|
||||
- *) dflt="$dflt -fstack-protector" ;;
|
||||
- esac
|
||||
- ;;
|
||||
-esac
|
||||
|
||||
: Try to guess additional flags to pick up local libraries.
|
||||
for thislibdir in $libpth; do
|
||||
@@ -8292,15 +8277,6 @@ EOM
|
||||
''|' ') dflt='none' ;;
|
||||
esac
|
||||
|
||||
- case "$ldflags" in
|
||||
- *-fstack-protector*)
|
||||
- case "$dflt" in
|
||||
- *-fstack-protector*) ;; # Don't add it again
|
||||
- *) dflt="$dflt -fstack-protector" ;;
|
||||
- esac
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
rp="Any special flags to pass to $ld to create a dynamically loaded library?"
|
||||
. ./myread
|
||||
case "$ans" in
|
||||
--
|
||||
1.9.3
|
||||
|
30
srcpkgs/perl/patches/perldoc-less-R.diff
Normal file
30
srcpkgs/perl/patches/perldoc-less-R.diff
Normal file
|
@ -0,0 +1,30 @@
|
|||
From 6ec80ea3574a990f02aebbeed5cf051b96cb939d Mon Sep 17 00:00:00 2001
|
||||
From: Niko Tyni <ntyni@debian.org>
|
||||
Date: Sat, 23 Aug 2014 18:46:43 -0700
|
||||
Subject: Tell the 'less' pager to allow terminal escape sequences
|
||||
|
||||
The 'ToTerm' backend generates terminal escape sequences that
|
||||
the 'less' pager does not display by default. The "-R" option
|
||||
controls this, so pass it in the LESS environment variable
|
||||
to avoid disturbing other pager invocations.
|
||||
|
||||
Bug-Debian: https://bugs.debian.org/758689
|
||||
Patch-Name: debian/perldoc-less-R.diff
|
||||
---
|
||||
cpan/Pod-Perldoc/lib/Pod/Perldoc.pm | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm b/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
|
||||
index 6ddd21d..1089f5b 100644
|
||||
--- cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
|
||||
+++ cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
|
||||
@@ -1892,6 +1892,9 @@ sub page { # apply a pager to the output file
|
||||
if ($self->is_vms) {
|
||||
last if system("$pager $output") == 0;
|
||||
} else {
|
||||
+ # fix visible escape codes in ToTerm output
|
||||
+ # https://bugs.debian.org/758689
|
||||
+ local $ENV{LESS} = defined $ENV{LESS} ? "$ENV{LESS} -R" : "-R";
|
||||
last if system("$pager \"$output\"") == 0;
|
||||
}
|
||||
}
|
75
srcpkgs/perl/patches/usr_local.diff
Normal file
75
srcpkgs/perl/patches/usr_local.diff
Normal file
|
@ -0,0 +1,75 @@
|
|||
From 1b9950c255b7d5f13b8c65bde26151908f30fc10 Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Smirnov <civil@gentoo.org>
|
||||
Date: Mon, 19 May 2014 19:58:00 +0400
|
||||
Subject: [PATCH] Remove /usr/local paths
|
||||
|
||||
remove /usr/local paths from all stuff thats used
|
||||
in Configure script
|
||||
|
||||
Patch-Name: gentoo/usr_local.diff
|
||||
Original-By: Torsten Veller <tove@gentoo.org>
|
||||
---
|
||||
Configure | 16 +++++++---------
|
||||
1 file changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/Configure b/Configure
|
||||
index 63b8848..d0a3c28 100755
|
||||
--- Configure
|
||||
+++ Configure
|
||||
@@ -1315,8 +1315,7 @@ archobjs=''
|
||||
archname=''
|
||||
: Possible local include directories to search.
|
||||
: Set locincpth to "" in a hint file to defeat local include searches.
|
||||
-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
|
||||
-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
|
||||
+locincpth=""
|
||||
:
|
||||
: no include file wanted by default
|
||||
inclwanted=''
|
||||
@@ -1329,12 +1328,11 @@ libnames=''
|
||||
: change the next line if compiling for Xenix/286 on Xenix/386
|
||||
xlibpth='/usr/lib/386 /lib/386'
|
||||
: Possible local library directories to search.
|
||||
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
|
||||
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
|
||||
+loclibpth=""
|
||||
|
||||
: general looking path for locating libraries
|
||||
glibpth="/lib /usr/lib $xlibpth"
|
||||
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
|
||||
+glibpth="$glibpth /usr/ccs/lib /usr/ucblib"
|
||||
test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
|
||||
test -f /shlib/libc.so && glibpth="/shlib $glibpth"
|
||||
test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
|
||||
@@ -4914,7 +4912,7 @@ esac
|
||||
: Set private lib path
|
||||
case "$plibpth" in
|
||||
'') if ./mips; then
|
||||
- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
|
||||
+ plibpth="$incpath/usr/lib $sysroot/usr/ccs/lib"
|
||||
fi;;
|
||||
esac
|
||||
case "$libpth" in
|
||||
@@ -20513,7 +20511,7 @@ else
|
||||
case "$ranlib" in
|
||||
:) ranlib='';;
|
||||
'')
|
||||
- ranlib=`./loc ranlib X /usr/bin /bin /usr/local/bin`
|
||||
+ ranlib=`./loc ranlib X /usr/bin /bin`
|
||||
$test -f $ranlib || ranlib=''
|
||||
;;
|
||||
esac
|
||||
@@ -23566,8 +23564,8 @@ lkflags='$lkflags'
|
||||
ln='$ln'
|
||||
lns='$lns'
|
||||
localtime_r_proto='$localtime_r_proto'
|
||||
-locincpth='$locincpth'
|
||||
-loclibpth='$loclibpth'
|
||||
+locincpth=""
|
||||
+loclibpth=""
|
||||
longdblsize='$longdblsize'
|
||||
longlongsize='$longlongsize'
|
||||
longsize='$longsize'
|
||||
--
|
||||
1.9.3
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
# Template build file for 'perl'.
|
||||
pkgname=perl
|
||||
version=5.20.1
|
||||
version=5.20.2
|
||||
revision=1
|
||||
hostmakedepends="less"
|
||||
makedepends="zlib-devel bzip2-devel gdbm-devel db-devel>=5.3"
|
||||
|
@ -9,7 +9,7 @@ maintainer="Juan RP <xtraeme@gmail.com>"
|
|||
homepage="http://www.perl.org"
|
||||
license="Artistic, GPL-1"
|
||||
distfiles="http://www.cpan.org/src/5.0/perl-${version}.tar.gz"
|
||||
checksum=fef10210f9e6f4dc2d190be0aee8e1fa2af664630f1d415868d33eebca26d4b5
|
||||
checksum=b1a43992a717d506095856d370550caa11dba8132a4fdaa186a1ae7e1fbd9b9d
|
||||
|
||||
provides="perl-Archive-Tar-1.96_1
|
||||
perl-Attribute-Handlers-0.96_1
|
||||
|
@ -158,6 +158,8 @@ do_configure() {
|
|||
-Dman1dir=/usr/share/man/man1
|
||||
-Dman3dir=/usr/share/man/man3"
|
||||
|
||||
ln -s libperl.so.${version%.*} libperl.so
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
cp -f ${FILESDIR}/cross/* .
|
||||
cp -f ${FILESDIR}/Configure.cross .
|
||||
|
@ -173,7 +175,8 @@ do_configure() {
|
|||
sh ./Configure.cross
|
||||
perl -Ilib make_patchnum.pl
|
||||
else
|
||||
./Configure -des ${_args} -Dcccdlflags="-fPIC" -Doptimize="$CFLAGS"
|
||||
./Configure -des ${_args} -Dlibperl="libperl.so.${version%.*}" \
|
||||
-Dcccdlflags="-fPIC" -Doptimize="$CFLAGS"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -185,8 +188,8 @@ do_build() {
|
|||
export LIB=$XBPS_CROSS_BASE/usr/lib
|
||||
export INCLUDE=$XBPS_CROSS_BASE/usr/include
|
||||
|
||||
make SHRPLDFLAGS='-shared -Wl,-soname,libperl.so' \
|
||||
CROSS_PERL=$HOST_PERL libperl.so ${makejobs}
|
||||
make SHRPLDFLAGS='-shared -Wl,-soname,libperl.so.${revision}.${patchlevel}' \
|
||||
CROSS_PERL=$HOST_PERL libperl.so.${version%.*} ${makejobs}
|
||||
|
||||
cp -fr $HOST_PERL_LIBS/auto/* lib/auto/
|
||||
mkdir -p lib/$XBPS_CROSS_TRIPLET
|
||||
|
@ -247,5 +250,7 @@ do_install() {
|
|||
find ${DESTDIR} -name .packlist -delete
|
||||
|
||||
# Make a symlink so that libperl.so is accesible.
|
||||
ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so ${DESTDIR}/usr/lib/libperl.so
|
||||
rm -f ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so
|
||||
ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version%.*} \
|
||||
${DESTDIR}/usr/lib/libperl.so.${version%.*}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue