summaryrefslogtreecommitdiff
path: root/lang/perl5/patches
diff options
context:
space:
mode:
authortron <tron>2000-01-18 22:31:46 +0000
committertron <tron>2000-01-18 22:31:46 +0000
commitdc0cffe57185b652a978b440fdc2ae1eadfdbe62 (patch)
treeacddbb510eb791ad8e82545a7d8a7a42da9d2ce3 /lang/perl5/patches
parentab035903ecb9aa5718864c54c7f3b7b5b0c025d6 (diff)
downloadpkgsrc-dc0cffe57185b652a978b440fdc2ae1eadfdbe62.tar.gz
Downgrade "perl" package to working version 5.00404.
Diffstat (limited to 'lang/perl5/patches')
-rw-r--r--lang/perl5/patches/patch-aa166
-rw-r--r--lang/perl5/patches/patch-ab36
-rw-r--r--lang/perl5/patches/patch-ac8
-rw-r--r--lang/perl5/patches/patch-ad18
-rw-r--r--lang/perl5/patches/patch-ae12
-rw-r--r--lang/perl5/patches/patch-af80
-rw-r--r--lang/perl5/patches/patch-ag31
-rw-r--r--lang/perl5/patches/patch-ah13
-rw-r--r--lang/perl5/patches/patch-ai13
-rw-r--r--lang/perl5/patches/patch-aj12
10 files changed, 260 insertions, 129 deletions
diff --git a/lang/perl5/patches/patch-aa b/lang/perl5/patches/patch-aa
index 44146b91c2e..60d76396c4f 100644
--- a/lang/perl5/patches/patch-aa
+++ b/lang/perl5/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
+$NetBSD: patch-aa,v 1.15 2000/01/18 22:31:47 tron Exp $
---- Configure.orig Sun Jan 16 21:17:27 2000
-+++ Configure Sun Jan 16 21:25:08 2000
-@@ -70,7 +70,7 @@
+--- Configure.orig Fri Oct 3 13:57:39 1997
++++ Configure Wed Dec 2 14:30:27 1998
+@@ -65,7 +65,7 @@
fi
: Proper PATH setting
@@ -11,7 +11,31 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
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"
-@@ -814,14 +814,14 @@
+@@ -92,10 +92,10 @@
+ esac
+
+ : Sanity checks
+-if test ! -t 0; then
+- echo "Say 'sh $me', not 'sh <$me'"
+- exit 1
+-fi
++# if test ! -t 0; then
++# echo "Say 'sh $me', not 'sh <$me'"
++# exit 1
++# fi
+
+ : Test and see if we are running under ksh, either blatantly or in disguise.
+ if (PATH=.; alias -x) >/dev/null 2>&1; then
+@@ -725,7 +725,7 @@
+ archobjs=''
+ : 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="${PREFIX}/include /opt/local/include /usr/gnu/include"
+ locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
+ :
+ : no include file wanted by default
+@@ -735,14 +735,14 @@
xlibpth='/usr/lib/386 /lib/386'
: Possible local library directories to search.
@@ -20,7 +44,7 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
: general looking path for locating libraries
- glibpth="/shlib /usr/shlib /lib/pa1.1 /usr/lib/large"
+ glibpth="/shlib /usr/shlib /usr/lib/pa1.1 /usr/lib/large"
glibpth="$glibpth /lib /usr/lib $xlibpth"
glibpth="$glibpth /lib/large /usr/lib/small /lib/small"
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
@@ -28,51 +52,27 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
: Private path used by Configure to find libraries. Its value
: is prepended to libpth. This variable takes care of special
-@@ -834,7 +834,7 @@
- ignore_versioned_solibs=''
- : 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="${PREFIX}/include /opt/local/include /usr/gnu/include"
- locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
- :
- : no include file wanted by default
-@@ -855,9 +855,16 @@
- : set usethreads on the Configure command line to enable threads.
+@@ -753,9 +753,16 @@
+ defvoidused=15
+
: List of libraries we want.
- : If anyone needs -lnet, put it in a hint file.
--libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl'
+-libswanted='sfio net socket inet nsl nm ndbm gdbm dbm db malloc dl'
-libswanted="$libswanted dld ld sun m c cposix posix ndir dir crypt"
-libswanted="$libswanted ucb bsd BSD PW x"
+case `uname -s` in
-+NetBSD)
-+ libswanted='m crypt'
-+ ;;
-+*)
++SunOS)
+ libswanted='sfio net socket inet nsl nm ndbm dbm db malloc dl'
+ libswanted="$libswanted dld ld sun m c cposix posix ndir dir crypt"
+ libswanted="$libswanted ucb bsd BSD PW x"
+ ;;
++NetBSD)
++ libswanted='m crypt'
++ ;;
+esac
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
-@@ -1138,10 +1145,10 @@
- case "$fastread$alldone" in
- yescont|yesexit) ;;
- *)
-- if test ! -t 0; then
-- echo "Say 'sh Configure', not 'sh <Configure'"
-- exit 1
-- fi
-+# if test ! -t 0; then
-+# echo "Say 'sh Configure', not 'sh <Configure'"
-+# exit 1
-+# fi
- ;;
- esac
-
-@@ -2786,7 +2793,7 @@
+@@ -2365,7 +2372,7 @@
: determine root of directory hierarchy where package will be installed.
case "$prefix" in
'')
@@ -81,7 +81,7 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
;;
*)
dflt="$prefix"
-@@ -2796,10 +2803,10 @@
+@@ -2375,10 +2382,10 @@
By default, $package will be installed in $dflt/bin, manual
pages under $dflt/man, etc..., i.e. with $dflt as prefix for
@@ -94,27 +94,25 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
for each of the installation directories, the prefix being only used
to set the defaults.
-@@ -2887,7 +2894,7 @@
- fi
+@@ -2426,7 +2433,7 @@
+ esac'
: determine where private library files go
--: Usual default is /usr/local/lib/perl5/$version.
+-: Usual default is /usr/local/lib/perl5. Also allow things like
+: Usual default is ${PREFIX}/lib/perl5. Also allow things like
- : Also allow things like /opt/perl/lib/$version, since
- : /opt/perl/lib/perl5... would be redundant.
+ : /opt/perl/lib, since /opt/perl/lib/perl5 would be redundant.
case "$prefix" in
-@@ -2938,8 +2945,8 @@
- : determine where public architecture dependent libraries go
- set archlib archlib
- eval $prefixit
--: privlib default is /usr/local/lib/$package/$version
--: archlib default is /usr/local/lib/$package/$version/$archname
-+: privlib default is ${PREFIX}/lib/$package/$version
-+: archlib default is ${PREFIX}/lib/$package/$version/$archname
- : privlib may have an optional trailing /share.
- tdflt=`echo $privlib | $sed 's,/share$,,'`
- tdflt=$tdflt/$archname
-@@ -3198,8 +3205,8 @@
+ *perl*) set dflt privlib lib ;;
+@@ -2501,7 +2508,7 @@
+ case "$archlib" in
+ '')
+ case "$privlib" in
+- '') dflt=`./loc . "." $prefixexp/lib /usr/local/lib /usr/lib /lib`
++ '') dflt=`./loc . "." $prefixexp/lib ${PREFIX}/lib /usr/lib /lib`
+ set dflt
+ eval $prefixup
+ ;;
+@@ -2986,8 +2993,8 @@
syspath='/usr/man/man1 /usr/man/mann /usr/man/manl /usr/man/local/man1'
syspath="$syspath /usr/man/u_man/man1 /usr/share/man/man1"
syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
@@ -125,7 +123,7 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
sysman=`./loc . /usr/man/man1 $syspath`
;;
esac
-@@ -3634,7 +3641,7 @@
+@@ -3268,7 +3275,7 @@
: Set private lib path
case "$plibpth" in
'') if ./mips; then
@@ -134,16 +132,13 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
fi;;
esac
case "$libpth" in
-@@ -5082,7 +5089,7 @@
- # No dynamic loading being used, so don't bother even to prompt.
- useshrplib='false'
- ;;
--*) case "$useshrplib" in
-+*) case true in
- '') case "$osname" in
- svr4*|dgux|dynixptx|esix|powerux|beos)
- dflt=y
-@@ -5237,10 +5244,10 @@
+@@ -4742,15 +4749,15 @@
+ shrpdir=$archlibexp/CORE
+ xxx=''
+ tmp_shrpenv=''
+-if "$useshrplib"; then
++if true; then
+ case "$osname" in
aix)
# We'll set it in Makefile.SH...
;;
@@ -156,7 +151,18 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
xxx="-Wl,-R$shrpdir"
;;
linux|irix*|dec_osf)
-@@ -5895,7 +5902,7 @@
+@@ -4965,8 +4972,8 @@
+ esac
+
+ echo "If you don't want the manual sources installed, answer 'none'."
+-: We dont use /usr/local/man/man3 because some man programs will
+-: only show the /usr/local/man/man3 contents, and not the system ones,
++: We dont use ${PREFIX}/man/man3 because some man programs will
++: only show the ${PREFIX}/man/man3 contents, and not the system ones,
+ : thus man less will show the perl module less.pm, but not the system
+ : less command. We might also conflict with TCL man pages.
+ : However, something like /opt/perl/man/man3 is fine.
+@@ -5413,7 +5420,7 @@
: guess some guesses
$test -d /usr/share/scripts && dflt=/usr/share/scripts
$test -d /usr/share/bin && dflt=/usr/share/bin
@@ -165,27 +171,7 @@ $NetBSD: patch-aa,v 1.14 2000/01/17 03:07:11 christos Exp $
$test -d $prefixexp/script && dflt=$prefixexp/script
set dflt
eval $prefixup
-@@ -5940,7 +5947,7 @@
- fi
-
- : determine where site specific libraries go.
--: Usual default is /usr/local/lib/perl5/site_perl/$apiversion
-+: Usual default is ${PREFIX}/lib/perl5/site_perl/$apiversion
- prog=`echo $package | $sed 's/-*[0-9.]*$//'`
- case "$prefix" in
- *perl*) set dflt sitelib lib/site_$prog/$apiversion ;;
-@@ -5985,8 +5992,8 @@
- fi
-
- : determine where site specific architecture-dependent libraries go.
--: sitelib default is /usr/local/lib/perl5/site_perl/$apiversion
--: sitearch default is /usr/local/lib/perl5/site_perl/$apiversion/$archname
-+: sitelib default is ${PREFIX}/lib/perl5/site_perl/$apiversion
-+: sitearch default is ${PREFIX}/lib/perl5/site_perl/$apiversion/$archname
- : sitelib may have an optional trailing /share.
- tdflt=`echo $sitelib | $sed 's,/share$,,'`
- tdflt="$tdflt/$archname"
-@@ -10216,7 +10223,7 @@
+@@ -8726,7 +8733,7 @@
case "$ranlib" in
:) ranlib='';;
'')
diff --git a/lang/perl5/patches/patch-ab b/lang/perl5/patches/patch-ab
index 36b4b5f72f1..61350907e28 100644
--- a/lang/perl5/patches/patch-ab
+++ b/lang/perl5/patches/patch-ab
@@ -1,17 +1,17 @@
-$NetBSD: patch-ab,v 1.4 2000/01/17 03:07:11 christos Exp $
+$NetBSD: patch-ab,v 1.5 2000/01/18 22:31:47 tron Exp $
---- installperl.orig Sat Jan 16 11:31:26 1999
-+++ installperl Sun Jan 16 21:26:37 2000
-@@ -182,7 +182,7 @@
- safe_unlink("$installbin/s$perl$ver$exe_ext");
+--- installperl.BAK Wed Nov 19 23:02:26 1997
++++ installperl Wed Nov 19 23:04:08 1997
+@@ -93,7 +93,7 @@
+ safe_unlink("$installbin/sperl$ver$exe_ext");
if ($d_dosuid) {
- copy("suidperl$exe_ext", "$installbin/s$perl$ver$exe_ext");
-- chmod(04711, "$installbin/s$perl$ver$exe_ext");
+ copy("suidperl$exe_ext", "$installbin/sperl$ver$exe_ext");
+- chmod(04711, "$installbin/sperl$ver$exe_ext");
+ chmod(04111, "$installbin/sperl$ver$exe_ext");
}
# Install library files.
-@@ -275,19 +275,19 @@
+@@ -156,17 +156,17 @@
(-l $usrbinperl) &&
((readlink $usrbinperl) eq $expinstperl));
}
@@ -19,26 +19,22 @@ $NetBSD: patch-ab,v 1.4 2000/01/17 03:07:11 christos Exp $
- (yn("Many scripts expect perl to be installed as $usrbinperl.\n" .
- "Do you wish to have $usrbinperl be the same as\n" .
- "$expinstperl? [y] ")))
-- {
+- {
- unlink($usrbinperl);
-- ( $Config{'d_link'} eq 'define' &&
-- eval { CORE::link $instperl, $usrbinperl } ) ||
-- eval { symlink $expinstperl, $usrbinperl } ||
-- copy($instperl, $usrbinperl);
--
+- eval { CORE::link $instperl, $usrbinperl } ||
+- eval { symlink $expinstperl, $usrbinperl } ||
+- copy($instperl, $usrbinperl);
- $mainperl_is_instperl = 1;
- }
+# if ((! $mainperl_is_instperl) &&
+# (yn("Many scripts expect perl to be installed as $usrbinperl.\n" .
+# "Do you wish to have $usrbinperl be the same as\n" .
+# "$expinstperl? [y] ")))
-+# {
++# {
+# unlink($usrbinperl);
-+# ( $Config{'d_link'} eq 'define' &&
-+# eval { CORE::link $instperl, $usrbinperl } ) ||
-+# eval { symlink $expinstperl, $usrbinperl } ||
-+# copy($instperl, $usrbinperl);
-+#
++# eval { CORE::link $instperl, $usrbinperl } ||
++# eval { symlink $expinstperl, $usrbinperl } ||
++# copy($instperl, $usrbinperl);
+# $mainperl_is_instperl = 1;
+# }
}
diff --git a/lang/perl5/patches/patch-ac b/lang/perl5/patches/patch-ac
index 68a3241912c..d94b84eacf0 100644
--- a/lang/perl5/patches/patch-ac
+++ b/lang/perl5/patches/patch-ac
@@ -1,8 +1,8 @@
-$NetBSD: patch-ac,v 1.4 2000/01/17 03:07:11 christos Exp $
+$NetBSD: patch-ac,v 1.5 2000/01/18 22:31:47 tron Exp $
---- perl.h.orig Sun Mar 28 02:57:16 1999
-+++ perl.h Sun Jan 16 21:27:21 2000
-@@ -367,6 +367,15 @@
+--- perl.h.BAK Wed Nov 19 23:07:32 1997
++++ perl.h Wed Nov 19 23:08:54 1997
+@@ -223,6 +223,15 @@
# include <sys/param.h>
#endif
diff --git a/lang/perl5/patches/patch-ad b/lang/perl5/patches/patch-ad
index c29b6e4cf81..0b3e12a99d6 100644
--- a/lang/perl5/patches/patch-ad
+++ b/lang/perl5/patches/patch-ad
@@ -1,17 +1,17 @@
-$NetBSD: patch-ad,v 1.4 2000/01/17 03:07:11 christos Exp $
+$NetBSD: patch-ad,v 1.5 2000/01/18 22:31:47 tron Exp $
---- perl.c.orig Sat Mar 27 12:49:17 1999
-+++ perl.c Sun Jan 16 21:31:04 2000
-@@ -2213,6 +2213,20 @@
+--- perl.c.BAK Wed Nov 19 23:09:31 1997
++++ perl.c Wed Nov 19 23:10:58 1997
+@@ -2036,6 +2036,20 @@
croak("Can't swap uid and euid"); /* really paranoid */
- if (PerlLIO_stat(SvPVX(GvSV(PL_curcop->cop_filegv)),&tmpstatbuf) < 0)
+ if (Stat(SvPVX(GvSV(curcop->cop_filegv)),&tmpstatbuf) < 0)
croak("Permission denied"); /* testing full pathname here */
+#if (defined(BSD) && (BSD >= 199306))
+#ifdef IAMSUID
+ {
+ struct statfs stfs;
+
-+ if (fstatfs(PerlIO_fileno(PL_rsfp),&stfs) < 0)
++ if (fstatfs(fileno(rsfp),&stfs) < 0)
+ croak("Can't statfs filesystem of script \"%s\"",origfilename);
+
+ if (stfs.f_flags & MNT_NOSUID)
@@ -20,6 +20,6 @@ $NetBSD: patch-ad,v 1.4 2000/01/17 03:07:11 christos Exp $
+#endif /* IAMSUID */
+#endif /* BSD */
+
- #if defined(IAMSUID) && !defined(NO_NOSUID_CHECK)
- if (fd_on_nosuid_fs(PerlIO_fileno(PL_rsfp)))
- croak("Permission denied");
+ if (tmpstatbuf.st_dev != statbuf.st_dev ||
+ tmpstatbuf.st_ino != statbuf.st_ino) {
+ (void)PerlIO_close(rsfp);
diff --git a/lang/perl5/patches/patch-ae b/lang/perl5/patches/patch-ae
new file mode 100644
index 00000000000..1ae93e6847a
--- /dev/null
+++ b/lang/perl5/patches/patch-ae
@@ -0,0 +1,12 @@
+$NetBSD: patch-ae,v 1.5 2000/01/18 22:31:47 tron Exp $
+
+--- makedepend.SH.BAK Wed Nov 19 23:11:49 1997
++++ makedepend.SH Wed Nov 19 23:12:34 1997
+@@ -66,6 +66,7 @@
+ # to be out of date. I don't know if OS/2 has touch, so do this:
+ case "$osname" in
+ os2) ;;
++ netbsd) ;;
+ *) $touch $firstmakefile ;;
+ esac
+ fi
diff --git a/lang/perl5/patches/patch-af b/lang/perl5/patches/patch-af
new file mode 100644
index 00000000000..be16759a3c7
--- /dev/null
+++ b/lang/perl5/patches/patch-af
@@ -0,0 +1,80 @@
+$NetBSD: patch-af,v 1.8 2000/01/18 22:31:47 tron Exp $
+
+--- hints/netbsd.sh.orig Thu May 8 11:52:59 1997
++++ hints/netbsd.sh Wed Dec 2 14:21:34 1998
+@@ -1,12 +1,11 @@
+ # hints/netbsd.sh
+ #
+-# talk to mrg@eterna.com.au if you want to change this file.
++# talk to packages@netbsd.org if you want to change this file.
+ #
+ # netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
+ # so Configure doesn't find them (unless you abandon the nm scan).
+ # this should be *just* 0.9 below as netbsd 0.9a was the first to
+-# introduce shared libraries. however, they don't work/build on
+-# pmax, powerpc and alpha ports correctly, yet.
++# introduce shared libraries.
+
+ case "$archname" in
+ '')
+@@ -19,26 +18,26 @@
+ usedl="$undef"
+ ;;
+ *)
+- case `uname -m` in
+- alpha|powerpc|pmax)
++ if [ -f /usr/libexec/ld.elf_so ]; then
++ d_dlopen=$define
++ d_dlerror=$define
++ ccdlflags="-Wl,-E -Wl,-R${PREFIX}/lib $ccdlflags"
++ cccdlflags="-DPIC -fPIC $cccdlflags"
++ lddlflags="--whole-archive -shared $lddlflags"
++ elif [ "`uname -m`" = "pmax" ]; then
++# NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so, which will not work.
+ d_dlopen=$undef
+- ;;
+-# this doesn't work (yet).
+-# alpha)
+-# d_dlopen=$define
+-# d_dlerror=$define
+-# cccdlflags="-DPIC -fPIC $cccdlflags"
+-# lddlflags="-shared $lddlflags"
+-# ;;
+- *)
++ elif [ -f /usr/libexec/ld.so ]; then
+ d_dlopen=$define
+ d_dlerror=$define
++ ccdlflags="-Wl,-R${PREFIX}/lib $ccdlflags"
+ # we use -fPIC here because -fpic is *NOT* enough for some of the
+ # extensions like Tk on some netbsd platforms (the sparc is one)
+ cccdlflags="-DPIC -fPIC $cccdlflags"
+ lddlflags="-Bforcearchive -Bshareable $lddlflags"
+- ;;
+- esac
++ else
++ d_dlopen=$undef
++ fi
+ ;;
+ esac
+
+@@ -47,15 +46,18 @@
+ # way to make perl call setuid() or setgid(). if they aren't, then
+ # ($<, $>) = ($u, $u); will work (same for $(/$)). this is because
+ # you can not change the real userid of a process under 4.4BSD.
+-# netbsd fixed this in 1.2A.
++# netbsd fixed this in 1.3.2.
+ case "$osvers" in
+-0.9*|1.0*|1.1*|1.2_*|1.2|1.2.*)
++0.9*|1.[012]*|1.3|1.3.1)
+ d_setregid="$undef"
+ d_setreuid="$undef"
+ d_setrgid="$undef"
+ d_setruid="$undef"
+ ;;
+ esac
++
++# there's no problem with vfork.
++d_vfork="$define"
+
+ # Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *)
+ # Configure should test for this. Volunteers?
diff --git a/lang/perl5/patches/patch-ag b/lang/perl5/patches/patch-ag
new file mode 100644
index 00000000000..7f90590f356
--- /dev/null
+++ b/lang/perl5/patches/patch-ag
@@ -0,0 +1,31 @@
+$NetBSD: patch-ag,v 1.5 2000/01/18 22:31:47 tron Exp $
+
+--- doio.c.orig Mon Jul 28 21:08:11 1997
++++ doio.c Sun Sep 5 23:27:54 1999
+@@ -1333,7 +1333,7 @@
+ char *a;
+ I32 id, n, cmd, infosize, getinfo;
+ I32 ret = -1;
+-#ifdef __linux__ /* XXX Need metaconfig test */
++#if defined(__linux__) || (defined(__NetBSD__) && (__NetBSD_Version__ < 104110000)) /* XXX Need metaconfig test */
+ union semun unsemds;
+ #endif
+
+@@ -1365,7 +1365,7 @@
+ else if (cmd == GETALL || cmd == SETALL)
+ {
+ struct semid_ds semds;
+-#ifdef __linux__ /* XXX Need metaconfig test */
++#if defined(__linux__) || (defined(__NetBSD__) && (__NetBSD_Version__ < 104110000)) /* XXX Need metaconfig test */
+ /* linux (and Solaris2?) uses :
+ int semctl (int semid, int semnum, int cmd, union semun arg)
+ union semun {
+@@ -1425,7 +1425,7 @@
+ #endif
+ #ifdef HAS_SEM
+ case OP_SEMCTL:
+-#ifdef __linux__ /* XXX Need metaconfig test */
++#if defined(__linux__) || (defined(__NetBSD__) && (__NetBSD_Version__ < 104110000)) /* XXX Need metaconfig test */
+ unsemds.buf = (struct semid_ds *)a;
+ ret = semctl(id, n, cmd, unsemds);
+ #else
diff --git a/lang/perl5/patches/patch-ah b/lang/perl5/patches/patch-ah
new file mode 100644
index 00000000000..0283d2fddc6
--- /dev/null
+++ b/lang/perl5/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.3 2000/01/18 22:31:47 tron Exp $
+
+--- unixish.h.orig Mon Sep 22 13:46:47 1997
++++ unixish.h Thu Nov 26 17:18:58 1998
+@@ -81,7 +81,7 @@
+ */
+ /* #define ALTERNATE_SHEBANG "#!" / **/
+
+-#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
++#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX) || defined(__NetBSD__)
+ # include <signal.h>
+ #endif
+
diff --git a/lang/perl5/patches/patch-ai b/lang/perl5/patches/patch-ai
new file mode 100644
index 00000000000..8752d8e2a36
--- /dev/null
+++ b/lang/perl5/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai,v 1.3 2000/01/18 22:31:47 tron Exp $
+
+--- Makefile.SH.orig Wed Oct 15 05:33:16 1997
++++ Makefile.SH Mon Nov 30 21:02:40 1998
+@@ -37,7 +37,7 @@
+ -prebind -seg1addr 0x27000000 -install_name \$(shrpdir)/\$@"
+ ;;
+ sunos*|freebsd[23]*|netbsd*)
+- linklibperl="-lperl"
++ linklibperl="-L. -lperl"
+ ;;
+ aix*)
+ shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
diff --git a/lang/perl5/patches/patch-aj b/lang/perl5/patches/patch-aj
index 58bae93315c..e400248087d 100644
--- a/lang/perl5/patches/patch-aj
+++ b/lang/perl5/patches/patch-aj
@@ -1,13 +1,13 @@
-$NetBSD: patch-aj,v 1.2 2000/01/17 03:07:11 christos Exp $
+$NetBSD: patch-aj,v 1.3 2000/01/18 22:31:47 tron Exp $
---- ext/POSIX/Makefile.PL.orig Thu Nov 26 21:13:25 1998
-+++ ext/POSIX/Makefile.PL Sun Jan 16 21:37:36 2000
+--- ext/POSIX/Makefile.PL.orig Mon Jun 24 16:25:03 1996
++++ ext/POSIX/Makefile.PL Thu Jul 1 18:46:41 1999
@@ -1,7 +1,7 @@
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'POSIX',
-- ($^O eq 'MSWin32' ? () : (LIBS => ["-lm -lposix -lcposix"])),
-+ ($^O eq 'MSWin32' ? () : (LIBS => ["-lm"])),
- MAN3PODS => {}, # Pods will be built by installman.
+- LIBS => ["-lm -lposix -lcposix"],
++ LIBS => ["-lm"],
+ MAN3PODS => ' ', # Pods will be built by installman.
XSPROTOARG => '-noprototypes', # XXX remove later?
VERSION_FROM => 'POSIX.pm',