mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
Everything that requires vendor_perl will have to be rebuilt with this version (161 recipes!).
207 lines
6.7 KiB
Bash
207 lines
6.7 KiB
Bash
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-2025 Larry Wall and others"
|
|
LICENSE="GNU GPL v1
|
|
Artistic"
|
|
REVISION="1"
|
|
perlShortVersion="${portVersion%.*}"
|
|
SOURCE_URI="http://www.cpan.org/src/perl-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="e093ef184d7f9a1b9797e2465296f55510adb6dab8842b0c3ed53329663096dc"
|
|
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 50 tests out of 2695, 98.14% 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
|
|
# uni/fold.t
|
|
|
|
make test
|
|
}
|