From 5f73e41ecf37ef0f178b3ccdcc104eb05cb9ff54 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Tue, 8 Oct 2013 22:20:05 +0200 Subject: [PATCH] Upgrade perl to 5.18.1. * perl-5.18.1 doesn't exhibit cpan-related problems seen with 5.10.1 * adjusted @INC such that perl modules installed to ~/config (or ~/config/non-packaged) are picked up by a perl installed into /system, too * drop public libperl.so and link perl using an rpath instead * no longer link every module built by ExtUtils::MakeMaker against libperl.so, as that isn't required for Haiku at all * adjust ExtUtils::MakeMaker to not use -rpath when linking dynamic perl modules that require other libraries --- dev-lang/perl/patches/perl-5.18.1.patchset | 440 +++++++++++++++++++++ dev-lang/perl/perl-5.18.1.recipe | 142 +++++++ 2 files changed, 582 insertions(+) create mode 100644 dev-lang/perl/patches/perl-5.18.1.patchset create mode 100644 dev-lang/perl/perl-5.18.1.recipe diff --git a/dev-lang/perl/patches/perl-5.18.1.patchset b/dev-lang/perl/patches/perl-5.18.1.patchset new file mode 100644 index 000000000..f398c718b --- /dev/null +++ b/dev-lang/perl/patches/perl-5.18.1.patchset @@ -0,0 +1,440 @@ +From be9f5432f2e203796f88746f7afba0aeffd68e80 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 a9a3d6f11b692bd1ed41d6b4db0eddaed8dd1866 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 f1773730e2f1facb18d6ae04819b19462c4608d6 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 bb18899b292205e42ed85f89df3ad7daa9e2d47f 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 8e32e14b24e65adc0b8add62672314eb64bc2e08 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 34f6f83c4c67ae7c189838b302381269d3e35417 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 07b425953d11e647417216986124c7730b78fdf8 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 bc56c719ac4967a336e7a6d5b5f9024cea43666e 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 2055f36154580d1c613b3897251540bcde40333d 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 + diff --git a/dev-lang/perl/perl-5.18.1.recipe b/dev-lang/perl/perl-5.18.1.recipe new file mode 100644 index 000000000..a005b7b66 --- /dev/null +++ b/dev-lang/perl/perl-5.18.1.recipe @@ -0,0 +1,142 @@ +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 (Perl)" +SRC_URI="http://www.cpan.org/src/perl-5.18.1.tar.gz" +CHECKSUM_MD5="304cb5bd18e48c44edd6053337d3386d" +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 >= $haikuVersion + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:gcc + cmd:ld + cmd:make + cmd:sed + " + +perlArchName="$(uname -m)-haiku" + +GLOBAL_WRITABLE_FILES=" + non-packaged/lib/perl5/site_perl/$portVersion/sitecustomize.pl auto-merge + " + +SOURCE_DIR="$portVersionedName" +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 +}