summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2005-01-18 00:56:43 +0000
committerjlam <jlam@pkgsrc.org>2005-01-18 00:56:43 +0000
commit4b1d594265269edd8406bcfe026c146a54cfd1aa (patch)
treeba50c7492d1fe26b79b5c3c97273282a25be38e7
parent603607f3885ad8e8dace3e3763acac786fc115b3 (diff)
downloadpkgsrc-4b1d594265269edd8406bcfe026c146a54cfd1aa.tar.gz
Teach perl58 about DragonFlyBSD. Patches provided by Todd Willey in
PR pkg/28963 with minor modifications by me. Also teach all of the BSDs (and Interix) to pass the rpath to libperl.so if a module needs to link with libperl.so when built with MakeMaker.pm. Bump the PKGREVISION to 2.
-rw-r--r--lang/perl58/Makefile4
-rw-r--r--lang/perl58/distinfo11
-rw-r--r--lang/perl58/patches/patch-aa30
-rw-r--r--lang/perl58/patches/patch-ae10
-rw-r--r--lang/perl58/patches/patch-ca22
-rw-r--r--lang/perl58/patches/patch-cb12
-rw-r--r--lang/perl58/patches/patch-cj123
7 files changed, 174 insertions, 38 deletions
diff --git a/lang/perl58/Makefile b/lang/perl58/Makefile
index 2cc5a3eebea..98b77d76bdf 100644
--- a/lang/perl58/Makefile
+++ b/lang/perl58/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.73 2005/01/17 20:21:44 jschauma Exp $
+# $NetBSD: Makefile,v 1.74 2005/01/18 00:56:43 jlam Exp $
# The following two variables should have empty values unless we're
# building a perl snapshot or release candidate.
@@ -13,7 +13,7 @@ EXTRACT_SUFX= .tar.bz2
.if empty(PERL5_SNAPSHOT) && empty(PERL5_RC_VERS)
DISTNAME= perl-${PERL5_VERS}
PKGNAME= perl-${PERL5_VERS}
-PKGREVISION= 1
+PKGREVISION= 2
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,}
.else
. if !empty(PERL5_SNAPSHOT)
diff --git a/lang/perl58/distinfo b/lang/perl58/distinfo
index 83eec8ec572..b64c3ddc2ce 100644
--- a/lang/perl58/distinfo
+++ b/lang/perl58/distinfo
@@ -1,15 +1,15 @@
-$NetBSD: distinfo,v 1.26 2005/01/06 06:46:52 tv Exp $
+$NetBSD: distinfo,v 1.27 2005/01/18 00:56:43 jlam Exp $
SHA1 (perl-5.8.6.tar.bz2) = 5267c5b4900a995a10e4fc56fe10a6852004c29b
Size (perl-5.8.6.tar.bz2) = 9693085 bytes
-SHA1 (patch-aa) = a441cba11b12a4285284e98b6e5918efbd8bafef
-SHA1 (patch-ae) = fa3bbb1561192ce9214a7a7c756ccb2595a52c80
+SHA1 (patch-aa) = 3c16c599dae752cea4143ca48071118ece5925a4
+SHA1 (patch-ae) = 044ac094cd475a16483552aa6f1bde03bd11f592
SHA1 (patch-ah) = cb103c14090b2d61720ee9b555b32085c8eeb810
SHA1 (patch-ba) = 74a01f3a86f263720b9f07d1fdbaadbaecafb012
SHA1 (patch-bd) = 9f96ba1912f2a8db93db31f7a63c0b49a045318d
SHA1 (patch-be) = 9f667f33ea24300a5580db84d0978ca53f126f29
-SHA1 (patch-ca) = 0e1f86c77dd07eac66c165fd59d56000438b2a03
-SHA1 (patch-cb) = 2221fb87bddd29406d925d1cb5351eb4f3087f76
+SHA1 (patch-ca) = 3198a5f49c2a850b1ea1f5c6f0738f45da505924
+SHA1 (patch-cb) = de10a31b699d877cedb3ca849458e10071912972
SHA1 (patch-cc) = b0760c8d1e3497a2a3ba1a14b049d35484c82579
SHA1 (patch-cd) = d9420f57f036567abac821a8144768a2a7057b47
SHA1 (patch-ce) = c7d2defd2cfa872c1f6651678bc3de6cd7aeaf34
@@ -17,4 +17,5 @@ SHA1 (patch-cf) = 23cf46c8d683b688878433ec9b33f3c65528cd28
SHA1 (patch-cg) = e1b56aaa40934f78298d1fd9303fbae33c472d8e
SHA1 (patch-ch) = 6cfd77bba102a4bca82576f061ba60c1610c4d07
SHA1 (patch-ci) = 89bc6e67b18ca903cb3791fd598fd579bc48298b
+SHA1 (patch-cj) = 680b7161d7530825376b9d5c108fc01f15768e5e
SHA1 (patch-zc) = eb81edd1144ec46285898afc641c03a3aad54977
diff --git a/lang/perl58/patches/patch-aa b/lang/perl58/patches/patch-aa
index 9265e196ac3..2881097ee4b 100644
--- a/lang/perl58/patches/patch-aa
+++ b/lang/perl58/patches/patch-aa
@@ -1,38 +1,42 @@
-$NetBSD: patch-aa,v 1.4 2004/04/24 21:04:43 tv Exp $
+$NetBSD: patch-aa,v 1.5 2005/01/18 00:56:44 jlam Exp $
---- lib/ExtUtils/MM_Unix.pm.orig Mon Jan 5 17:34:59 2004
-+++ lib/ExtUtils/MM_Unix.pm Fri Apr 23 14:07:03 2004
-@@ -12,7 +12,7 @@
+--- lib/ExtUtils/MM_Unix.pm.orig 2004-01-05 17:34:59.000000000 -0500
++++ lib/ExtUtils/MM_Unix.pm
+@@ -12,7 +12,7 @@ use DirHandle;
use vars qw($VERSION @ISA
$Is_Mac $Is_OS2 $Is_VMS $Is_Win32 $Is_Win95 $Is_Dos $Is_VOS
- $Is_QNX $Is_AIX $Is_OSF $Is_IRIX $Is_NetBSD $Is_BSD
-+ $Is_QNX $Is_AIX $Is_OSF $Is_IRIX $Is_NetBSD $Is_BSD $Is_Interix
++ $Is_QNX $Is_AIX $Is_OSF $Is_IRIX $Is_BSD $Is_Interix
$Is_SunOS4 $Is_Solaris $Is_SunOS
$Verbose %pm %static
%Config_Override
-@@ -37,10 +37,11 @@
+@@ -36,11 +36,11 @@ $Is_QNX = $^O eq 'qnx';
+ $Is_AIX = $^O eq 'aix';
$Is_OSF = $^O eq 'dec_osf';
$Is_IRIX = $^O eq 'irix';
- $Is_NetBSD = $^O eq 'netbsd';
+-$Is_NetBSD = $^O eq 'netbsd';
+$Is_Interix = $^O eq 'interix';
$Is_SunOS4 = $^O eq 'sunos';
$Is_Solaris = $^O eq 'solaris';
$Is_SunOS = $Is_SunOS4 || $Is_Solaris;
-$Is_BSD = $^O =~ /^(?:free|net|open)bsd|bsdos$/;
-+$Is_BSD = $^O =~ /^(?:free|net|open)bsd|bsdos|interix$/;
++$Is_BSD = $^O =~ /^(?:free|net|open)bsd|bsdos|dragonfly|interix$/;
=head1 NAME
-@@ -1120,16 +1127,16 @@
+@@ -1120,16 +1120,16 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
my $libs = '$(LDLOADLIBS)';
- if ($Is_NetBSD) {
-+ if ($Is_NetBSD || $Is_Interix) {
- # Use nothing on static perl platforms, and to the flags needed
- # to link against the shared libperl library on shared perl
- # platforms. We peek at lddlflags to see if we need -Wl,-R
+- # Use nothing on static perl platforms, and to the flags needed
+- # to link against the shared libperl library on shared perl
+- # platforms. We peek at lddlflags to see if we need -Wl,-R
++ if ($Is_BSD) {
++ # Use nothing on static perl platforms, and add to the flags
++ # needed to link against the shared libperl library on shared
++ # perl platforms. We peek at lddlflags to see if we need -Wl,-R
# or -R to add paths to the run-time library search path.
if ($Config{'useshrplib'}) {
if ($Config{'lddlflags'} =~ /-Wl,-R/) {
diff --git a/lang/perl58/patches/patch-ae b/lang/perl58/patches/patch-ae
index 760dfb7b4c0..d2f777ff722 100644
--- a/lang/perl58/patches/patch-ae
+++ b/lang/perl58/patches/patch-ae
@@ -1,12 +1,12 @@
-$NetBSD: patch-ae,v 1.2 2003/10/05 07:07:14 jlam Exp $
+$NetBSD: patch-ae,v 1.3 2005/01/18 00:56:44 jlam Exp $
---- makedepend.SH.orig Fri Jun 6 23:34:20 2003
+--- makedepend.SH.orig 2003-06-05 14:11:10.000000000 -0400
+++ makedepend.SH
-@@ -84,6 +84,7 @@
+@@ -83,7 +83,6 @@ if test -f Makefile; then
+ # to be out of date. I don't know if OS/2 has touch, so do this:
case "$osname" in
os2) ;;
- netbsd) ;;
-+ freebsd) ;;
+- netbsd) ;;
*) $touch $firstmakefile ;;
esac
fi
diff --git a/lang/perl58/patches/patch-ca b/lang/perl58/patches/patch-ca
index a815f691495..b280b104d52 100644
--- a/lang/perl58/patches/patch-ca
+++ b/lang/perl58/patches/patch-ca
@@ -1,8 +1,14 @@
-$NetBSD: patch-ca,v 1.7 2005/01/04 09:50:15 jlam Exp $
+$NetBSD: patch-ca,v 1.8 2005/01/18 00:56:44 jlam Exp $
--- Configure.orig 2004-09-10 02:25:52.000000000 -0400
+++ Configure
-@@ -3111,7 +3111,7 @@ EOM
+@@ -3107,11 +3107,13 @@ EOM
+ dgux) osname=dgux
+ osvers="$3"
+ ;;
++ dragonfly) osname=dragonfly
++ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
+ dynixptx*) osname=dynixptx
osvers=`echo "$4"|sed 's/^v//'`
;;
freebsd) osname=freebsd
@@ -11,7 +17,7 @@ $NetBSD: patch-ca,v 1.7 2005/01/04 09:50:15 jlam Exp $
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
-@@ -3133,7 +3133,7 @@ EOM
+@@ -3133,7 +3135,7 @@ EOM
MiNT) osname=mint
;;
netbsd*) osname=netbsd
@@ -20,7 +26,7 @@ $NetBSD: patch-ca,v 1.7 2005/01/04 09:50:15 jlam Exp $
;;
news-os) osvers="$3"
case "$3" in
-@@ -3144,8 +3144,8 @@ EOM
+@@ -3144,8 +3146,8 @@ EOM
next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@@ -31,16 +37,16 @@ $NetBSD: patch-ca,v 1.7 2005/01/04 09:50:15 jlam Exp $
os2) osname=os2
osvers="$4"
;;
-@@ -7852,7 +7852,7 @@ if "$useshrplib"; then
+@@ -7852,7 +7854,7 @@ if "$useshrplib"; then
solaris)
xxx="-R $shrpdir"
;;
- freebsd|netbsd|openbsd)
-+ freebsd|netbsd|openbsd|interix)
++ freebsd|netbsd|openbsd|dragonfly|interix)
xxx="-Wl,-R$shrpdir"
;;
bsdos|linux|irix*|dec_osf)
-@@ -8973,6 +8973,13 @@ EOCP
+@@ -8973,6 +8975,13 @@ EOCP
;;
esac
@@ -54,7 +60,7 @@ $NetBSD: patch-ca,v 1.7 2005/01/04 09:50:15 jlam Exp $
case "$vendorprefix" in
'') d_vendorbin="$undef"
vendorbin=''
-@@ -17290,7 +17297,15 @@ RCAT(Rei,ser)
+@@ -17290,7 +17299,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
diff --git a/lang/perl58/patches/patch-cb b/lang/perl58/patches/patch-cb
index 68ba5937e0f..b3527d4f6e0 100644
--- a/lang/perl58/patches/patch-cb
+++ b/lang/perl58/patches/patch-cb
@@ -1,15 +1,17 @@
-$NetBSD: patch-cb,v 1.3 2004/04/26 04:42:12 jlam Exp $
+$NetBSD: patch-cb,v 1.4 2005/01/18 00:56:44 jlam Exp $
---- Makefile.SH.orig Sat Mar 6 10:54:23 2004
-+++ Makefile.SH Mon Apr 26 00:33:38 2004
-@@ -69,6 +69,10 @@
+--- Makefile.SH.orig 2004-10-21 11:30:02.000000000 -0400
++++ Makefile.SH
+@@ -69,7 +69,11 @@ true)
sunos*)
linklibperl="-lperl"
;;
+- netbsd*|freebsd[234]*|openbsd*)
+ interix*)
+ linklibperl="-L. -lperl"
+ shrpldflags="$shrpldflags -Wl,--image-base,0x57000000"
+ ;;
- netbsd*|freebsd[234]*|openbsd*)
++ netbsd*|freebsd[234]*|openbsd*|dragonfly*)
linklibperl="-L. -lperl"
;;
+ aix*)
diff --git a/lang/perl58/patches/patch-cj b/lang/perl58/patches/patch-cj
new file mode 100644
index 00000000000..c2efb58cd0f
--- /dev/null
+++ b/lang/perl58/patches/patch-cj
@@ -0,0 +1,123 @@
+$NetBSD: patch-cj,v 1.1 2005/01/18 00:56:44 jlam Exp $
+
+--- /dev/null 2005-01-17 19:31:20.000000000 -0500
++++ hints/dragonfly.sh 2005-01-17 19:39:56.000000000 -0500
+@@ -0,0 +1,118 @@
++# hints/dragonfly.sh
++#
++# This file is mostly copied from hints/freebsd.sh with the OS version
++# information taken out and only the FreeBSD-4 information intact.
++# Please check with Todd Willey <xtoddx@gmail.com> before making
++# modifications to this file.
++
++case "$osvers" in
++*) usevfork='true'
++ case "$usemymalloc" in
++ "") usemymalloc='n'
++ ;;
++ esac
++ libswanted=`echo $libswanted | sed 's/ malloc / /'`
++ ;;
++esac
++
++# Dynamic Loading flags have not changed much, so they are separated
++# out here to avoid duplicating them everywhere.
++case "$osvers" in
++*)
++ objformat=`/usr/bin/objformat`
++ if [ x$objformat = xelf ]; then
++ libpth="/usr/lib /usr/local/lib"
++ glibpth="/usr/lib /usr/local/lib"
++ ldflags="-Wl,-E "
++ lddlflags="-shared "
++ else
++ if [ -e /usr/lib/aout ]; then
++ libpth="/usr/lib/aout /usr/local/lib /usr/lib"
++ glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
++ fi
++ lddlflags='-Bshareable'
++ fi
++ cccdlflags='-DPIC -fPIC'
++ ;;
++esac
++
++case "$osvers" in
++*)
++ ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
++ if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
++ usenm=false
++ fi
++ ;;
++esac
++
++cat <<'EOM' >&4
++
++Some users have reported that Configure halts when testing for
++the O_NONBLOCK symbol with a syntax error. This is apparently a
++sh error. Rerunning Configure with ksh apparently fixes the
++problem. Try
++ ksh Configure [your options]
++
++EOM
++
++# From: Anton Berezin <tobez@plab.ku.dk>
++# To: perl5-porters@perl.org
++# Subject: [PATCH 5.005_54] Configure - hints/freebsd.sh signal handler type
++# Date: 30 Nov 1998 19:46:24 +0100
++# Message-ID: <864srhhvcv.fsf@lion.plab.ku.dk>
++
++signal_t='void'
++d_voidsig='define'
++
++# This script UU/usethreads.cbu will get 'called-back' by Configure
++# after it has prompted the user for whether to use threads.
++cat > UU/usethreads.cbu <<'EOCBU'
++case "$usethreads" in
++$define|true|[yY]*)
++ lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
++ case "$osvers" in
++ *)
++ if [ ! -r "$lc_r" ]; then
++ cat <<EOM >&4
++POSIX threads should be supported by FreeBSD $osvers --
++but your system is missing the shared libc_r.
++(/sbin/ldconfig -r doesn't find any).
++
++Consider using the latest STABLE release.
++EOM
++ exit 1
++ fi
++ case "$osvers" in
++ *) ldflags="-pthread $ldflags"
++ ;;
++ esac
++ # Both in 4.x and 5.x gethostbyaddr_r exists but
++ # it is "Temporary function, not threadsafe"...
++ # Presumably earlier it didn't even exist.
++ d_gethostbyaddr_r="undef"
++ d_gethostbyaddr_r_proto="0"
++ ;;
++
++ esac
++
++ set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
++ shift
++ libswanted="$*"
++ # Configure will probably pick the wrong libc to use for nm scan.
++ # The safest quick-fix is just to not use nm at all...
++ usenm=false
++
++ unset lc_r
++
++ # Even with the malloc mutexes the Perl malloc does not
++ # seem to be threadsafe in FreeBSD?
++ case "$usemymalloc" in
++ '') usemymalloc=n ;;
++ esac
++esac
++EOCBU
++
++# malloc wrap works
++case "$usemallocwrap" in
++'') usemallocwrap='define' ;;
++esac