This involved:
* Installing miniperl as $dev/bin/perl
* Setting miniperl to take INC from
lib/perl5/{site_perl/,}cross_perl/${version} as well as
lib/perl5/{site_perl/,}/${version}/${runtimeArch}, in that
order. miniperl taking from runtimeArch is not really correct, but
it works in some pure-perl cases (e.g. Config.pm) and can be
overridden with the cross_perl variant.
* Installing perl-cross's stubs into
$dev/lib/perl5/cross_perl/${version}
* Patching MakeMaker.pm to gracefully degrade (very slightly) if B.pm
can't be loaded, which it can't in cross-compilation.
* Passing the right build-time and runtime perls to Makefile.PL
This passes the correct compilation flags to the builder so we pick up
the path to sqlite, and (despite the fact that it's a development
version), also updates to version 1.55_07 to fix
https://github.com/DBD-SQLite/DBD-SQLite/issues/28
This continues #23374, which always kept around both attributes, by
always including both propagated files: `propgated-native-build-inputs`
and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still
defined as before, however, so this change should only barely
observable.
This is an incremental step to fully keeping the dependencies separate
in all cases.
- This fixes tests after sqlite update, also tested via nixStable
and via building some other perl reverse dependencies.
- The patch was conflicting due to upstream changes,
but those changes allowed us to minimize the patch.
- meta from nix-generate-from-cpan
/cc #30927.
this silence annoying warnings happens in nixos-rebuild
activating the configuration...
setting up /etc...
syswrite() is deprecated on :utf8 handles at /nix/store/d51apm4c8mr5hiwh134vdkzgivf4hrl7-perl-File-Slurp-9999.19/lib/perl5/site_perl/5.24.1/File/Slurp.pm line 506.
syswrite() is deprecated on :utf8 handles at /nix/store/d51apm4c8mr5hiwh134vdkzgivf4hrl7-perl-File-Slurp-9999.19/lib/perl5/site_perl/5.24.1/File/Slurp.pm line 506.
...
syswrite() is deprecated on :utf8 handles at /nix/store/d51apm4c8mr5hiwh134vdkzgivf4hrl7-perl-File-Slurp-9999.19/lib/perl5/site_perl/5.24.1/File/Slurp.pm line 506.
setting up tmpfiles
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
... after auto-removing some kinds of files by default.
In some cases I let them be removed and in others I let them be put into
$docdev. That was more due to general indecisiveness on this question
than any reasons in the particular cases.
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes
Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.