| 1 | | |
| | 1 | ==== Changes ([http://ports.haiku-files.org/browser/haikuports/trunk/dev-lang/perl/perl-5.10.0.diff patch]) ==== |
| | 2 | |
| | 3 | {{{Configure}}}: |
| | 4 | - Link libraries with {{{-shared}}} on Haiku. |
| | 5 | - Build a shared libperl.so. |
| | 6 | - No other flags for building libperl.so. |
| | 7 | {{{MANIFEST}}}: |
| | 8 | - Added new files. |
| | 9 | {{{README.haiku}}}: |
| | 10 | - README for the Haiku port. |
| | 11 | {{{ext/Errno/Errno_pm.PL}}}: |
| | 12 | - Error code definitions are in the same header as in BeOS. |
| | 13 | {{{ext/Haiku/}}}: |
| | 14 | - A Haiku module providing the functions debug_printf(), ktrace_printf(), and debugger(). |
| | 15 | {{{ext/POSIX/POSIX.xs}}}: |
| | 16 | - Work-around for the incorrect use of W*() macros on the Perl-internal representation of exit statuses. |
| | 17 | {{{ext/Time/HiRes/t/HiRes.t}}}: |
| | 18 | - Haiku doesn't support VALARM yet (revisiton 28311). |
| | 19 | {{{haiku/haikuish.h}}}: |
| | 20 | - Haiku is unixish, but we need to include <sys/wait.h> so that the W*() macros are defined in perl.h. |
| | 21 | {{{hints/haiku.sh}}}: |
| | 22 | - Configuration hints for Haiku. |
| | 23 | {{{lib/CPANPLUS/Internals/Constants/Report.pm}}}, {{{lib/ExtUtils/CBuilder.pm}}}, {{{lib/ExtUtils/MM.pm}}}, {{{lib/Module/Build.pm}}}: |
| | 24 | - List Haiku, so those modules work on it correctly. |
| | 25 | {{{lib/ExtUtils/MM_Haiku.pm}}}: |
| | 26 | - MakeMaker support for Haiku. |
| | 27 | {{{perl.h}}}: |
| | 28 | - Same problem as with BeOS. S_IREAD/S_IWRITE are defined, but in <sys/file.h> which is included later. |
| | 29 | - Include haiku/haikuish.h. |
| | 30 | - Same problem as in BeOS, O_TEXT is defined, but has no effect and should lead Perl to believe we have DOS line endings. |
| | 31 | {{{pod/perlport.pod}}}: |
| | 32 | - Added Haiku. |
| | 33 | {{{t/io/fs.t}}}: |
| | 34 | - No stat::st_atime support in BFS. |
| | 35 | |
| | 36 | ==== Configuring/Building ==== |
| | 37 | {{{ |
| | 38 | ./Configure -Dcf_email=ingo_weinhold@gmx.de -de |
| | 39 | make |
| | 40 | make test |
| | 41 | }}} |
| | 42 | |
| | 43 | Replace email address with that of the porter. |
| | 44 | |
| | 45 | ==== Tests ==== |
| | 46 | |
| | 47 | Four tests fail: |
| | 48 | - {{{ext/Socket/t/socketpair.t}}}: Haiku doesn't support Unix datagram sockets yet. |
| | 49 | - {{{ext/Sys/Syslog/t/syslog.t}}}: Haiku doesn't support /dev/log yet. |
| | 50 | - {{{lib/Net/Ping/t/450_service.t}}}: Bug in TCP/network stack. |
| | 51 | - {{{lib/Net/Ping/t/510_ping_udp.t}}}: Probably a bug in UDP/network stack. |
| | 52 | |
| | 53 | ==== Install ==== |
| | 54 | {{{ |
| | 55 | make install |
| | 56 | chmod a+x /boot/common/bin/perl |
| | 57 | cd /boot/common/lib; ln -s perl5/5.10.0/BePC-haiku/CORE/libperl.so . |
| | 58 | }}} |
| | 59 | |
| | 60 | For some reason the perl executable isn't installed with executable permissions. The symlink /boot/common/lib/libperl.so is missing. |