mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-13 07:10:05 +02:00
140 lines
5.3 KiB
Diff
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");
|
|
}
|
|
}
|
|
|