43 lines
1.3 KiB
Nix
43 lines
1.3 KiB
Nix
final: prev: prev.perl538Packages.Testutf8.overrideAttrs (old: let
|
|
perl = final.perl538;
|
|
in {
|
|
postInstall = prev.lib.optionalString (prev.stdenv.buildPlatform != prev.stdenv.hostPlatform) ''
|
|
mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI
|
|
cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI.pm <<EOF
|
|
package DBI;
|
|
BEGIN {
|
|
our \$VERSION = "$version";
|
|
}
|
|
1;
|
|
EOF
|
|
|
|
autodir=$(echo $out/${perl.libPrefix}/${perl.version}/*/auto/DBI)
|
|
cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI/DBD.pm <<EOF
|
|
package DBI::DBD;
|
|
use Exporter ();
|
|
use vars qw (@ISA @EXPORT);
|
|
@ISA = qw(Exporter);
|
|
@EXPORT = qw(dbd_postamble);
|
|
sub dbd_postamble {
|
|
return '
|
|
# --- This section was generated by DBI::DBD::dbd_postamble()
|
|
DBI_INSTARCH_DIR=$autodir
|
|
DBI_DRIVER_XST=$autodir/Driver.xst
|
|
|
|
# The main dependency (technically correct but probably not used)
|
|
\$(BASEEXT).c: \$(BASEEXT).xsi
|
|
|
|
# This dependency is needed since MakeMaker uses the .xs.o rule
|
|
\$(BASEEXT)\$(OBJ_EXT): \$(BASEEXT).xsi
|
|
|
|
\$(BASEEXT).xsi: \$(DBI_DRIVER_XST) $autodir/Driver_xst.h
|
|
''\t\$(PERL) -p -e "s/~DRIVER~/\$(BASEEXT)/g" \$(DBI_DRIVER_XST) > \$(BASEEXT).xsi
|
|
|
|
# ---
|
|
';
|
|
}
|
|
1;
|
|
EOF
|
|
'';
|
|
})
|