From 439fd764c1a1445aff4a25be80baefa802e203f7 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Mon, 22 Mar 2010 04:06:36 +0000 Subject: [PATCH] Initial .bep file for perl, moved patches to patches directory. --- .../perl-5.10.0.patch} | 0 .../perl-5.10.1.patch} | 0 dev-lang/perl/perl-5.10.1.bep | 19 + dev-lang/perl/perl-current.diff | 697 ------------------ 4 files changed, 19 insertions(+), 697 deletions(-) rename dev-lang/perl/{perl-5.10.0.diff => patches/perl-5.10.0.patch} (100%) rename dev-lang/perl/{perl-5.10.1.diff => patches/perl-5.10.1.patch} (100%) create mode 100644 dev-lang/perl/perl-5.10.1.bep delete mode 100644 dev-lang/perl/perl-current.diff diff --git a/dev-lang/perl/perl-5.10.0.diff b/dev-lang/perl/patches/perl-5.10.0.patch similarity index 100% rename from dev-lang/perl/perl-5.10.0.diff rename to dev-lang/perl/patches/perl-5.10.0.patch diff --git a/dev-lang/perl/perl-5.10.1.diff b/dev-lang/perl/patches/perl-5.10.1.patch similarity index 100% rename from dev-lang/perl/perl-5.10.1.diff rename to dev-lang/perl/patches/perl-5.10.1.patch diff --git a/dev-lang/perl/perl-5.10.1.bep b/dev-lang/perl/perl-5.10.1.bep new file mode 100644 index 000000000..6d832efc1 --- /dev/null +++ b/dev-lang/perl/perl-5.10.1.bep @@ -0,0 +1,19 @@ +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" +HOMEPAGE="http://www.perl.org/" +SRC_URI="http://www.cpan.org/src/perl-5.10.1.tar.gz" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="" +CHECKSUM_MD5="b9b2fdb957f50ada62d73f43ee75d044" +BUILD { + cd perl-5.10.1 + ./Configure -Dcf_email=zooey@hirschkaefer.de -Uusenm -de + make +} + +INSTALL { + cd perl-5.10.1 + make install + chmod a+x `finddir B_COMMON_BIN_DIRECTORY`/perl + ln -sf perl5/5.10.1/BePC-haiku/CORE/libperl.so `finddir B_COMMON_LIB_DIRECTORY` +} \ No newline at end of file diff --git a/dev-lang/perl/perl-current.diff b/dev-lang/perl/perl-current.diff deleted file mode 100644 index dc984b7fc..000000000 --- a/dev-lang/perl/perl-current.diff +++ /dev/null @@ -1,697 +0,0 @@ -Patch against perl-current 5.11.0@34615. -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/Configure /CrashTest/ports/perl/perl-current/Configure ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/Configure 2008-10-27 18:36:47.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/Configure 2008-10-28 13:50:02.000000000 +0000 -@@ -8014,6 +8014,7 @@ - case "$lddlflags" in - '') case "$osname" in - beos) dflt='-nostart' ;; -+ haiku) dflt='-shared' ;; - hpux) dflt='-b'; - case "$gccversion" in - '') dflt="$dflt +vnocompatwarnings" ;; -@@ -8107,7 +8108,7 @@ - ;; - *) case "$useshrplib" in - '') case "$osname" in -- svr4*|nonstopux|dgux|dynixptx|esix|powerux|beos|cygwin*) -+ svr4*|nonstopux|dgux|dynixptx|esix|powerux|beos|cygwin*|haiku) - dflt=y - also='Building a shared libperl is required for dynamic loading to work on your system.' - ;; -@@ -8274,6 +8275,9 @@ - beos) - # beos doesn't like the default, either. - ;; -+ haiku) -+ # Haiku doesn't like the default, either. -+ ;; - hpux*) - # hpux doesn't like the default, either. - tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\"" -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/MANIFEST /CrashTest/ports/perl/perl-current/MANIFEST ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/MANIFEST 2008-10-25 15:11:55.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/MANIFEST 2008-10-28 16:00:22.000000000 +0000 -@@ -677,6 +677,9 @@ - ext/GDBM_File/Makefile.PL GDBM extension makefile writer - ext/GDBM_File/t/gdbm.t See if GDBM_File works - ext/GDBM_File/typemap GDBM extension interface types -+ext/Haiku/Haiku.pm Haiku extension Perl module -+ext/Haiku/Haiku.xs Haiku extension external subroutines -+ext/Haiku/Makefile.PL Haiku extension makefile writer - ext/Hash/Util/Changes Change history of Hash::Util - ext/Hash/Util/FieldHash/Changes Changes for Hash::Util::FieldHash - ext/Hash/Util/FieldHash/FieldHash.xs XS portion -@@ -1478,6 +1481,7 @@ - h2pl/README How to turn .ph files into .pl files - h2pl/tcbreak cbreak test routine using .ph - h2pl/tcbreak2 cbreak test routine using .pl -+haiku/haikuish.h Header for the Haiku port - handy.h Handy definitions - hints/3b1cc Hints for named architecture - hints/3b1.sh Hints for named architecture -@@ -1513,6 +1517,7 @@ - hints/gnuknetbsd.sh Hints for named architecture - hints/gnu.sh Hints for named architecture - hints/greenhills.sh Hints for named architecture -+hints/haiku.sh Hints for named architecture - hints/hpux.sh Hints for named architecture - hints/i386.sh Hints for named architecture - hints/interix.sh Hints for named architecture -@@ -1982,6 +1987,7 @@ - lib/ExtUtils/MM_Cygwin.pm MakeMaker methods for Cygwin - lib/ExtUtils/MM_Darwin.pm MakeMaker methods for Darwin - lib/ExtUtils/MM_DOS.pm MakeMaker methods for DOS -+lib/ExtUtils/MM_Haiku.pm MakeMaker methods for Haiku - lib/ExtUtils/MM_MacOS.pm MakeMaker methods for MacOS - lib/ExtUtils/MM_NW5.pm MakeMaker methods for NetWare - lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2 -@@ -3535,6 +3541,7 @@ - README.dos Perl notes for DOS - README.epoc Perl notes for EPOC - README.freebsd Perl notes for FreeBSD -+README.haiku Perl notes for Haiku - README.hpux Perl notes for HP-UX - README.hurd Perl notes for Hurd - README.irix Perl notes for Irix -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/README.haiku /CrashTest/ports/perl/perl-current/README.haiku ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/README.haiku 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/README.haiku 2008-10-28 15:34:37.000000000 +0000 -@@ -0,0 +1,64 @@ -+If you read this file _as_is_, just ignore the funny characters you see. -+It is written in the POD format (see pod/perlpod.pod) which is specially -+designed to be readable as is. -+ -+=head1 NAME -+ -+README.haiku - Perl version 5.10+ on Haiku -+ -+=head1 DESCRIPTION -+ -+This file contains instructions how to build Perl for Haiku and lists -+known problems. -+ -+=head1 BUILD AND INSTALL -+ -+The build procedure is completely standard: -+ -+ ./Configure -de -+ make -+ make install -+ -+Make perl executable and create a symlink for libperl: -+ -+ chmod a+x /boot/common/bin/perl -+ cd /boot/common/lib; ln -s perl5/5.10.0/BePC-haiku/CORE/libperl.so . -+ -+Replace C<5.10.0> with your respective version of Perl. -+ -+=head1 KNOWN PROBLEMS -+ -+The following problems are encountered with Haiku revision 28311: -+ -+=over 4 -+ -+=item * -+ -+Perl cannot be compiled with threading support ATM. -+ -+=item * -+ -+The C test fails. More precisely: the subtests -+using datagram sockets fail. Unix datagram sockets aren't implemented in -+Haiku yet. -+ -+=item * -+ -+A subtest of the C test fails. This is due to Haiku -+not implementing C support yet. -+ -+=item * -+ -+The tests C and C -+fail. This is due to bugs in Haiku's network stack implementation. -+ -+=back -+ -+=head1 CONTACT -+ -+For Haiku specific problems contact the HaikuPorts developers: -+http://ports.haiku-files.org/ -+ -+The initial Haiku port was done by Ingo Weinhold . -+ -+Last update: 2008-10-29 -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Errno/Errno_pm.PL /CrashTest/ports/perl/perl-current/ext/Errno/Errno_pm.PL ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Errno/Errno_pm.PL 2008-09-19 21:04:08.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/ext/Errno/Errno_pm.PL 2008-10-28 13:50:02.000000000 +0000 -@@ -155,7 +155,7 @@ - # we might miss out on compiler-specific ones - $file{"$ENV{GUSI}include:sys:errno.h"} = 1; - -- } elsif ($^O eq 'beos') { -+ } elsif ($^O eq 'beos' || $^O eq 'haiku') { - # hidden in a special place - $file{'/boot/develop/headers/posix/errno.h'} = 1; - -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Haiku/Haiku.pm /CrashTest/ports/perl/perl-current/ext/Haiku/Haiku.pm ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Haiku/Haiku.pm 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/ext/Haiku/Haiku.pm 2008-10-28 13:50:02.000000000 +0000 -@@ -0,0 +1,54 @@ -+package Haiku; -+ -+BEGIN { -+ use strict; -+ use vars qw|$VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK|; -+ -+ require Exporter; -+ require DynaLoader; -+ -+ @ISA = qw|Exporter DynaLoader|; -+ $VERSION = '0.34'; -+ $XS_VERSION = $VERSION; -+ $VERSION = eval $VERSION; -+ -+ @EXPORT = qw( -+ ); -+ @EXPORT_OK = qw( -+ ); -+} -+ -+bootstrap Haiku; -+ -+1; -+ -+__END__ -+ -+=head1 NAME -+ -+Haiku - Interfaces to some Haiku API Functions -+ -+=head1 DESCRIPTION -+ -+The Haiku module contains functions to access Haiku APIs. -+ -+=head2 Alphabetical Listing of Haiku Functions -+ -+=over -+ -+=item Haiku::debug_printf(FORMAT,...) -+ -+Similar to printf, but prints to system debug output. -+ -+=item Haiku::debugger(FORMAT,...) -+ -+Drops the program into the debugger. The printf like arguments define the -+debugger message. -+ -+=item Haiku::ktrace_printf(FORMAT,...) -+ -+Similar to printf, but prints to a kernel tracing entry. -+ -+=back -+ -+=cut -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Haiku/Haiku.xs /CrashTest/ports/perl/perl-current/ext/Haiku/Haiku.xs ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Haiku/Haiku.xs 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/ext/Haiku/Haiku.xs 2008-10-28 13:50:02.000000000 +0000 -@@ -0,0 +1,137 @@ -+#define PERL_NO_GET_CONTEXT -+#include "EXTERN.h" -+#include "perl.h" -+#include "XSUB.h" -+ -+#include -+ -+#include -+ -+static void -+haiku_do_debugger(const char* format,...) -+{ -+ char buffer[1024]; -+ va_list args; -+ va_start(args, format); -+ my_vsnprintf(buffer, sizeof(buffer), format, args); -+ va_end(args); -+ -+ debugger(buffer); -+} -+ -+static void -+haiku_do_debug_printf(pTHX_ register SV *sv, -+ void (*printfFunc)(const char*,...)) -+{ -+ dVAR; -+ -+ if (!sv) -+ return; -+ if (SvTYPE(sv) == SVt_IV && SvIOK(sv)) { -+ assert(!SvGMAGICAL(sv)); -+ if (SvIsUV(sv)) -+ (*printfFunc)("%"UVuf, (UV)SvUVX(sv)); -+ else -+ (*printfFunc)("%"IVdf, (IV)SvIVX(sv)); -+ return; -+ } -+ else { -+ STRLEN len; -+ /* Do this first to trigger any overloading. */ -+ const char *tmps = SvPV_const(sv, len); -+ U8 *tmpbuf = NULL; -+ -+ if (!SvUTF8(sv)) { -+ /* We don't modify the original scalar. */ -+ tmpbuf = bytes_to_utf8((const U8*) tmps, &len); -+ tmps = (char *) tmpbuf; -+ } -+ -+ if (len) -+ (*printfFunc)("%.*s", (int)len, tmps); -+ Safefree(tmpbuf); -+ } -+} -+ -+XS(haiku_debug_printf) -+{ -+ dVAR; -+ dXSARGS; -+ dORIGMARK; -+ SV *sv; -+ -+ if (items < 1) -+ Perl_croak(aTHX_ "usage: Haiku::debug_printf($format,...)"); -+ -+ sv = newSV(0); -+ -+ if (SvTAINTED(MARK[1])) -+ TAINT_PROPER("debug_printf"); -+ do_sprintf(sv, SP - MARK, MARK + 1); -+ -+ haiku_do_debug_printf(sv, &debug_printf); -+ -+ SvREFCNT_dec(sv); -+ SP = ORIGMARK; -+ PUSHs(&PL_sv_yes); -+} -+ -+XS(haiku_ktrace_printf) -+{ -+ dVAR; -+ dXSARGS; -+ dORIGMARK; -+ SV *sv; -+ -+ if (items < 1) -+ Perl_croak(aTHX_ "usage: Haiku::debug_printf($format,...)"); -+ -+ sv = newSV(0); -+ -+ if (SvTAINTED(MARK[1])) -+ TAINT_PROPER("ktrace_printf"); -+ do_sprintf(sv, SP - MARK, MARK + 1); -+ -+ haiku_do_debug_printf(sv, &ktrace_printf); -+ -+ SvREFCNT_dec(sv); -+ SP = ORIGMARK; -+ PUSHs(&PL_sv_yes); -+} -+ -+XS(haiku_debugger) -+{ -+ dVAR; -+ dXSARGS; -+ dORIGMARK; -+ SV *sv; -+ -+ if (items < 1) -+ Perl_croak(aTHX_ "usage: Haiku::debugger($format,...)"); -+ -+ sv = newSV(0); -+ -+ if (SvTAINTED(MARK[1])) -+ TAINT_PROPER("debugger"); -+ do_sprintf(sv, SP - MARK, MARK + 1); -+ -+ haiku_do_debug_printf(sv, &haiku_do_debugger); -+ -+ SvREFCNT_dec(sv); -+ SP = ORIGMARK; -+ PUSHs(&PL_sv_yes); -+} -+ -+MODULE = Haiku PACKAGE = Haiku -+ -+PROTOTYPES: DISABLE -+ -+BOOT: -+{ -+ char *file = __FILE__; -+ -+ newXS("Haiku::debug_printf", haiku_debug_printf, file); -+ newXS("Haiku::ktrace_printf", haiku_ktrace_printf, file); -+ newXS("Haiku::debugger", haiku_debugger, file); -+ XSRETURN_YES; -+} -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Haiku/Makefile.PL /CrashTest/ports/perl/perl-current/ext/Haiku/Makefile.PL ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Haiku/Makefile.PL 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/ext/Haiku/Makefile.PL 2008-10-28 13:50:02.000000000 +0000 -@@ -0,0 +1,20 @@ -+use 5.006; -+use ExtUtils::MakeMaker; -+ -+unless ($^O eq "haiku") { -+ die "OS unsupported\n"; -+} -+ -+#my @libs; -+#push @libs, '-L/lib/w32api -lole32 -lversion' if $^O eq "cygwin"; -+ -+WriteMakefile( -+ NAME => 'Haiku', -+ VERSION_FROM => 'Haiku.pm', -+# LIBS => \@libs, -+ INSTALLDIRS => ($] >= 5.008004 ? 'perl' : 'site'), -+ NO_META => 1, -+ -+ AUTHOR => 'Ingo Weinhold ', -+ ABSTRACT_FROM => 'Haiku.pm', -+); -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/POSIX/POSIX.xs /CrashTest/ports/perl/perl-current/ext/POSIX/POSIX.xs ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/POSIX/POSIX.xs 2008-09-19 21:04:09.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/ext/POSIX/POSIX.xs 2008-10-28 15:22:24.000000000 +0000 -@@ -379,7 +379,17 @@ - * to follow the traditional. However, to make the POSIX - * wait W*() macros to work in BeOS, we need to unbend the - * reality back in place. --jhi */ --#ifdef __BEOS__ -+/* In actual fact the code below is to blame here. Perl has an internal -+ * representation of the exit status ($?), which it re-composes from the -+ * OS's representation using the W*() POSIX macros. The code below -+ * incorrectly uses the W*() macros on the internal representation, -+ * which fails for OSs that have a different representation (namely BeOS -+ * and Haiku). WMUNGE() is a hack that converts the internal -+ * representation into the OS specific one, so that the W*() macros work -+ * as expected. The better solution would be not to use the W*() macros -+ * in the first place, though. -- Ingo Weinhold -+ */ -+#if defined(__BEOS__) || defined(__HAIKU__) - # define WMUNGE(x) (((x) & 0xFF00) >> 8 | ((x) & 0x00FF) << 8) - #else - # define WMUNGE(x) (x) -@@ -664,42 +674,42 @@ - switch(ix) { - case 0: - #ifdef WEXITSTATUS -- RETVAL = WEXITSTATUS(status); -+ RETVAL = WEXITSTATUS(WMUNGE(status)); - #else - not_here("WEXITSTATUS"); - #endif - break; - case 1: - #ifdef WIFEXITED -- RETVAL = WIFEXITED(status); -+ RETVAL = WIFEXITED(WMUNGE(status)); - #else - not_here("WIFEXITED"); - #endif - break; - case 2: - #ifdef WIFSIGNALED -- RETVAL = WIFSIGNALED(status); -+ RETVAL = WIFSIGNALED(WMUNGE(status)); - #else - not_here("WIFSIGNALED"); - #endif - break; - case 3: - #ifdef WIFSTOPPED -- RETVAL = WIFSTOPPED(status); -+ RETVAL = WIFSTOPPED(WMUNGE(status)); - #else - not_here("WIFSTOPPED"); - #endif - break; - case 4: - #ifdef WSTOPSIG -- RETVAL = WSTOPSIG(status); -+ RETVAL = WSTOPSIG(WMUNGE(status)); - #else - not_here("WSTOPSIG"); - #endif - break; - case 5: - #ifdef WTERMSIG -- RETVAL = WTERMSIG(status); -+ RETVAL = WTERMSIG(WMUNGE(status)); - #else - not_here("WTERMSIG"); - #endif -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Time/HiRes/t/HiRes.t /CrashTest/ports/perl/perl-current/ext/Time/HiRes/t/HiRes.t ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/ext/Time/HiRes/t/HiRes.t 2008-09-19 21:04:09.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/ext/Time/HiRes/t/HiRes.t 2008-10-28 13:50:02.000000000 +0000 -@@ -337,7 +337,8 @@ - && defined &Time::HiRes::getitimer - && has_symbol('ITIMER_VIRTUAL') - && $Config{sig_name} =~ m/\bVTALRM\b/ -- && $^O !~ /^(nto)$/) { # nto: QNX 6 has the API but no implementation -+ && $^O !~ /^(nto)$/ # nto: QNX 6 has the API but no implementation -+ && $^O ne 'haiku') { # same for Haiku - for (18..19) { - print "ok $_ # Skip: no virtual interval timers\n"; - } -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/haiku/haikuish.h /CrashTest/ports/perl/perl-current/haiku/haikuish.h ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/haiku/haikuish.h 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/haiku/haikuish.h 2008-10-28 13:50:02.000000000 +0000 -@@ -0,0 +1,11 @@ -+#ifndef PERL_HAIKU_HAIKUISH_H -+#define PERL_HAIKU_HAIKUISH_H -+ -+#include "../unixish.h" -+ -+/* We need or else the W* macros aren't defined in perl.h. */ -+ -+#include -+ -+#endif -+ -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/hints/haiku.sh /CrashTest/ports/perl/perl-current/hints/haiku.sh ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/hints/haiku.sh 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/hints/haiku.sh 2008-10-28 13:50:02.000000000 +0000 -@@ -0,0 +1,34 @@ -+# 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 -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/CPANPLUS/Internals/Constants/Report.pm /CrashTest/ports/perl/perl-current/lib/CPANPLUS/Internals/Constants/Report.pm ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/CPANPLUS/Internals/Constants/Report.pm 2008-09-19 21:04:10.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/lib/CPANPLUS/Internals/Constants/Report.pm 2008-10-28 13:50:02.000000000 +0000 -@@ -29,6 +29,7 @@ - Cygwin => 'cygwin', - Darwin => 'darwin', - EBCDIC => 'os390|os400|posix-bc|vmesa', -+ Haiku => 'haiku', - HPUX => 'hpux', - Linux => 'linux', - MSDOS => 'dos|os2|MSWin32|cygwin', -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/ExtUtils/CBuilder.pm /CrashTest/ports/perl/perl-current/lib/ExtUtils/CBuilder.pm ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/ExtUtils/CBuilder.pm 2008-09-19 21:04:11.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/lib/ExtUtils/CBuilder.pm 2008-10-28 13:51:54.000000000 +0000 -@@ -38,6 +38,7 @@ - os2 Unix - gnu Unix - gnukfreebsd Unix -+ haiku Unix - - dos Windows - MSWin32 Windows -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/ExtUtils/MM.pm /CrashTest/ports/perl/perl-current/lib/ExtUtils/MM.pm ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/ExtUtils/MM.pm 2008-10-20 20:29:57.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/lib/ExtUtils/MM.pm 2008-10-28 13:52:24.000000000 +0000 -@@ -68,6 +68,7 @@ - $Is{QNX} = $^O eq 'qnx'; - $Is{AIX} = $^O eq 'aix'; - $Is{Darwin} = $^O eq 'darwin'; -+$Is{Haiku} = $^O eq 'haiku'; - - $Is{Unix} = !grep { $_ } values %Is; - -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/ExtUtils/MM_Haiku.pm /CrashTest/ports/perl/perl-current/lib/ExtUtils/MM_Haiku.pm ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/ExtUtils/MM_Haiku.pm 1970-01-01 00:00:00.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/lib/ExtUtils/MM_Haiku.pm 2008-10-28 13:50:02.000000000 +0000 -@@ -0,0 +1,62 @@ -+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; -+ -+use vars qw(@ISA $VERSION); -+@ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -+$VERSION = '6.42'; -+ -+ -+=item os_flavor -+ -+Haiku is Haiku. -+ -+=cut -+ -+sub os_flavor { -+ return('Haiku'); -+} -+ -+=item init_linker -+ -+libperl.a equivalent to be linked to dynamic extensions. -+ -+=cut -+ -+sub init_linker { -+ my($self) = shift; -+ -+ $self->{PERL_ARCHIVE} ||= -+ File::Spec->catdir('$(PERL_INC)',$Config{libperl}); -+ $self->{PERL_ARCHIVE_AFTER} ||= ''; -+ $self->{EXPORT_LIST} ||= ''; -+} -+ -+=back -+ -+1; -+__END__ -+ -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/Module/Build.pm /CrashTest/ports/perl/perl-current/lib/Module/Build.pm ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/lib/Module/Build.pm 2008-09-30 11:29:35.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/lib/Module/Build.pm 2008-10-28 13:50:02.000000000 +0000 -@@ -30,6 +30,7 @@ - dynixptx Unix - freebsd Unix - linux Unix -+ haiku Unix - hpux Unix - irix Unix - darwin Unix -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/perl.h /CrashTest/ports/perl/perl-current/perl.h ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/perl.h 2008-10-25 12:23:51.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/perl.h 2008-10-28 13:50:02.000000000 +0000 -@@ -1539,15 +1539,15 @@ - # define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH) - #endif - --/* BeOS 5.0 seems to define S_IREAD and S_IWRITE in -+/* BeOS 5.0 and Haiku R1 seem to define S_IREAD and S_IWRITE in - * which would get included through , but that is 3000 - * lines in the future. --jhi */ - --#if !defined(S_IREAD) && !defined(__BEOS__) -+#if !defined(S_IREAD) && !(defined(__BEOS__) || defined(__HAIKU__)) - # define S_IREAD S_IRUSR - #endif - --#if !defined(S_IWRITE) && !defined(__BEOS__) -+#if !defined(S_IWRITE) && !(defined(__BEOS__) || defined(__HAIKU__)) - # define S_IWRITE S_IWUSR - #endif - -@@ -2571,7 +2571,10 @@ - # define ISHISH "macos classic" - #endif - --#if defined(__BEOS__) -+#if defined(__HAIKU__) -+# include "haiku/haikuish.h" -+# define ISHISH "haiku" -+#elif defined(__BEOS__) - # include "beos/beosish.h" - # define ISHISH "beos" - #endif -@@ -5690,9 +5693,10 @@ - #if O_TEXT != O_BINARY - /* If you have different O_TEXT and O_BINARY and you are a CLRF shop, - * that is, you are somehow DOSish. */ --# if defined(__BEOS__) || defined(__VOS__) || defined(__CYGWIN__) -- /* BeOS has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect; -- * BeOS is always UNIXoid (LF), not DOSish (CRLF). */ -+# if defined(__BEOS__) || defined(__HAIKU__) || defined(__VOS__) || \ -+ defined(__CYGWIN__) -+ /* BeOS/Haiku has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect; -+ * BeOS/Haiku is always UNIXoid (LF), not DOSish (CRLF). */ - /* VOS has O_TEXT != O_BINARY, and they have effect, - * but VOS always uses LF, never CRLF. */ - /* If you have O_TEXT different from your O_BINARY but you still are -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/pod/perlport.pod /CrashTest/ports/perl/perl-current/pod/perlport.pod ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/pod/perlport.pod 2008-09-19 21:04:18.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/pod/perlport.pod 2008-10-28 13:50:02.000000000 +0000 -@@ -815,6 +815,7 @@ - dgux dgux AViiON-dgux - DYNIX/ptx dynixptx i386-dynixptx - FreeBSD freebsd freebsd-i386 -+ Haiku haiku BePC-haiku - Linux linux arm-linux - Linux linux i386-linux - Linux linux i586-linux -diff -urN /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/t/io/fs.t /CrashTest/ports/perl/perl-current/t/io/fs.t ---- /ReiserFS Volume (60.0 GB)/home/bonefish/tmp/perl/t/io/fs.t 2008-09-19 21:04:20.000000000 +0000 -+++ /CrashTest/ports/perl/perl-current/t/io/fs.t 2008-10-28 13:50:02.000000000 +0000 -@@ -281,7 +281,7 @@ - is( $atime, 500000001, 'atime' ); - is( $mtime, 500000000 + $delta, 'mtime' ); - } -- elsif ($^O eq 'beos') { -+ elsif ($^O eq 'beos' || $^O eq 'haiku') { - SKIP: { - skip "atime not updated", 1; - }