diff options
author | tv <tv@pkgsrc.org> | 2004-04-24 21:04:43 +0000 |
---|---|---|
committer | tv <tv@pkgsrc.org> | 2004-04-24 21:04:43 +0000 |
commit | 7c9976e9d728a07fa3263799f7c43136fa663add (patch) | |
tree | 914f2120a3f3bcf79226843959e18d75c54686de | |
parent | ea103d2f01167cc734fc084e7143add6153c3ade (diff) | |
download | pkgsrc-7c9976e9d728a07fa3263799f7c43136fa663add.tar.gz |
Make perl58 work on Interix, with full shared-object module support.
Bump PKGREVISION (two .pm files were changed, but are not functionally
different on non-Interix OS's).
-rw-r--r-- | lang/perl58/Makefile | 25 | ||||
-rw-r--r-- | lang/perl58/distinfo | 12 | ||||
-rw-r--r-- | lang/perl58/patches/patch-aa | 38 | ||||
-rw-r--r-- | lang/perl58/patches/patch-ca | 17 | ||||
-rw-r--r-- | lang/perl58/patches/patch-cb | 15 | ||||
-rw-r--r-- | lang/perl58/patches/patch-cc | 30 | ||||
-rw-r--r-- | lang/perl58/patches/patch-cd | 12 | ||||
-rw-r--r-- | lang/perl58/patches/patch-ce | 12 | ||||
-rw-r--r-- | lang/perl58/patches/patch-cf | 12 | ||||
-rw-r--r-- | lang/perl58/patches/patch-cg | 13 |
10 files changed, 172 insertions, 14 deletions
diff --git a/lang/perl58/Makefile b/lang/perl58/Makefile index fe32506cce5..b7b1031d46a 100644 --- a/lang/perl58/Makefile +++ b/lang/perl58/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.40 2004/04/12 03:07:50 jschauma Exp $ +# $NetBSD: Makefile,v 1.41 2004/04/24 21:04:43 tv Exp $ # The following two variables should have empty values unless we're # building a perl snapshot or release candidate. @@ -8,7 +8,7 @@ PERL5_RC_VERS= # empty .if empty(PERL5_SNAPSHOT) && empty(PERL5_RC_VERS) DISTNAME= perl-${PERL5_VERS} -PKGREVISION= # empty +PKGREVISION= 1 SNAPSHOT_SITES= # empty .else . if !empty(PERL5_SNAPSHOT) @@ -95,7 +95,13 @@ PERL5_CC= ${CC:T} CONFIGURE_ARGS+= -Dcc="${PERL5_CC}" MAKE_ENV+= LANG="" -.if ${OPSYS} == "Darwin" +.if ${OPSYS} == "Interix" +# +# On Interix, the shared perl is actually faster, so default to that. +# +STATIC_PERL?= no + +.elif ${OPSYS} == "Darwin" # # The perl build attempts to work around case-insensitivity problems on # HFS filesystems by using GNUmakefiles, so we need to use GNU make. @@ -206,6 +212,19 @@ PERL5_PACKLIST= ${PERL5_ARCHLIB}/.packlist PLIST_SUBST+= PERL5_SITEPERL=${PERL5_SITEPERL:S/^${PREFIX}\///} MESSAGE_SUBST+= PERL5_SITELIB=${PERL5_SITELIB} +# Some platforms may want the directory mode not to be 0755. This is, +# unfortunately, hardcoded in quite a few places in Perl. So let's substitute +# what pkgsrc said instead. +post-patch: +.if ${PKGDIRMODE} != "755" +.for f in installhtml installman installperl lib/ExtUtils/Install.pm + cd ${WRKSRC} && \ + ${MV} -f $f $f.dirmode && \ + ${SED} -e 's/755/${PKGDIRMODE}/g;/umask(/d' \ + $f.dirmode >$f +.endfor +.endif + # It's tough to guess which hints file will be used, so add our modifications # to all of them: # diff --git a/lang/perl58/distinfo b/lang/perl58/distinfo index f7be7a1d1b1..04ad2148ff2 100644 --- a/lang/perl58/distinfo +++ b/lang/perl58/distinfo @@ -1,11 +1,17 @@ -$NetBSD: distinfo,v 1.13 2004/04/12 02:59:06 jschauma Exp $ +$NetBSD: distinfo,v 1.14 2004/04/24 21:04:43 tv Exp $ SHA1 (perl-5.8.3.tar.gz) = 4c6f2aaa1b3a1d44535a1b54738d494e8fb90222 Size (perl-5.8.3.tar.gz) = 12002329 bytes -SHA1 (patch-aa) = f9e1f13d48f50a5a0b638c26c3864071f8a20748 +SHA1 (patch-aa) = a441cba11b12a4285284e98b6e5918efbd8bafef SHA1 (patch-ae) = fa3bbb1561192ce9214a7a7c756ccb2595a52c80 SHA1 (patch-ah) = 06fbeac7ed4eaf0099bad4404203bdd67576f33f SHA1 (patch-ba) = cdceb712bae08c6041e5aa175e5989d48b3a3f4e SHA1 (patch-bc) = 6bd07e902563079dd5642eac321ca7f9271ab8a6 -SHA1 (patch-ca) = a8ce3508d1dbe1c40321b7262f5bf2320bcd9c04 +SHA1 (patch-ca) = 481bb11e50c5d691d096b23fa3381af5e504be69 +SHA1 (patch-cb) = 1e1f24d1c0a2f22ac9b3e4ddc47a7f09a2d84d1b +SHA1 (patch-cc) = 091793735154350b82a5ed7ecf60f5418ab81f32 +SHA1 (patch-cd) = 488e86f7064d2e4e8709c0de9b7789a866afc8e3 +SHA1 (patch-ce) = c7d2defd2cfa872c1f6651678bc3de6cd7aeaf34 +SHA1 (patch-cf) = 23cf46c8d683b688878433ec9b33f3c65528cd28 +SHA1 (patch-cg) = e1b56aaa40934f78298d1fd9303fbae33c472d8e SHA1 (patch-zc) = eb81edd1144ec46285898afc641c03a3aad54977 diff --git a/lang/perl58/patches/patch-aa b/lang/perl58/patches/patch-aa index 98ca1d79406..9265e196ac3 100644 --- a/lang/perl58/patches/patch-aa +++ b/lang/perl58/patches/patch-aa @@ -1,8 +1,38 @@ -$NetBSD: patch-aa,v 1.3 2004/01/05 11:25:14 salo Exp $ +$NetBSD: patch-aa,v 1.4 2004/04/24 21:04:43 tv Exp $ ---- lib/ExtUtils/MM_Unix.pm.orig 2003-09-21 12:06:24.000000000 +0200 -+++ lib/ExtUtils/MM_Unix.pm 2003-11-22 21:53:24.000000000 +0100 -@@ -1127,9 +1127,9 @@ +--- 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 @@ + + 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_SunOS4 $Is_Solaris $Is_SunOS + $Verbose %pm %static + %Config_Override +@@ -37,10 +37,11 @@ + $Is_OSF = $^O eq 'dec_osf'; + $Is_IRIX = $^O eq 'irix'; + $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$/; + + + =head1 NAME +@@ -1120,16 +1127,16 @@ + + 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 # 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-ca b/lang/perl58/patches/patch-ca index 1aee833fc3f..845ba04fed5 100644 --- a/lang/perl58/patches/patch-ca +++ b/lang/perl58/patches/patch-ca @@ -1,8 +1,17 @@ -$NetBSD: patch-ca,v 1.1 2004/04/12 02:59:06 jschauma Exp $ +$NetBSD: patch-ca,v 1.2 2004/04/24 21:04:43 tv Exp $ ---- Configure.orig Fri Mar 26 10:34:43 2004 -+++ Configure Fri Mar 26 10:43:17 2004 -@@ -12495,7 +12495,15 @@ +--- Configure.orig Fri Dec 5 06:57:56 2003 ++++ Configure Fri Apr 23 14:09:12 2004 +@@ -7806,7 +7806,7 @@ + solaris) + xxx="-R $shrpdir" + ;; +- freebsd|netbsd|openbsd) ++ freebsd|netbsd|openbsd|interix) + xxx="-Wl,-R$shrpdir" + ;; + bsdos|linux|irix*|dec_osf) +@@ -17244,7 +17244,15 @@ 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 new file mode 100644 index 00000000000..7d1ca1656cd --- /dev/null +++ b/lang/perl58/patches/patch-cb @@ -0,0 +1,15 @@ +$NetBSD: patch-cb,v 1.1 2004/04/24 21:04:43 tv Exp $ + +--- Makefile.SH.orig Fri Apr 23 11:05:32 2004 ++++ Makefile.SH Fri Apr 23 11:06:03 2004 +@@ -58,6 +58,10 @@ + sunos*) + linklibperl="-lperl" + ;; ++ interix*) ++ linklibperl="-L. -lperl" ++ shrpldflags="$shrpldflags -Wl,--image-base,0x97000000" ++ ;; + netbsd*|freebsd[234]*|openbsd*) + linklibperl="-L. -lperl" + ;; diff --git a/lang/perl58/patches/patch-cc b/lang/perl58/patches/patch-cc new file mode 100644 index 00000000000..a4f7dceaf8c --- /dev/null +++ b/lang/perl58/patches/patch-cc @@ -0,0 +1,30 @@ +$NetBSD: patch-cc,v 1.1 2004/04/24 21:04:43 tv Exp $ + +--- hints/interix.sh.orig Fri Apr 23 12:29:09 2004 ++++ hints/interix.sh Fri Apr 23 12:32:55 2004 +@@ -0,0 +1,25 @@ ++# hints/interix.sh ++# ++# Please check with packages@netbsd.org before making modifications ++# to this file. ++ ++cc='gcc' ++cccdlflags="-DPIC $cccdlflags" ++ccdlflags='-Wl,-E' ++ccflags="-D_ALL_SOURCE $ccflags" ++ld='gcc' ++lddlflags="-shared $lddlflags" ++rpathflag='-Wl,-R' ++sharpbang='#!' ++usenm='false' ++ ++# 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]*) ++ ccflags="-D_REENTRANT $ccflags" ++ libswanted="$libswanted pthread" ++ ;; ++esac ++EOCBU diff --git a/lang/perl58/patches/patch-cd b/lang/perl58/patches/patch-cd new file mode 100644 index 00000000000..3a240297aae --- /dev/null +++ b/lang/perl58/patches/patch-cd @@ -0,0 +1,12 @@ +$NetBSD: patch-cd,v 1.1 2004/04/24 21:04:43 tv Exp $ + +--- lib/File/Find.pm.orig Fri Apr 23 12:41:39 2004 ++++ lib/File/Find.pm Fri Apr 23 12:42:19 2004 +@@ -1212,6 +1212,7 @@ + + $File::Find::dont_use_nlink = 1 + if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $^O eq 'MSWin32' || ++ $^O eq 'interix' || + $^O eq 'cygwin' || $^O eq 'epoc' || $^O eq 'qnx' || + $^O eq 'nto'; + diff --git a/lang/perl58/patches/patch-ce b/lang/perl58/patches/patch-ce new file mode 100644 index 00000000000..bf2c8627937 --- /dev/null +++ b/lang/perl58/patches/patch-ce @@ -0,0 +1,12 @@ +$NetBSD: patch-ce,v 1.1 2004/04/24 21:04:43 tv Exp $ + +--- lib/File/Temp.pm.orig Fri Apr 23 12:42:30 2004 ++++ lib/File/Temp.pm Fri Apr 23 12:44:21 2004 +@@ -2012,6 +2012,7 @@ + + { + my $TopSystemUID = 10; ++ $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator" + sub top_system_uid { + my $self = shift; + if (@_) { diff --git a/lang/perl58/patches/patch-cf b/lang/perl58/patches/patch-cf new file mode 100644 index 00000000000..f7b02b73326 --- /dev/null +++ b/lang/perl58/patches/patch-cf @@ -0,0 +1,12 @@ +$NetBSD: patch-cf,v 1.1 2004/04/24 21:04:43 tv Exp $ + +--- t/io/openpid.t.orig Fri Apr 23 12:45:43 2004 ++++ t/io/openpid.t Fri Apr 23 12:45:56 2004 +@@ -23,6 +23,7 @@ + use Config; + $| = 1; + $SIG{PIPE} = 'IGNORE'; ++$SIG{HUP} = 'IGNORE' if $^O eq 'interix'; + + my $perl = which_perl(); + $perl .= qq[ "-I../lib"]; diff --git a/lang/perl58/patches/patch-cg b/lang/perl58/patches/patch-cg new file mode 100644 index 00000000000..d8bc8446600 --- /dev/null +++ b/lang/perl58/patches/patch-cg @@ -0,0 +1,13 @@ +$NetBSD: patch-cg,v 1.1 2004/04/24 21:04:43 tv Exp $ + +--- t/op/groups.t.orig Fri Apr 23 12:46:39 2004 ++++ t/op/groups.t Fri Apr 23 12:46:53 2004 +@@ -133,7 +133,7 @@ + + print "# gr = @gr\n"; + +-if ($^O =~ /^(?:uwin|cygwin|solaris)$/) { ++if ($^O =~ /^(?:uwin|cygwin|interix|solaris)$/) { + # Or anybody else who can have spaces in group names. + $gr1 = join(' ', grep(!$did{$_}++, sort split(' ', join(' ', @gr)))); + } else { |