summaryrefslogtreecommitdiff
path: root/lang/perl5
diff options
context:
space:
mode:
authorhasso <hasso@pkgsrc.org>2009-10-13 10:38:31 +0000
committerhasso <hasso@pkgsrc.org>2009-10-13 10:38:31 +0000
commit0760b5deb66605f41119ef86717316c8a44ef60f (patch)
tree1cb761bcb321641628f9c25e78a311ddc5521413 /lang/perl5
parent02bfdf2a08251dd0e2daf14a37a7920a768da186 (diff)
downloadpkgsrc-0760b5deb66605f41119ef86717316c8a44ef60f.tar.gz
Fix thread library detection on DragonFly. From corecode via PR 42170.
Diffstat (limited to 'lang/perl5')
-rw-r--r--lang/perl5/distinfo3
-rw-r--r--lang/perl5/patches/patch-db73
2 files changed, 75 insertions, 1 deletions
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo
index 39a3f33d86a..2ee0eb9045f 100644
--- a/lang/perl5/distinfo
+++ b/lang/perl5/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.60 2009/07/24 04:58:56 schmonz Exp $
+$NetBSD: distinfo,v 1.61 2009/10/13 10:38:31 hasso Exp $
SHA1 (perl-5.10.0.tar.gz) = adf73606dd5248af7ccdd735bcaa0e628ea75b3c
RMD160 (perl-5.10.0.tar.gz) = c6614fc99a162790a703f91085b24a60af903ba2
@@ -20,6 +20,7 @@ SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097
SHA1 (patch-cn) = 7ca2b1ff19f8371637a34ec26779b37d74c74cca
SHA1 (patch-co) = 811e5c391f9f9f72a3f52e6d590b0b4f1e851325
SHA1 (patch-da) = 13f576db014ec90df319670703482c7276a1f543
+SHA1 (patch-db) = 3aef75518bfea88cb5166026f04ef4d7c016bc99
SHA1 (patch-ri) = fc838ec10cf601a580aa1f58eb93c3198a13ff71
SHA1 (patch-ta) = 60d9ef72db56b9f149f3995b3f526fc32a352bd7
SHA1 (patch-zc) = a23002397ffaebb243f7683c95c8fb227af90f49
diff --git a/lang/perl5/patches/patch-db b/lang/perl5/patches/patch-db
new file mode 100644
index 00000000000..b6852d6eca5
--- /dev/null
+++ b/lang/perl5/patches/patch-db
@@ -0,0 +1,73 @@
+$NetBSD: patch-db,v 1.1 2009/10/13 10:38:31 hasso Exp $
+
+--- hints/dragonfly.sh.orig 2009-10-09 15:28:17 +0200
++++ hints/dragonfly.sh
+@@ -19,18 +19,10 @@ esac
+ # 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
++ libpth="/usr/lib /usr/local/lib"
++ glibpth="/usr/lib /usr/local/lib"
++ ldflags="-Wl,-E "
++ lddlflags="-shared "
+ cccdlflags='-DPIC -fPIC'
+ ;;
+ esac
+@@ -67,43 +59,16 @@ d_voidsig='define'
+ 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).
++ *) ldflags="-pthread $ldflags"
+
+-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