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="https://www.perl.org/" COPYRIGHT="1993-2026 Larry Wall and others" LICENSE="GNU GPL v1 Artistic" REVISION="1" perlShortVersion="${portVersion%.*}" SOURCE_URI="https://www.cpan.org/src/perl-$portVersion.tar.gz" CHECKSUM_SHA256="9384e8deb75b7b1695e5637971b752281aaecd025a3d5d4734d33c1d0adfee47" PATCHES="perl-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" # assume that any perl commands are backwards compatible to version 5. perl$secondaryArchSuffix = $portVersion compat >= 5 cmd:corelist = $portVersion compat >= 5 cmd:cpan = $portVersion compat >= 5 cmd:enc2xs = $portVersion compat >= 5 cmd:encguess = $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: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:ptar = $portVersion compat >= 5 cmd:ptardiff = $portVersion compat >= 5 cmd:ptargrep = $portVersion compat >= 5 cmd:shasum = $portVersion compat >= 5 cmd:splain = $portVersion compat >= 5 cmd:streamzip = $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 short perl version, so it is backwards compatible up this one. vendor_perl = $perlShortVersion compat >= $perlShortVersion lib:libperl$secondaryArchSuffix = $portVersion compat >= $perlShortVersion " REQUIRES=" haiku$secondaryArchSuffix " if [ "$targetArchitecture" = x86_gcc2 ]; then REPLACES=" perl " fi ARCHITECTURES_doc="any" PROVIDES_doc=" perl_doc = $portVersion " REQUIRES_doc=" cmd:perl == $portVersion base " REPLACES_doc=" perl_x86_doc " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel " BUILD_PREREQUIRES=" cmd:awk cmd:gcc$secondaryArchSuffix cmd:grep cmd:ld$secondaryArchSuffix cmd:make cmd:sed " perlArchName="$(uname -m)-haiku-thread-multi" BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL BUILD() { ./Configure \ -Dprefix=$prefix \ -Dprivlib=$prefix/lib/perl5/$portVersion \ -Dman1dir=$manDir/man1 \ -Dman3dir=$manDir/man3 \ -Dsiteprefix=$prefix/non-packaged \ -Dsitelib=$prefix/non-packaged/lib/perl5/site_perl/$perlShortVersion \ -Dsiteman1dir=$prefix/non-packaged/$relativeManDir/man1 \ -Dsiteman3dir=$prefix/non-packaged/$relativeManDir/man3 \ -Dvendorprefix=$prefix \ -Dvendorlib=$prefix/lib/perl5/vendor_perl/$perlShortVersion \ -Dvendorman1dir=$manDir/man1 \ -Dvendorman3dir=$manDir/man3 \ -Dcf_email=zooey@hirschkaefer.de \ -Uusenm -Duseshrplib -Dusethreads -Uusemymalloc \ -Dlibpth="$(finddir B_USER_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir $(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir $(finddir B_USER_LIB_DIRECTORY)$secondaryArchSubDir $(finddir B_SYSTEM_LIB_DIRECTORY)$secondaryArchSubDir" \ -Dusrinc="$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/headers$secondaryArchSubDir/posix" \ -Dlocinc="$(finddir B_USER_CONFIG_DIRECTORY)/develop/headers$secondaryArchSubDir $(finddir B_SYSTEM_DEVELOP_DIRECTORY)/headers$secondaryArchSubDir" \ -Dlibc="'$(finddir B_SYSTEM_LIB_DIRECTORY)$secondaryArchSubDir/libroot.so'" \ -Dlibs=-lnetwork -Dcc=gcc -Dld=gcc \ -Ud_link -Ddont_use_nlink -Ud_syserrlst \ -Dldlibpthname=LIBRARY_PATH -Dstartperl="#! perl" \ -Dccdlflags="-Wl,-fno-stack-protector,-rpath=$prefix/lib/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 $prefix/bin/{perl,perlthanks} packageEntries doc \ $documentationDir } TEST() { #x86_64 #Failed 51 tests out of 2695, 98.11% okay. # ../cpan/ExtUtils-MakeMaker/t/INST.t # ../cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t # ../cpan/ExtUtils-MakeMaker/t/MM_BeOS.t # ../cpan/ExtUtils-MakeMaker/t/fixin.t # ../cpan/IO-Socket-IP/t/11sockopts.t # ../cpan/IO-Socket-IP/t/18fdopen.t # ../cpan/Time-Piece/t/02core.t # ../dist/IO/t/cachepropagate-unix.t # ../dist/Time-HiRes/t/utime.t # ../ext/I18N-Langinfo/t/Langinfo.t # ../ext/POSIX/t/mb.t # ../ext/POSIX/t/time.t # ../ext/POSIX/t/wrappers.t # ../ext/Pod-Html/t/htmldir3.t # ../ext/XS-APItest/t/handy00.t # ../ext/XS-APItest/t/handy01.t # ../ext/XS-APItest/t/handy02.t # ../ext/XS-APItest/t/handy03.t # ../ext/XS-APItest/t/handy04.t # ../ext/XS-APItest/t/handy05.t # ../ext/XS-APItest/t/handy06.t # ../ext/XS-APItest/t/handy07.t # ../ext/XS-APItest/t/handy08.t # ../ext/XS-APItest/t/handy09.t # ../ext/XS-APItest/t/locale.t # ../lib/locale.t # ../lib/locale_threads.t # ../lib/warnings.t # io/socket.t # op/lc.t # op/time.t # porting/regen.t # re/charset.t # re/fold_grind_8.t # re/fold_grind_T.t # re/pat.t # re/pat_thr.t # re/regex_sets.t # re/uniprops01.t # re/uniprops02.t # re/uniprops03.t # re/uniprops04.t # re/uniprops05.t # re/uniprops06.t # re/uniprops07.t # re/uniprops08.t # re/uniprops09.t # re/uniprops10.t # run/locale.t # run/runenv_randseed.t # uni/fold.t make test }