perl
- Depends on
mawk - Depends on
gdbmordbon Alpine and Arch - Do not specify
scriptdiror other dirs that might change where binaries are being installed (perl binaries and scripts are expected to be in/usr/bin) -Ud_fpos64_tand-Ud_off64_tundefine symbols in configure on Alpine and Clear; musl defines them so it is better to let the build system decideZ_SOLOon Alpine is used to compile and use zlib without external libraries- Check large file and usenm support
installman1dirandinstallman3dirare not portable and should only be used in Makefiles- Modules manpages are being removed on Adelie
PERL_MM_USE_DEFAULT=1uses default values when answering questions- Unable to use upstream binaries; requires signing up with a third party vendor?
- Does
perlrequire a loopbacklonetwork device and/etc/hosts? Config_heavy.plapplies compile-time flags to future builds and modules; which is also why we don’t usecf_emailas it would require patching to prevent sending reports of some broken modules to different emails1pfor commands and3pmfor modules-Dusesonameis obsolete- It is recommended not to use
-Dusenmon Linux miniperlis not needed as we aren’t bootstrappingperlLDFLAGS="-Wl,-z,stack-size=2097152 -pthread"and stack size patches for musl are needed fors390xon Alpine and VoidPERL_TEST_HARNESS_ASAP=1causes the test suite to finish somewhat earlier with less logical ordering of the testsPERL_BUILD_PACKAGINGskips a small number of porting tests (those in t/porting) that assume they are in a git clone of the upstream Perl repository, or enforce irrelevant rules which are not- musl defines
sockaddr_in6so use-Dd_sockaddr_in6=define - Void passes
export CFLAGS+="-DNO_POSIX_2008_LOCALE -D_GNU_SOURCE"to fix build on musl - Specify additional flags?
-Aappend:optimize="$CFLAGS"-Adefine:ccflags="$CFLAGS"-Adefine:lddflags="$LDFLAGS"-Adefine:ldflags="$LDFLAGS"-Dcccdlflags="-fPIC"-Dccdlflags="-rdynamic"-Dccflags="$CFLAGS"-Dlddlflags="-shared $LDFLAGS"-Dldflags="$LDFLAGS-Doptimize="-Wall $CFLAGS"- Alpine further splits the package into
devandutilseach with certain binaries - Compare
makevsmake libperl.so && make - Compare
make installtarget vsmake install.perl -Duse64bitint -Duselargefilesare detected by default?- Prefer
test_harness_nottyovertest_harness? HARNESS_OPTIONSdefaults toj9?- Examine alpine’s
-Dd_semctl_semun? - Do we need a
/usr/lib/libperl.sosymlink? - Modify
CPAN/FirstTime.pmfor site directories? - Might require a permission fix to
644? - Do we need to explicitly define
static_inline? Or doesperl’s build system automatically detect it? musl-localepatches are forperl-crosswhich glaucus does not usesiteprefixis automatically set equal toprefixscriptdir,sitescriptandvendorscriptare automatically set to their relativeprefix/bin
References
Section titled “References”- https://bugs.gentoo.org/506818
- https://cgit.freebsd.org/ports/commit/lang/perl5.40?id=06745788d4b143777aa2cb91e31a4c07af90ded3
- https://github.com/void-linux/void-packages/blob/master/srcpkgs/perl/patches/cpan_definstalldirs.diff
- https://perldoc.perl.org/Config
- https://wiki.archlinux.org/title/Perl_package_guidelines