Files
haikuports/dev-lang/perl/patches/perl-5.10.1.patch

140 lines
5.3 KiB
Diff

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");
}
}