From 6a48ac782c7c4479af8fba6910e389fa1a9e8db5 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Mon, 7 Aug 2023 22:49:45 -0700 Subject: [PATCH] New package: perl-bootstrap-5.38.1 --- srcpkgs/perl-bootstrap/patches | 1 + srcpkgs/perl-bootstrap/template | 106 ++++++++++++++++++++++++++++++++ srcpkgs/perl-bootstrap/update | 1 + 3 files changed, 108 insertions(+) create mode 120000 srcpkgs/perl-bootstrap/patches create mode 100644 srcpkgs/perl-bootstrap/template create mode 100644 srcpkgs/perl-bootstrap/update diff --git a/srcpkgs/perl-bootstrap/patches b/srcpkgs/perl-bootstrap/patches new file mode 120000 index 00000000000..7af8bac6355 --- /dev/null +++ b/srcpkgs/perl-bootstrap/patches @@ -0,0 +1 @@ +../perl/patches \ No newline at end of file diff --git a/srcpkgs/perl-bootstrap/template b/srcpkgs/perl-bootstrap/template new file mode 100644 index 00000000000..4a563237ebd --- /dev/null +++ b/srcpkgs/perl-bootstrap/template @@ -0,0 +1,106 @@ +# Template file for 'perl-bootstrap' +# This is needed to prevent build cycle between libxcrypt and perl +pkgname=perl-bootstrap +version=5.38.2 +revision=1 +_perl_cross_version=1.5.2 +build_style=gnu-configure +makedepends="zlib-devel bzip2-devel gdbm-devel db-devel" +depends="less" +checkdepends="iana-etc perl-AnyEvent perl-Test-Pod procps-ng" +short_desc="Practical Extraction and Report Language" +maintainer="Leah Neukirchen " +license="Artistic-1.0-Perl, GPL-1.0-or-later" +homepage="https://www.perl.org" +distfiles="https://www.cpan.org/src/5.0/perl-${version}.tar.gz + https://github.com/arsv/perl-cross/releases/download/${_perl_cross_version}/perl-cross-${_perl_cross_version}.tar.gz" +checksum="a0a31534451eb7b83c7d6594a497543a54d488bc90ca00f5e34762577f40655e + 584dc54c48dca25e032b676a15bef377c1fed9de318b4fc140292a5dbf326e90" +repository=bootstrap +conflicts="perl>=0" +skiprdeps="/usr/bin/perl" + +skip_extraction=perl-cross-${_perl_cross_version}.tar.gz + +post_extract() { + local TAR=$(command -v bsdtar || command -v tar) + $TAR --strip-components=1 -xf \ + ${XBPS_SRCDISTDIR}/${pkgname}-${version}/perl-cross-$_perl_cross_version.tar.gz + + [ -n "${SOURCE_DATE_EPOCH}" ] && touch -h -d @$SOURCE_DATE_EPOCH patchlevel.h +} + +do_configure() { + local _args="-Dusethreads -Duseshrplib -Dusesoname -Dusevendorprefix + -Dprefix=/usr -Dvendorprefix=/usr + -Dprivlib=/usr/share/perl5/core_perl + -Darchlib=/usr/lib/perl5/core_perl + -Dsitelib=/usr/share/perl5/site_perl + -Dsitearch=/usr/lib/perl5/site_perl + -Dvendorlib=/usr/share/perl5/vendor_perl + -Dvendorarch=/usr/lib/perl5/vendor_perl + -Dscriptdir=/usr/bin -Dvendorscript=/usr/bin + -Dinc_version_list=none -Dman1ext=1p -Dman3ext=3p + -Dman1dir=/usr/share/man/man1 + -Dman3dir=/usr/share/man/man3 + -Dd_sockaddr_in6=define + -Dd_crypt=undef" + + if [ "$CROSS_BUILD" ]; then + _args+=" --target=$XBPS_CROSS_TRIPLET" + fi + + LDFLAGS+=" -Wl,-z,stack-size=2097152 -pthread" + export HOSTLDFLAGS+=" -pthread" + + if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + export HOSTCFLAGS+=" -D_GNU_SOURCE" + export CFLAGS+=" -DNO_POSIX_2008_LOCALE -D_GNU_SOURCE" + else + export CFLAGS+=" -D_FILE_OFFSET_BITS=64 -DLARGE_FILE_SUPPORT64" + fi + + export LD="$CC" + ./configure --prefix=/usr $_args \ + -Dcccdlflags="-fPIC" \ + -Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \ + -Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \ + -Dperl_static_inline='static __inline__' -Dd_static_inline || + { + cat ./config.log + return 42 + } +} + +do_check() { + export LD="$CC" + export PERL_BUILD_PACKAGING=1 + TEST_JOBS=${XBPS_MAKEJOBS} make test +} + +post_install() { + find ${DESTDIR}/usr/share -type f -exec chmod 644 {} \; + find ${DESTDIR}/usr/lib -type f -exec chmod 644 {} \; + + # Make a symbolic link from perl to perl${version}. + ln -sf perl ${DESTDIR}/usr/bin/perl${version} + + # Remove all pod files *except* those under + # /usr/share/perl5/core_perl/pod/ (FS#16488) + rm -f ${DESTDIR}/usr/share/perl5/core_perl/*.pod + for d in ${DESTDIR}/usr/share/perl5/core_perl/*; do + if [ -d $d -a $(basename $d) != "pod" ]; then + find $d -name *.pod -delete + fi + done + find ${DESTDIR}/usr/lib -name *.pod -delete + find ${DESTDIR} -name .packlist -delete + + # Remove references to hardening -specs. + sed -e "s|-specs=.*hardened-ld||g" -e "s|-specs=.*hardened-cc1||g" \ + -i ${DESTDIR}/usr/lib/perl5/core_perl/Config_heavy.pl + + # HOTFIX + # ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version} ${DESTDIR}/usr/lib/ + # ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version} ${DESTDIR}/usr/lib/libperl.so. +} diff --git a/srcpkgs/perl-bootstrap/update b/srcpkgs/perl-bootstrap/update new file mode 100644 index 00000000000..2693e54070b --- /dev/null +++ b/srcpkgs/perl-bootstrap/update @@ -0,0 +1 @@ +ignore="*.[13579].* *.[1-9][13579].*"