Subject: pkg/28963: lang/perl58 patches for DragonFlyBSD
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <xtoddx@gmail.com>
List: pkgsrc-bugs
Date: 01/14/2005 17:00:01
>Number: 28963
>Category: pkg
>Synopsis: lang/perl58 patches for DragonFlyBSD
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Fri Jan 14 17:00:00 +0000 2005
>Originator: Todd Willey
>Release:
>Organization:
Crescent Anchor
>Environment:
>Description:
The enclosed patches are generated in lang/perl58/patches and incorporate changes that were made to support DragonFlyBSD. After building perl, I ran a "make test" and one test failed (ext/POSIX/t/posix.........................FAILED at test 11), but all others worked. I'm not sure how much of the enclosed patches are actually needed, since I basically just copied "freebsd"-isms to "dragonfly". The hints/dragonfly.sh file is the same as hints/freebsd.sh with the os-version information taken out and only the FreeBSD-4 infromation intact.
>How-To-Repeat:
>Fix:
cvs diff: Diffing .
Index: patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl58/patches/patch-aa,v
retrieving revision 1.4
diff -u -r1.4 patch-aa
--- patch-aa 24 Apr 2004 21:04:43 -0000 1.4
+++ patch-aa 14 Jan 2005 16:46:06 -0000
@@ -20,7 +20,7 @@
$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
Index: patch-ae
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl58/patches/patch-ae,v
retrieving revision 1.2
diff -u -r1.2 patch-ae
--- patch-ae 5 Oct 2003 07:07:14 -0000 1.2
+++ patch-ae 14 Jan 2005 16:46:06 -0000
@@ -2,11 +2,12 @@
--- makedepend.SH.orig Fri Jun 6 23:34:20 2003
+++ makedepend.SH
-@@ -84,6 +84,7 @@
+@@ -84,6 +84,8 @@
case "$osname" in
os2) ;;
netbsd) ;;
+ freebsd) ;;
++ dragonfly) ;;
*) $touch $firstmakefile ;;
esac
fi
Index: patch-ca
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl58/patches/patch-ca,v
retrieving revision 1.7
diff -u -r1.7 patch-ca
--- patch-ca 4 Jan 2005 09:50:15 -0000 1.7
+++ patch-ca 14 Jan 2005 16:46:06 -0000
@@ -2,16 +2,18 @@
--- Configure.orig 2004-09-10 02:25:52.000000000 -0400
+++ Configure
-@@ -3111,7 +3111,7 @@ EOM
+@@ -3111,7 +3111,9 @@ EOM
osvers=`echo "$4"|sed 's/^v//'`
;;
freebsd) osname=freebsd
- osvers="$3" ;;
+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
++ dragonfly) osname=dragonfly
++ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
-@@ -3133,7 +3133,7 @@ EOM
+@@ -3135,7 +3135,7 @@ EOM
MiNT) osname=mint
;;
netbsd*) osname=netbsd
@@ -20,7 +22,7 @@
;;
news-os) osvers="$3"
case "$3" in
-@@ -3144,8 +3144,8 @@ EOM
+@@ -3146,8 +3146,8 @@ EOM
next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@@ -31,16 +33,16 @@
os2) osname=os2
osvers="$4"
;;
-@@ -7852,7 +7852,7 @@ if "$useshrplib"; then
+@@ -7854,7 +7854,7 @@ if "$useshrplib"; then
solaris)
xxx="-R $shrpdir"
;;
- freebsd|netbsd|openbsd)
-+ freebsd|netbsd|openbsd|interix)
++ freebsd|netbsd|openbsd|interix|dragonfly)
xxx="-Wl,-R$shrpdir"
;;
bsdos|linux|irix*|dec_osf)
-@@ -8973,6 +8973,13 @@ EOCP
+@@ -8975,6 +8975,13 @@ EOCP
;;
esac
@@ -54,7 +56,7 @@
case "$vendorprefix" in
'') d_vendorbin="$undef"
vendorbin=''
-@@ -17290,7 +17297,15 @@ RCAT(Rei,ser)
+@@ -17292,7 +17299,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
Index: patch-cb
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl58/patches/patch-cb,v
retrieving revision 1.3
diff -u -r1.3 patch-cb
--- patch-cb 26 Apr 2004 04:42:12 -0000 1.3
+++ patch-cb 14 Jan 2005 16:46:06 -0000
@@ -1,15 +1,15 @@
-$NetBSD: patch-cb,v 1.3 2004/04/26 04:42:12 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 2005-01-14 16:15:26.000000000 +0000
++++ Makefile.SH 2005-01-14 16:15:57.000000000 +0000
+@@ -69,7 +69,11 @@
sunos*)
linklibperl="-lperl"
;;
-+ interix*)
-+ linklibperl="-L. -lperl"
-+ shrpldflags="$shrpldflags -Wl,--image-base,0x57000000"
-+ ;;
- netbsd*|freebsd[234]*|openbsd*)
+- netbsd*|freebsd[234]*|openbsd*)
++ interix*)
++ linklibperl="-L. -lperl"
++ shrpldflags="$shrpldflags -Wl,--image-base,0x57000000"
++ ;;
++ netbsd*|freebsd[234]*|openbsd*|dragonfly*)
linklibperl="-L. -lperl"
;;
+ aix*)
--- /dev/null 2005-01-14 16:19:39.000000000 +0000
+++ hints/dragonfly.sh 2005-01-14 16:22:32.000000000 +0000
@@ -0,0 +1,162 @@
+# Original based on info from
+# Carl M. Fongheiser <cmf@ins.infonet.net>
+# Date: Thu, 28 Jul 1994 19:17:05 -0500 (CDT)
+#
+# Additional 1.1.5 defines from
+# Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
+# Date: Wed, 28 Sep 1994 00:37:46 +0100 (MET)
+#
+# Additional 2.* defines from
+# Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
+# Date: Sat, 8 Apr 1995 20:53:41 +0200 (MET DST)
+#
+# Additional 2.0.5 and 2.1 defined from
+# Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
+# Date: Fri, 12 May 1995 14:30:38 +0200 (MET DST)
+#
+# Additional 2.2 defines from
+# Mark Murray <mark@grondar.za>
+# Date: Wed, 6 Nov 1996 09:44:58 +0200 (MET)
+#
+# Modified to ensure we replace -lc with -lc_r, and
+# to put in place-holders for various specific hints.
+# Andy Dougherty <doughera@lafayette.edu>
+# Date: Tue Mar 10 16:07:00 EST 1998
+#
+# Support for FreeBSD/ELF
+# Ollivier Robert <roberto@keltia.freenix.fr>
+# Date: Wed Sep 2 16:22:12 CEST 1998
+#
+# The two flags "-fpic -DPIC" are used to indicate a
+# will-be-shared object. Configure will guess the -fpic, (and the
+# -DPIC is not used by perl proper) but the full define is included to
+# be consistent with the FreeBSD general shared libs building process.
+#
+# setreuid and friends are inherently broken in all versions of FreeBSD
+# before 2.1-current (before approx date 4/15/95). It is fixed in 2.0.5
+# and what-will-be-2.1
+#
+
+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
+
+cat > UU/pkgsrc.cbu <<'EOCBU'
+# This script UU/pkgsrc.cbu will get 'called-back' by Configure to set
+# linker options after all other call-back scripts have been invoked.
+ldflags=" -Wl,-R/usr/pkg/lib $ldflags"
+lddlflags=" -Wl,-R/usr/pkg/lib $lddlflags"
+EOCBU
+
+# Set pkgsrc defaults for library and header search paths.
+locincpth="/usr/pkg/include"
+loclibpth="/usr/pkg/lib"
+glibpth='/usr/lib'