# Maintainer: Natanael Copa # Contributor: Leonardo Arena # Contributor: Valery Kartel setvar pkgname = 'perl' setvar pkgver = '5.26.1' setvar pkgrel = '1' setvar pkgdesc = ""Larry Wall's Practical Extraction and Report Language"" setvar url = ""http://www.perl.org/"" setvar arch = ""all"" setvar license = ""Artistic GPL2"" setvar options = ""!fhs"" setvar depends = """" setvar depends_dev = ""perl-utils"" setvar makedepends = ""bzip2-dev zlib-dev"" setvar subpackages = ""$pkgname-doc $pkgname-dev $pkgname-utils::noarch miniperl"" setvar source = ""http://www.cpan.org/src/5.0/perl-$pkgver.tar.gz "" # secfixes: # 5.26.1-r0: # - CVE-2017-12837 # - CVE-2017-12883 setvar builddir = ""$srcdir/$pkgname-$pkgver"" setvar _privlib = "/usr/share/perl5/core_perl" setvar _archlib = "/usr/lib/perl5/core_perl" proc prepare { chmod +w "$builddir"/*.c default_prepare || return 1 cd $builddir sed -e 's/less -R/less/g' \ -e 's/libswanted="\(.*\) nsl\(.*\)"/libswanted="\1\2"/g' \ -i ./Configure || return 1 # Ensure that we never accidentally bundle zlib or bzip2 rm -rf cpan/Compress-Raw-Zlib/zlib-src rm -rf cpan/Compress-Raw-Bzip2/bzip2-src sed -i '/\(bzip2\|zlib\)-src/d' MANIFEST } proc build { cd $builddir setvar BUILD_ZLIB = '0' setvar BUILD_BZIP2 = '0' setvar BZIP2_LIB = "/usr/lib" setvar BZIP2_INCLUDE = "/usr/inculde" export BUILD_ZLIB BUILD_BZIP2 BZIP2_LIB BZIP2_INCLUDE ./Configure -des \ -Dcccdlflags='-fPIC' \ -Dcccdlflags='-fPIC' \ -Dccdlflags='-rdynamic' \ -Dprefix=/usr \ -Dprivlib=$_privlib \ -Darchlib=$_archlib \ -Dvendorprefix=/usr \ -Dvendorlib=/usr/share/perl5/vendor_perl \ -Dvendorarch=/usr/lib/perl5/vendor_perl \ -Dsiteprefix=/usr/local \ -Dsitelib=/usr/local/share/perl5/site_perl \ -Dsitearch=/usr/local/lib/perl5/site_perl \ -Dlocincpth=' ' \ -Doptimize="$CFLAGS" \ -Duselargefiles \ -Dusethreads \ -Duseshrplib \ -Dd_semctl_semun \ -Dman1dir=/usr/share/man/man1 \ -Dman3dir=/usr/share/man/man3 \ -Dinstallman1dir=/usr/share/man/man1 \ -Dinstallman3dir=/usr/share/man/man3 \ -Dman1ext='1' \ -Dman3ext='3pm' \ -Dcf_by='Alpine' \ -Ud_csh \ -Dusenm \ || return 1 make libperl.so && make || return 1 } proc package { cd $builddir make DESTDIR="$pkgdir" install if test -n $(find $pkgdir/usr/local -type f) { error "files found under /usr/local" return 1 } find $pkgdir -name '.*' -delete } proc miniperl { install -Dm755 "$builddir"/$subpkgname \ "$subpkgdir"/usr/bin/$subpkgname || return 1 } proc doc { default_doc local file; for file in $(find "$pkgdir" -name "*.pod") { setvar file = ${file#$pkgdir/} mkdir -p "$subpkgdir"/${file%/*} || return 1 mv "$pkgdir"/$file "$subpkgdir"/$file || return 1 } } proc dev { mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/$_archlib "$subpkgdir"/$_privlib mv "$pkgdir"/$_archlib/Devel "$subpkgdir"/$_archlib/ mv "$pkgdir"/$_privlib/Encode "$subpkgdir"/$_privlib/ mv "$pkgdir"/usr/bin/h2xs \ "$pkgdir"/usr/bin/perlivp \ "$pkgdir"/usr/bin/enc2xs \ "$pkgdir"/usr/bin/xsubpp \ "$subpkgdir"/usr/bin/ default_dev } proc utils { setvar pkgdesc = ""$pkgdesc (misc utilities)"" setvar depends = "$pkgname" mkdir -p "$subpkgdir"/usr/bin local file for file in \ corelist \ cpan \ encguess \ libnetcfg \ h2ph \ instmodsh \ json_pp \ perlbug \ perlthanks \ piconv \ pl2pm \ prove \ ptar \ ptardiff \ ptargrep \ shasum \ splain \ zipdetails { mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/ || return 1 } } setvar sha512sums = ""098a08f1dd0dbc065cc2d93752a5b320e63d665a80392f7c4d83e807f05762d34c70c99d80bc8085512f5653f9a4b54edb5a8973aba240d41c211ebbd630209f perl-5.26.1.tar.gz""