From 99b5ce0a6ffec38d8db4304ec4fc2f58108a9253 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 10 Feb 2018 10:07:33 +0100 Subject: [PATCH] perl 5.26: mark as tested on x86_gcc2 Passes 99.25% of tests. Remove old recipes. --- dev-lang/perl/patches/perl-5.10.1.patch | 139 ------ dev-lang/perl/patches/perl-5.18.1.patchset | 546 --------------------- dev-lang/perl/perl-5.10.1.recipe | 127 ----- dev-lang/perl/perl-5.18.1.recipe | 142 ------ dev-lang/perl/perl-5.26.1.recipe | 2 +- 5 files changed, 1 insertion(+), 955 deletions(-) delete mode 100644 dev-lang/perl/patches/perl-5.10.1.patch delete mode 100644 dev-lang/perl/patches/perl-5.18.1.patchset delete mode 100644 dev-lang/perl/perl-5.10.1.recipe delete mode 100644 dev-lang/perl/perl-5.18.1.recipe diff --git a/dev-lang/perl/patches/perl-5.10.1.patch b/dev-lang/perl/patches/perl-5.10.1.patch deleted file mode 100644 index 052f80bbb..000000000 --- a/dev-lang/perl/patches/perl-5.10.1.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff -ruw perl-5.10.1/ext/Errno/Errno_pm.PL perl-5.10.1-haiku/ext/Errno/Errno_pm.PL ---- perl-5.10.1/ext/Errno/Errno_pm.PL 2009-06-27 16:09:45.059768832 +0000 -+++ perl-5.10.1-haiku/ext/Errno/Errno_pm.PL 2011-03-01 18:01:57.984350720 +0000 -@@ -159,10 +159,14 @@ - # we might miss out on compiler-specific ones - $file{"$ENV{GUSI}include:sys:errno.h"} = 1; - -- } elsif ($^O eq 'beos' || $^O eq 'haiku') { -+ } elsif ($^O eq 'beos') { - # hidden in a special place - $file{'/boot/develop/headers/posix/errno.h'} = 1; - -+ } elsif ($^O eq 'haiku') { -+ # hidden in a special place -+ $file{'/boot/system/develop/headers/posix/errno.h'} = 1; -+ - } elsif ($^O eq 'vos') { - # avoid problem where cpp returns non-POSIX pathnames - $file{'/system/include_library/errno.h'} = 1; -diff -ruw perl-5.10.1/hints/haiku.sh perl-5.10.1-haiku/hints/haiku.sh ---- perl-5.10.1/hints/haiku.sh 2009-02-12 23:58:12.063176704 +0100 -+++ perl-5.10.1-haiku/hints/haiku.sh 1970-01-01 01:00:00.000000000 +0100 -@@ -1,34 +1 @@ --# Haiku hints file --# $Id$ -- --prefix="/boot/common" -- --libpth='/boot/home/config/lib /boot/common/lib /system/lib' --usrinc='/boot/develop/headers/posix' --locinc='/boot/home/config/include /boot/common/include /boot/develop/headers' -- --libc='/system/lib/libroot.so' --libs='-lnetwork' -- --# Use Haiku's malloc() by default. --case "$usemymalloc" in --'') usemymalloc='n' ;; --esac -- --# Haiku generally supports hard links, but the default file system (BFS) --# doesn't. So better avoid using hard links. --d_link='undef' --dont_use_nlink='define' -- --# The array syserrlst[] is useless for the most part. --# Large negative numbers really kind of suck in arrays. --d_syserrlst='undef' -- --# Haiku uses gcc. --cc="gcc" --ld='gcc' -- --# The runtime loader library path variable is LIBRARY_PATH. --case "$ldlibpthname" in --'') ldlibpthname=LIBRARY_PATH ;; --esac -+# haiku sets all its specifics via Configure -diff -ruw perl-5.10.1/installperl perl-5.10.1-haiku/installperl ---- perl-5.10.1/installperl 2009-08-13 22:40:10.066846720 +0000 -+++ perl-5.10.1-haiku/installperl 2011-02-28 17:24:45.324272128 +0000 -@@ -409,6 +409,11 @@ - mkpath("$installarchlib/CORE/mpeix", $opts{verbose}, 0777); - push(@corefiles,'mpeix/mpeixish.h'); - } -+ if ($^O eq 'haiku') { -+ # Haiku needs haikuish.h installed as well. -+ mkpath("$installarchlib/CORE/haiku", $opts{verbose}, 0777); -+ push(@corefiles,'haiku/haikuish.h'); -+ } - # If they have built sperl.o... - push(@corefiles,'sperl.o') if -f 'sperl.o'; - } -diff -ruw perl-5.10.1/lib/File/Temp/t/lock.t perl-5.10.1-haiku/lib/File/Temp/t/lock.t ---- perl-5.10.1/lib/File/Temp/t/lock.t 2009-02-12 22:58:13.009699328 +0000 -+++ perl-5.10.1-haiku/lib/File/Temp/t/lock.t 2011-02-28 17:24:45.354418688 +0000 -@@ -8,7 +8,8 @@ - BEGIN { - # see if we have O_EXLOCK - eval { &Fcntl::O_EXLOCK; }; -- if ($@) { -+ if ($@ || $^O eq 'haiku') { -+ # haiku doesn't implement O_EXLOCK yet (but it defines the value) - plan skip_all => 'Do not seem to have O_EXLOCK'; - } else { - plan tests => 4; -diff -ruw perl-5.10.1/lib/File/Temp.pm perl-5.10.1-haiku/lib/File/Temp.pm ---- perl-5.10.1/lib/File/Temp.pm 2009-06-30 13:13:54.013369344 +0000 -+++ perl-5.10.1-haiku/lib/File/Temp.pm 2011-02-28 17:24:45.347602944 +0000 -@@ -1978,7 +1978,8 @@ - # on Win9x the link count remains 1 - # On NFS the link count may still be 1 but we cant know that - # we are on NFS -- return ( $fh[3] == 0 or $^O eq 'cygwin' ? 1 : 0); -+ # On haiku, the link count seems to be always 1 (at least for BFS) -+ return ( $fh[3] == 0 or $^O eq 'cygwin' or $^O eq 'haiku' ? 1 : 0); - - } else { - _deferred_unlink($fh, $path, 0); -diff -ruw perl-5.10.1/t/run/exit.t perl-5.10.1-haiku/t/run/exit.t ---- perl-5.10.1/t/run/exit.t 2009-08-04 15:48:30.014155776 +0000 -+++ perl-5.10.1-haiku/t/run/exit.t 2011-02-28 17:24:45.362283008 +0000 -@@ -57,18 +57,18 @@ - if (!$vms_exit_mode) { - my $posix_ok = eval { require POSIX; }; - my $wait_macros_ok = defined &POSIX::WIFEXITED; -- eval { POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}) }; -+ eval { POSIX::WIFEXITED($?) }; - $wait_macros_ok = 0 if $@; - $exit = run('exit 42'); - is( $exit >> 8, 42, 'Non-zero exit' ); - is( $exit, $?, 'Non-zero exit $?' ); -- isnt( !${^CHILD_ERROR_NATIVE}, 0, 'Non-zero exit ${^CHILD_ERROR_NATIVE}' ); -+ isnt( ${^CHILD_ERROR_NATIVE}, 0, 'Non-zero exit ${^CHILD_ERROR_NATIVE}' ); - SKIP: { - skip("No POSIX", 3) unless $posix_ok; - skip("No POSIX wait macros", 3) unless $wait_macros_ok; -- ok(POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}), "WIFEXITED"); -- ok(!POSIX::WIFSIGNALED(${^CHILD_ERROR_NATIVE}), "WIFSIGNALED"); -- is(POSIX::WEXITSTATUS(${^CHILD_ERROR_NATIVE}), 42, "WEXITSTATUS"); -+ ok(POSIX::WIFEXITED($?), "WIFEXITED"); -+ ok(!POSIX::WIFSIGNALED($?), "WIFSIGNALED"); -+ is(POSIX::WEXITSTATUS($?), 42, "WEXITSTATUS"); - } - - SKIP: { -@@ -87,9 +87,9 @@ - SKIP: { - skip("No POSIX", 3) unless $posix_ok; - skip("No POSIX wait macros", 3) unless $wait_macros_ok; -- ok(!POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}), "WIFEXITED"); -- ok(POSIX::WIFSIGNALED(${^CHILD_ERROR_NATIVE}), "WIFSIGNALED"); -- is(POSIX::WTERMSIG(${^CHILD_ERROR_NATIVE}), 15, "WTERMSIG"); -+ ok(!POSIX::WIFEXITED($?), "WIFEXITED"); -+ ok(POSIX::WIFSIGNALED($?), "WIFSIGNALED"); -+ is(POSIX::WTERMSIG($?), 15, "WTERMSIG"); - } - } - diff --git a/dev-lang/perl/patches/perl-5.18.1.patchset b/dev-lang/perl/patches/perl-5.18.1.patchset deleted file mode 100644 index 6db252c67..000000000 --- a/dev-lang/perl/patches/perl-5.18.1.patchset +++ /dev/null @@ -1,546 +0,0 @@ -From 4bef2ada1d8a38b4dff88f0659a3b9e181bf1950 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 22 Sep 2013 14:52:03 +0200 -Subject: Tell perl that BFS has a link count of 1 - - -diff --git a/cpan/File-Temp/lib/File/Temp.pm b/cpan/File-Temp/lib/File/Temp.pm -index ac57c26..759690c 100644 ---- a/cpan/File-Temp/lib/File/Temp.pm -+++ b/cpan/File-Temp/lib/File/Temp.pm -@@ -2051,7 +2051,8 @@ sub unlink0 { - # On NFS the link count may still be 1 but we can't know that - # we are on NFS. Since we can't be sure, we'll defer it - -- return 1 if $fh[3] == 0 || $^O eq 'cygwin'; -+ # On haiku, the link count seems to be always 1 (at least for BFS) -+ return 1 if $fh[3] == 0 || $^O eq 'cygwin' || $^O eq 'haiku'; - } - # fall-through if we can't unlink now - _deferred_unlink($fh, $path, 0); --- -1.8.3.4 - - -From e54a8f98abfea2be3eec53b4bbe2cbaaf9f39139 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 22 Sep 2013 14:52:53 +0200 -Subject: Haiku defines, but does not implement O_EXLOCK - - -diff --git a/cpan/File-Temp/t/lock.t b/cpan/File-Temp/t/lock.t -index ff8c7f9..4364bf6 100644 ---- a/cpan/File-Temp/t/lock.t -+++ b/cpan/File-Temp/t/lock.t -@@ -8,7 +8,8 @@ use Fcntl; - BEGIN { - # see if we have O_EXLOCK - eval { &Fcntl::O_EXLOCK; }; -- if ($@) { -+ if ($@ || $^O eq 'haiku') { -+ # haiku doesn't implement O_EXLOCK yet (but it defines the value) - plan skip_all => 'Do not seem to have O_EXLOCK'; - } else { - plan tests => 4; --- -1.8.3.4 - - -From 30f81dcecdfb9c49ad8824314348cd23ef43ec0f Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 22 Sep 2013 14:53:40 +0200 -Subject: haiku sets all its specifics via Configure - - -diff --git a/hints/haiku.sh b/hints/haiku.sh -index fa8ebe5..0f09f53 100644 ---- a/hints/haiku.sh -+++ b/hints/haiku.sh -@@ -1,44 +1 @@ --# Haiku hints file --# $Id$ -- --case "$prefix" in --'') prefix="/boot/common" ;; --*) ;; # pass the user supplied value through --esac -- --libpth='/boot/home/config/lib /boot/common/lib /system/lib' --usrinc='/boot/develop/headers/posix' --locinc='/boot/home/config/include /boot/common/include /boot/develop/headers' -- --libc='/system/lib/libroot.so' --libs='-lnetwork' -- --# Use Haiku's malloc() by default. --case "$usemymalloc" in --'') usemymalloc='n' ;; --esac -- --# Haiku generally supports hard links, but the default file system (BFS) --# doesn't. So better avoid using hard links. --d_link='undef' --dont_use_nlink='define' -- --# The array syserrlst[] is useless for the most part. --# Large negative numbers really kind of suck in arrays. --d_syserrlst='undef' -- --# Haiku uses gcc. --cc="gcc" --ld='gcc' -- --# The runtime loader library path variable is LIBRARY_PATH. --case "$ldlibpthname" in --'') ldlibpthname=LIBRARY_PATH ;; --esac -- --# as of alpha 4.1 (at the latest) some symbols are versioned, --# confusing the nm lookup --case "$usenm" in --'') usenm='undef' ;; --esac -- -+# haiku sets all its specifics via Configure --- -1.8.3.4 - - -From 187343906d2ed78aa5e5b4b3a6cfb7ad199c726f Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 22 Sep 2013 14:54:15 +0200 -Subject: Tell perl that Haiku needs haikuish.h installed as well - - -diff --git a/installperl b/installperl -index e64b1c3..8ae20cc 100755 ---- a/installperl -+++ b/installperl -@@ -379,6 +379,11 @@ elsif ($Is_Cygwin) { # On Cygwin symlink it to CORE to make Makefile happy - - # AIX needs perl.exp installed as well. - push(@corefiles,'perl.exp') if $^O eq 'aix'; -+ if ($^O eq 'haiku') { -+ # Haiku needs haikuish.h installed as well. -+ mkpath("$installarchlib/CORE/haiku", $opts{verbose}, 0777); -+ push(@corefiles,'haiku/haikuish.h'); -+ } - } - foreach my $file (@corefiles) { - # HP-UX (at least) needs to maintain execute permissions --- -1.8.3.4 - - -From 936c1f0486788b814578ea469f4441d1755dac71 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 22 Sep 2013 14:55:13 +0200 -Subject: Fix handling of exit codes on Haiku - - -diff --git a/t/run/exit.t b/t/run/exit.t -index 02e57c6..e836410 100644 ---- a/t/run/exit.t -+++ b/t/run/exit.t -@@ -55,18 +55,18 @@ is( ${^CHILD_ERROR_NATIVE}, $native_success, 'Normal exit ${^CHILD_ERROR_NATIVE - if (!$vms_exit_mode) { - my $posix_ok = eval { require POSIX; }; - my $wait_macros_ok = defined &POSIX::WIFEXITED; -- eval { POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}) }; -+ eval { POSIX::WIFEXITED($?) }; - $wait_macros_ok = 0 if $@; - $exit = run('exit 42'); - is( $exit >> 8, 42, 'Non-zero exit' ); - is( $exit, $?, 'Non-zero exit $?' ); -- isnt( !${^CHILD_ERROR_NATIVE}, 0, 'Non-zero exit ${^CHILD_ERROR_NATIVE}' ); -+ isnt( ${^CHILD_ERROR_NATIVE}, 0, 'Non-zero exit ${^CHILD_ERROR_NATIVE}' ); - SKIP: { - skip("No POSIX", 3) unless $posix_ok; - skip("No POSIX wait macros", 3) unless $wait_macros_ok; -- ok(POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}), "WIFEXITED"); -- ok(!POSIX::WIFSIGNALED(${^CHILD_ERROR_NATIVE}), "WIFSIGNALED"); -- is(POSIX::WEXITSTATUS(${^CHILD_ERROR_NATIVE}), 42, "WEXITSTATUS"); -+ ok(POSIX::WIFEXITED($?), "WIFEXITED"); -+ ok(!POSIX::WIFSIGNALED($?), "WIFSIGNALED"); -+ is(POSIX::WEXITSTATUS($?), 42, "WEXITSTATUS"); - } - - SKIP: { -@@ -85,9 +85,9 @@ if (!$vms_exit_mode) { - SKIP: { - skip("No POSIX", 3) unless $posix_ok; - skip("No POSIX wait macros", 3) unless $wait_macros_ok; -- ok(!POSIX::WIFEXITED(${^CHILD_ERROR_NATIVE}), "WIFEXITED"); -- ok(POSIX::WIFSIGNALED(${^CHILD_ERROR_NATIVE}), "WIFSIGNALED"); -- is(POSIX::WTERMSIG(${^CHILD_ERROR_NATIVE}), 15, "WTERMSIG"); -+ ok(!POSIX::WIFEXITED($?), "WIFEXITED"); -+ ok(POSIX::WIFSIGNALED($?), "WIFSIGNALED"); -+ is(POSIX::WTERMSIG($?), 15, "WTERMSIG"); - } - } - --- -1.8.3.4 - - -From c8c19c0e4b6493dd5122749ba0f0d7d8b1b89117 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 22 Sep 2013 15:00:44 +0200 -Subject: Fix include path of errno.h - - -diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL -index b707911..7999ae4 100644 ---- a/ext/Errno/Errno_pm.PL -+++ b/ext/Errno/Errno_pm.PL -@@ -143,7 +143,7 @@ sub get_files { - $file{$linux_errno_h} = 1; - } elsif ($^O eq 'haiku') { - # hidden in a special place -- $file{'/boot/develop/headers/posix/errno.h'} = 1; -+ $file{'/boot/system/develop/headers/posix/errno.h'} = 1; - - } elsif ($^O eq 'vos') { - # avoid problem where cpp returns non-POSIX pathnames --- -1.8.3.4 - - -From 46ed1ae1bc678bda0d0fe3efb589847798afab58 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sat, 28 Sep 2013 13:46:42 +0200 -Subject: Adjust ExtUtils::MakeMaker for PM-Haiku. - -* MakeMaker-projects trying to install into 'site-perl' while specifying - PREFIX would end up using a wrong 'site-perl' prefix. -* Split MM_Haiku.pm off MM_BeOS.pm, implementing Haiku-specific overrides - for MakeMaker. - -diff --git a/cpan/ExtUtils-MakeMaker/MANIFEST b/cpan/ExtUtils-MakeMaker/MANIFEST -index 72feb7d..8eb81f3 100644 ---- a/cpan/ExtUtils-MakeMaker/MANIFEST -+++ b/cpan/ExtUtils-MakeMaker/MANIFEST -@@ -48,6 +48,7 @@ lib/ExtUtils/MM_BeOS.pm - lib/ExtUtils/MM_Cygwin.pm - lib/ExtUtils/MM_Darwin.pm - lib/ExtUtils/MM_DOS.pm -+lib/ExtUtils/MM_Haiku.pm - lib/ExtUtils/MM_MacOS.pm - lib/ExtUtils/MM_NW5.pm - lib/ExtUtils/MM_OS2.pm -diff --git a/cpan/ExtUtils-MakeMaker/NOTES b/cpan/ExtUtils-MakeMaker/NOTES -index cb29aec..bfa628c 100644 ---- a/cpan/ExtUtils-MakeMaker/NOTES -+++ b/cpan/ExtUtils-MakeMaker/NOTES -@@ -80,9 +80,9 @@ The MM_* hierarchy - - MM_Win95 MM_NW5 - \ / --MM_BeOS MM_Cygwin MM_OS2 MM_VMS MM_Win32 MM_DOS MM_UWIN -- \ | | | / / / -- ------------------------------------------------ -+MM_BeOS MM_Cygwin MM_OS2 MM_VMS MM_Win32 MM_DOS MM_UWIN MM_Haiku -+ \ | | | / / / / -+ -------------------------------------------------------- - | | - MM_Unix | - | | -diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm -index 26ed594..dfeea45 100644 ---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm -+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm -@@ -59,7 +59,8 @@ if( $^O eq 'MSWin32' ) { - $Is{UWIN} = $^O =~ /^uwin(-nt)?$/; - $Is{Cygwin} = $^O eq 'cygwin'; - $Is{NW5} = $Config{osname} eq 'NetWare'; # intentional --$Is{BeOS} = ($^O =~ /beos/i or $^O eq 'haiku'); -+$Is{BeOS} = $^O =~ /beos/i; -+$Is{Haiku} = $^O eq 'haiku'; - $Is{DOS} = $^O eq 'dos'; - if( $Is{NW5} ) { - $^O = 'NetWare'; -diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -new file mode 100644 -index 0000000..81e5f99 ---- /dev/null -+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -@@ -0,0 +1,70 @@ -+package ExtUtils::MM_Haiku; -+ -+use strict; -+ -+=head1 NAME -+ -+ExtUtils::MM_Haiku - methods to override UN*X behaviour in ExtUtils::MakeMaker -+ -+=head1 SYNOPSIS -+ -+ use ExtUtils::MM_Haiku; # Done internally by ExtUtils::MakeMaker if needed -+ -+=head1 DESCRIPTION -+ -+See ExtUtils::MM_Unix for a documentation of the methods provided -+there. This package overrides the implementation of these methods, not -+the semantics. -+ -+=over 4 -+ -+=cut -+ -+use ExtUtils::MakeMaker::Config; -+use File::Spec; -+require ExtUtils::MM_Any; -+require ExtUtils::MM_Unix; -+ -+our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -+our $VERSION = '6.66'; -+ -+ -+=item os_flavor -+ -+Haiku is Haiku. -+ -+=cut -+ -+sub os_flavor { -+ return('Haiku'); -+} -+ -+=head3 init_INSTALL_from_PREFIX -+ -+ $mm->init_INSTALL_from_PREFIX; -+ -+=cut -+ -+sub init_INSTALL_from_PREFIX { -+ my $self = shift; -+ -+ # If a prefix has been given from outside, the default implementation -+ # will set PERLPREFIX, SITEPREFIX and VENDORPREFIX to identical values, -+ # but due to the way how Haiku's package management works, PERLPREFIX -+ # and VENDORPREFIX are not writable at all (as they're being populated -+ # from installed packages via package-fs). SITEPREFIX, however needs to -+ # be set to a path which can be written to (since site packages are -+ # expected to be installed "manually") - so we make sure it points -+ # to a 'non-packaged'-folder: -+ my $prefixGiven = $self->{PREFIX}; -+ $self->SUPER::init_INSTALL_from_PREFIX(); -+ if ($prefixGiven) { -+ $self->{SITEPREFIX} = '$(PREFIX)/non-packaged'; -+ } -+} -+ -+=back -+ -+1; -+__END__ -+ --- -1.8.3.4 - - -From f9458e30c41213d315721183c9f10c3605812f57 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Tue, 8 Oct 2013 22:16:37 +0200 -Subject: Avoid using -rpath for dynamic modules. - - -diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -index 81e5f99..25ace13 100644 ---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -@@ -65,6 +65,33 @@ sub init_INSTALL_from_PREFIX { - - =back - -+=head3 init_others -+ -+ $MM->init_others(); -+ -+Initializes the macro definitions having to do with compiling and -+linking used by tools_other() and places them in the $MM object. -+ -+If there is no description, its the same as the parameter to -+WriteMakefile() documented in ExtUtils::MakeMaker. -+ -+=cut -+ -+sub init_others { -+ my $self = shift; -+ -+ $self->SUPER::init_others(); -+ -+ # Don't use run-time paths for libraries required by dynamic -+ # modules on Haiku, as that wouldn't work should a library be moved -+ # (for instance because the package has been activated somewhere else). -+ $self->{LD_RUN_PATH} = ""; -+ -+ return; -+} -+ -+=back -+ - 1; - __END__ - --- -1.8.3.4 - - -From 5d6dde9cb0022bdeee490b383ff1991eacc3b9cc Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Tue, 8 Oct 2013 22:17:26 +0200 -Subject: Add script sitecustomize.pl for setting up @INC as we need it. - - -diff --git a/sitecustomize.pl b/sitecustomize.pl -new file mode 100644 -index 0000000..a321e51 ---- /dev/null -+++ b/sitecustomize.pl -@@ -0,0 +1,36 @@ -+#! perl -+ -+use Config; -+ -+# Remove all compiled-in paths referring to Perl's installation dir -+# and replace them with a static set of paths that implement the intended -+# searching order: -+my @ourINC = ( -+ "/boot/home/config/lib/perl5/$Config{version}/$Config{archname}", -+ "/boot/home/config/lib/perl5/$Config{version}", -+ "/boot/home/config/non-packaged/lib/perl5/site_perl/$Config{version}/$Config{archname}", -+ "/boot/home/config/non-packaged/lib/perl5/site_perl/$Config{version}", -+ "/boot/home/config/lib/perl5/vendor_perl/$Config{version}/$Config{archname}", -+ "/boot/home/config/lib/perl5/vendor_perl/$Config{version}", -+ "/boot/home/config/lib/perl5/vendor_perl", -+ "/boot/system/lib/perl5/$Config{version}/$Config{archname}", -+ "/boot/system/lib/perl5/$Config{version}", -+ "/boot/system/non-packaged/lib/perl5/site_perl/$Config{version}/$Config{archname}", -+ "/boot/system/non-packaged/lib/perl5/site_perl/$Config{version}", -+ "/boot/system/lib/perl5/vendor_perl/$Config{version}/$Config{archname}", -+ "/boot/system/lib/perl5/vendor_perl/$Config{version}", -+ "/boot/system/lib/perl5/vendor_perl", -+); -+my @newINC; -+my $removedPerlPaths; -+foreach my $inc (@INC) { -+ if ($inc =~ m[^/packages/perl-$Config{version}-\d+/.self/]o) { -+ if (! $removedPerlPaths) { -+ push @newINC, @ourINC; -+ $removedPerlPaths = 1; -+ } -+ next; -+ } -+ push @newINC, $inc; -+} -+@INC = @newINC; --- -1.8.3.4 - - -From f33151a4535dd22acaae24d4b16da3115b6cef64 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Wed, 9 Oct 2013 20:29:38 +0200 -Subject: Fix initialization check for CPAN. - -* On Haiku, only the site-lib directories will ever be writable, - as the others read-only. This avoids CPAN asking for a way to - circumvent unwritable lib dirs. - -diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm -index b099b04..55bf194 100644 ---- a/cpan/CPAN/lib/CPAN/FirstTime.pm -+++ b/cpan/CPAN/lib/CPAN/FirstTime.pm -@@ -2010,6 +2010,12 @@ sub _print_urllist { - } - - sub _can_write_to_libdirs { -+ if ($^O eq 'haiku') { -+ # on Haiku, the other dirs are never writable, as they are -+ # being populated by packagefs -+ return -w $Config{installsitelib} -+ && -w $Config{installsitearch} -+ } - return -w $Config{installprivlib} - && -w $Config{installarchlib} - && -w $Config{installsitelib} --- -1.8.3.4 - - -From 6fbbb6e99558e992f373cddd6ae02a3656ad7ce0 Mon Sep 17 00:00:00 2001 -From: Oliver Tappe -Date: Sun, 13 Oct 2013 17:32:50 +0200 -Subject: Add support for HAIKU_USE_VENDOR_DIRECTORIES. - -* Adjust MakeMaker to automatically switch to vendor directories if - requested via HAIKU_USE_VENDOR_DIRECTORIES. - -diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -index 25ace13..0be8c3d 100644 ---- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Haiku.pm -@@ -29,21 +29,20 @@ our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); - our $VERSION = '6.66'; - - --=item os_flavor -- --Haiku is Haiku. -- --=cut -- - sub os_flavor { - return('Haiku'); - } - --=head3 init_INSTALL_from_PREFIX -+sub init_main { -+ my $self = shift; - -- $mm->init_INSTALL_from_PREFIX; -+ # switch to vendor directories if requested. -+ if ($ENV{'HAIKU_USE_VENDOR_DIRECTORIES'}) { -+ $self->{INSTALLDIRS} ||= 'vendor'; -+ } - --=cut -+ $self->SUPER::init_main(); -+} - - sub init_INSTALL_from_PREFIX { - my $self = shift; -@@ -63,20 +62,6 @@ sub init_INSTALL_from_PREFIX { - } - } - --=back -- --=head3 init_others -- -- $MM->init_others(); -- --Initializes the macro definitions having to do with compiling and --linking used by tools_other() and places them in the $MM object. -- --If there is no description, its the same as the parameter to --WriteMakefile() documented in ExtUtils::MakeMaker. -- --=cut -- - sub init_others { - my $self = shift; - -@@ -90,8 +75,6 @@ sub init_others { - return; - } - --=back -- - 1; - __END__ - --- -1.8.3.4 - diff --git a/dev-lang/perl/perl-5.10.1.recipe b/dev-lang/perl/perl-5.10.1.recipe deleted file mode 100644 index c5de7b6ac..000000000 --- a/dev-lang/perl/perl-5.10.1.recipe +++ /dev/null @@ -1,127 +0,0 @@ -SUMMARY="Larry Wall's Practical Extraction and Report Language" -DESCRIPTION=" - Perl was originally developed by Larry Wall in 1987 as a general-purpose - Unix scripting language to make report processing easier. - - Perl borrows features from other programming languages including C, shell - scripting (sh), AWK, and sed. The language provides powerful text - processing facilities without the arbitrary data-length limits of many - contemporary Unix tools, facilitating easy manipulation of text files. - - In addition to CGI, Perl is used for graphics programming, system - administration, network programming, finance, bioinformatics, and other - applications. Perl is nicknamed 'the Swiss Army chainsaw of scripting - languages' because of its flexibility and power, and possibly also - because of its perceived 'ugliness'. - " -HOMEPAGE="http://www.perl.org/" -COPYRIGHT="1993-2009 Larry Wall and others" -LICENSE="GNU GPL v1 - Artistic" -SOURCE_URI="http://www.cpan.org/src/perl-5.10.1.tar.gz" -CHECKSUM_SHA256="cb7f26ea4b2b28d6644354d87a269d01cac1b635287dae64e88eeafa24b44f35" -REVISION="6" -ARCHITECTURES="x86_gcc2 x86 x86_64" - -PATCHES="perl-5.10.1.patch" - -PROVIDES=" - perl = $portVersion compat >= 5 - cmd:a2p = $portVersion compat >= 5 - cmd:c2ph = $portVersion compat >= 5 - cmd:config_data = $portVersion compat >= 5 - cmd:corelist = $portVersion compat >= 5 - cmd:cpan = $portVersion compat >= 5 - cmd:cpan2dist = $portVersion compat >= 5 - cmd:cpanp = $portVersion compat >= 5 - cmd:cpanp_run_perl = $portVersion compat >= 5 - cmd:dprofpp = $portVersion compat >= 5 - cmd:enc2xs = $portVersion compat >= 5 - cmd:find2perl = $portVersion compat >= 5 - cmd:h2ph = $portVersion compat >= 5 - cmd:h2xs = $portVersion compat >= 5 - cmd:instmodsh = $portVersion compat >= 5 - cmd:libnetcfg = $portVersion compat >= 5 - cmd:perl = $portVersion compat >= 5 - cmd:perl5.10.1 = $portVersion compat >= 5 - cmd:perlbug = $portVersion compat >= 5 - cmd:perldoc = $portVersion compat >= 5 - cmd:perlivp = $portVersion compat >= 5 - cmd:perlthanks = $portVersion compat >= 5 - cmd:piconv = $portVersion compat >= 5 - cmd:pl2pm = $portVersion compat >= 5 - cmd:pod2html = $portVersion compat >= 5 - cmd:pod2latex = $portVersion compat >= 5 - cmd:pod2man = $portVersion compat >= 5 - cmd:pod2text = $portVersion compat >= 5 - cmd:pod2usage = $portVersion compat >= 5 - cmd:podchecker = $portVersion compat >= 5 - cmd:podselect = $portVersion compat >= 5 - cmd:prove = $portVersion compat >= 5 - cmd:psed = $portVersion compat >= 5 - cmd:pstruct = $portVersion compat >= 5 - cmd:ptar = $portVersion compat >= 5 - cmd:ptardiff = $portVersion compat >= 5 - cmd:s2p = $portVersion compat >= 5 - cmd:shasum = $portVersion compat >= 5 - cmd:splain = $portVersion compat >= 5 - cmd:xsubpp = $portVersion compat >= 5 - lib:libperl = $portVersion compat >= 5 - " -REQUIRES=" - haiku - " -BUILD_REQUIRES=" - " -BUILD_PREREQUIRES=" - haiku_devel - cmd:gcc - cmd:ld - cmd:make - cmd:sed - " - -GLOBAL_WRITABLE_FILES=" - non-packaged/lib/perl5/site_perl/5.10.1/BePC-haiku directory - " - -BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL - -BUILD() -{ - ./Configure \ - -Dprefix=$prefix \ - -Dprivlib=$prefix/lib/perl5/core_perl/$portVersion \ - -Dsiteprefix=$prefix/non-packaged \ - -Dsitelib=$prefix/non-packaged/lib/perl5/site_perl/$portVersion \ - -Dvendorprefix=$prefix \ - -Dvendorlib=$prefix/lib/perl5/vendor_perl/$portVersion \ - -Dcf_email=zooey@hirschkaefer.de \ - -Uusenm -Duseshrplib -Uusemymalloc \ - -Dlibpth="$(finddir B_USER_LIB_DIRECTORY) $(finddir B_COMMON_LIB_DIRECTORY) $(finddir B_SYSTEM_LIB_DIRECTORY)" \ - -Dusrinc="$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/headers/posix" \ - -Dlocinc="$(finddir B_USER_CONFIG_DIRECTORY)/develop/headers $(finddir B_COMMON_DEVELOP_DIRECTORY)/headers $(finddir B_SYSTEM_DEVELOP_DIRECTORY)/headers" \ - -Dlibc="$(finddir B_SYSTEM_LIB_DIRECTORY)/libroot.so" \ - -Dlibs=-lnetwork -Dcc=gcc -Dld=gcc \ - -Ud_link -Ddont_use_nlink -Ud_syserrlst \ - -Dldlibpthname=LIBRARY_PATH -Dstartperl="#! perl" -de - - # force-remove path from sed - sed -i -e 's/LOC_SED\s*"\/boot\/common\/bin\/sed/LOC_SED "sed/' config.h - - make $jobArgs -} - -INSTALL() -{ - eval $(./miniperl "-I$relativeLibDir" -V:archname) - make install - cd "$binDir" - chmod a+x perl psed pstruct perlthanks - cd "$libDir" - ln -sf perl5/core_perl/5.10.1/$archname/CORE/libperl.so . - - # The "site-perl" stuff is automatically created, when necessary, so we can - # as well remove it. - rm -r $prefix/non-packaged -} diff --git a/dev-lang/perl/perl-5.18.1.recipe b/dev-lang/perl/perl-5.18.1.recipe deleted file mode 100644 index 1f546a8b8..000000000 --- a/dev-lang/perl/perl-5.18.1.recipe +++ /dev/null @@ -1,142 +0,0 @@ -SUMMARY="Larry Wall's Practical Extraction and Report Language" -DESCRIPTION=" -Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix \ -scripting language to make report processing easier. - -Perl borrows features from other programming languages including C, shell \ -scripting (sh), AWK, and sed. The language provides powerful text processing \ -facilities without the arbitrary data-length limits of many contemporary Unix \ -tools, facilitating easy manipulation of text files. - -In addition to CGI, Perl is used for graphics programming, system \ -administration, network programming, finance, bioinformatics, and other \ -applications. Perl is nicknamed 'the Swiss Army chainsaw of scripting \ -languages' because of its flexibility and power, and possibly also because of \ -its perceived 'ugliness'. -" -HOMEPAGE="http://www.perl.org/" -COPYRIGHT="1993-2009 Larry Wall and others" -LICENSE="GNU GPL v1 - Artistic" -SOURCE_URI="http://www.cpan.org/src/perl-5.18.1.tar.gz" -CHECKSUM_SHA256="655e11a8ffba8853efcdce568a142c232600ed120ac24aaebb4e6efe74e85b2b" -REVISION="1" -ARCHITECTURES="x86_gcc2 x86 x86_64" - -PATCHES="perl-5.18.1.patchset" - -PROVIDES=" - # assume that any perl commands are backwards compatible to version 5. - perl = $portVersion compat >= 5 - cmd:a2p = $portVersion compat >= 5 - cmd:c2ph = $portVersion compat >= 5 - cmd:config_data = $portVersion compat >= 5 - cmd:corelist = $portVersion compat >= 5 - cmd:cpan = $portVersion compat >= 5 - cmd:cpan2dist = $portVersion compat >= 5 - cmd:cpanp = $portVersion compat >= 5 - cmd:cpanp_run_perl = $portVersion compat >= 5 - cmd:dprofpp = $portVersion compat >= 5 - cmd:enc2xs = $portVersion compat >= 5 - cmd:find2perl = $portVersion compat >= 5 - cmd:h2ph = $portVersion compat >= 5 - cmd:h2xs = $portVersion compat >= 5 - cmd:instmodsh = $portVersion compat >= 5 - cmd:json_pp = $portVersion compat >= 5 - cmd:libnetcfg = $portVersion compat >= 5 - cmd:perl = $portVersion compat >= 5 - cmd:perl$portVersion = $portVersion compat >= 5 - cmd:perlbug = $portVersion compat >= 5 - cmd:perldoc = $portVersion compat >= 5 - cmd:perlivp = $portVersion compat >= 5 - cmd:perlthanks = $portVersion compat >= 5 - cmd:piconv = $portVersion compat >= 5 - cmd:pl2pm = $portVersion compat >= 5 - cmd:pod2html = $portVersion compat >= 5 - cmd:pod2latex = $portVersion compat >= 5 - cmd:pod2man = $portVersion compat >= 5 - cmd:pod2text = $portVersion compat >= 5 - cmd:pod2usage = $portVersion compat >= 5 - cmd:podchecker = $portVersion compat >= 5 - cmd:podselect = $portVersion compat >= 5 - cmd:prove = $portVersion compat >= 5 - cmd:psed = $portVersion compat >= 5 - cmd:pstruct = $portVersion compat >= 5 - cmd:ptar = $portVersion compat >= 5 - cmd:ptardiff = $portVersion compat >= 5 - cmd:ptargrep = $portVersion compat >= 5 - cmd:s2p = $portVersion compat >= 5 - cmd:shasum = $portVersion compat >= 5 - cmd:splain = $portVersion compat >= 5 - cmd:xsubpp = $portVersion compat >= 5 - cmd:zipdetails = $portVersion compat >= 5 - # vendor_perl refers to the path to packaged perl modules, which includes - # the full perl version, so it isn't backwards compatible to anything else. - vendor_perl = $portVersion - # It is unclear which kind of backwards compatibility libperl.so - # implements, so we assume none. - lib:libperl = $portVersion - " -REQUIRES=" - haiku - " -BUILD_REQUIRES=" - " -BUILD_PREREQUIRES=" - haiku_devel - cmd:gcc - cmd:ld - cmd:make - cmd:sed - " - -perlArchName="$(uname -m)-haiku" - -GLOBAL_WRITABLE_FILES=" - non-packaged/lib/perl5/site_perl/$portVersion/sitecustomize.pl keep-old - non-packaged/lib/perl5/site_perl/$portVersion/$perlArchName directory keep-old - " - -BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL - -BUILD() -{ - ./Configure \ - -Dprefix=$prefix \ - -Dprivlib=$prefix/lib/perl5/$portVersion \ - -Dsiteprefix=$prefix/non-packaged \ - -Dsitelib=$prefix/non-packaged/lib/perl5/site_perl/$portVersion \ - -Dvendorprefix=$prefix \ - -Dvendorlib=$prefix/lib/perl5/vendor_perl/$portVersion \ - -Dcf_email=zooey@hirschkaefer.de \ - -Uusenm -Duseshrplib -Uusemymalloc \ - -Dlibpth="$(finddir B_USER_DEVELOP_DIRECTORY)/lib $(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib" \ - -Dusrinc="$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/headers/posix" \ - -Dlocinc="$(finddir B_USER_CONFIG_DIRECTORY)/develop/headers $(finddir B_SYSTEM_DEVELOP_DIRECTORY)/headers" \ - -Dlibc="'$(finddir B_SYSTEM_LIB_DIRECTORY)/libroot.so'" \ - -Dlibs=-lnetwork -Dcc=gcc -Dld=gcc \ - -Ud_link -Ddont_use_nlink -Ud_syserrlst \ - -Dldlibpthname=LIBRARY_PATH -Dstartperl="#! perl" \ - -Dccdlflags="-Wl,-rpath=$libDir/perl5/$portVersion/$perlArchName/CORE" \ - -Dusesitecustomize \ - -de - - # force-remove path from sed - sed -i -e 's/LOC_SED\s*"\/bin\/sed/LOC_SED "sed/' config.h - - make $jobArgs -} - -INSTALL() -{ - make install - chmod a+x $binDir/{perl,psed,pstruct,perlthanks} - - # copy script into site_perl that takes care of massaging @INC into what we need. - cp sitecustomize.pl $prefix/non-packaged/lib/perl5/site_perl/$portVersion/ -} - -TEST() -{ - make test -} diff --git a/dev-lang/perl/perl-5.26.1.recipe b/dev-lang/perl/perl-5.26.1.recipe index e69e4b0d1..439f9244f 100644 --- a/dev-lang/perl/perl-5.26.1.recipe +++ b/dev-lang/perl/perl-5.26.1.recipe @@ -22,7 +22,7 @@ SOURCE_URI="http://www.cpan.org/src/perl-$portVersion.tar.gz" CHECKSUM_SHA256="e763aa485e8dc1a70483dbe6d615986bbf32b977f38016480d68c99237e701dd" PATCHES="perl-$portVersion.patchset" -ARCHITECTURES="?x86_gcc2 x86 x86_64 ?arm" +ARCHITECTURES="x86_gcc2 x86 x86_64 ?arm" PROVIDES=" # assume that any perl commands are backwards compatible to version 5.