pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/perl58 Make perl58 work on Interix, with full sha...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/95334a2648ce
branches:  trunk
changeset: 473810:95334a2648ce
user:      tv <tv%pkgsrc.org@localhost>
date:      Sat Apr 24 21:04:43 2004 +0000

description:
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).

diffstat:

 lang/perl58/Makefile         |  25 ++++++++++++++++++++++---
 lang/perl58/distinfo         |  12 +++++++++---
 lang/perl58/patches/patch-aa |  38 ++++++++++++++++++++++++++++++++++----
 lang/perl58/patches/patch-ca |  17 +++++++++++++----
 lang/perl58/patches/patch-cb |  15 +++++++++++++++
 lang/perl58/patches/patch-cc |  30 ++++++++++++++++++++++++++++++
 lang/perl58/patches/patch-cd |  12 ++++++++++++
 lang/perl58/patches/patch-ce |  12 ++++++++++++
 lang/perl58/patches/patch-cf |  12 ++++++++++++
 lang/perl58/patches/patch-cg |  13 +++++++++++++
 10 files changed, 172 insertions(+), 14 deletions(-)

diffs (266 lines):

diff -r 92a409ff88f5 -r 95334a2648ce lang/perl58/Makefile
--- a/lang/perl58/Makefile      Sat Apr 24 21:02:01 2004 +0000
+++ b/lang/perl58/Makefile      Sat Apr 24 21:04:43 2004 +0000
@@ -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 @@
 
 .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 @@
 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 @@
 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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/distinfo
--- a/lang/perl58/distinfo      Sat Apr 24 21:02:01 2004 +0000
+++ b/lang/perl58/distinfo      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-aa
--- a/lang/perl58/patches/patch-aa      Sat Apr 24 21:02:01 2004 +0000
+++ b/lang/perl58/patches/patch-aa      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-ca
--- a/lang/perl58/patches/patch-ca      Sat Apr 24 21:02:01 2004 +0000
+++ b/lang/perl58/patches/patch-ca      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-cb
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/perl58/patches/patch-cb      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-cc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/perl58/patches/patch-cc      Sat Apr 24 21:04:43 2004 +0000
@@ -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@localhost 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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-cd
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/perl58/patches/patch-cd      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-ce
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/perl58/patches/patch-ce      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-cf
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/perl58/patches/patch-cf      Sat Apr 24 21:04:43 2004 +0000
@@ -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 -r 92a409ff88f5 -r 95334a2648ce lang/perl58/patches/patch-cg
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/perl58/patches/patch-cg      Sat Apr 24 21:04:43 2004 +0000
@@ -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 {



Home | Main Index | Thread Index | Old Index