style: format (alejandra)
This commit is contained in:
@@ -55,93 +55,86 @@
|
||||
# This last approach is the one we're taking in this file. To make sure the removal of the
|
||||
# nested nix/store happens immediately after the installPhase, before any other postInstall
|
||||
# hooks run, this needs to be run in an override of `mkDerivation` and not in a setup hook.
|
||||
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
postgresql,
|
||||
nix-update-script,
|
||||
}:
|
||||
}: args: let
|
||||
buildPostgresqlExtension = finalAttrs: {enableUpdateScript ? true, ...} @ prevAttrs: {
|
||||
passthru =
|
||||
prevAttrs.passthru
|
||||
or {}
|
||||
// lib.optionalAttrs enableUpdateScript {
|
||||
updateScript =
|
||||
prevAttrs.passthru.updateScript
|
||||
or (nix-update-script (
|
||||
lib.optionalAttrs (lib.hasInfix "unstable" prevAttrs.version) {
|
||||
extraArgs = ["--version=branch"];
|
||||
}
|
||||
));
|
||||
};
|
||||
|
||||
args:
|
||||
buildInputs = [postgresql] ++ prevAttrs.buildInputs or [];
|
||||
|
||||
let
|
||||
buildPostgresqlExtension =
|
||||
finalAttrs:
|
||||
{
|
||||
enableUpdateScript ? true,
|
||||
...
|
||||
}@prevAttrs:
|
||||
{
|
||||
passthru =
|
||||
prevAttrs.passthru or { }
|
||||
// lib.optionalAttrs enableUpdateScript {
|
||||
updateScript =
|
||||
prevAttrs.passthru.updateScript or (nix-update-script (
|
||||
lib.optionalAttrs (lib.hasInfix "unstable" prevAttrs.version) {
|
||||
extraArgs = [ "--version=branch" ];
|
||||
}
|
||||
));
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql ] ++ prevAttrs.buildInputs or [ ];
|
||||
|
||||
installFlags = [
|
||||
installFlags =
|
||||
[
|
||||
"DESTDIR=${placeholder "out"}"
|
||||
] ++ prevAttrs.installFlags or [ ];
|
||||
]
|
||||
++ prevAttrs.installFlags or [];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
# DESTDIR + pg_config install the files into
|
||||
# /nix/store/<extension>/nix/store/<postgresql>/...
|
||||
# We'll now remove the /nix/store/<postgresql> part:
|
||||
if [[ -d "$out${postgresql}" ]]; then
|
||||
cp -alt "$out" "$out${postgresql}"/*
|
||||
rm -r "$out${postgresql}"
|
||||
fi
|
||||
postInstall =
|
||||
''
|
||||
# DESTDIR + pg_config install the files into
|
||||
# /nix/store/<extension>/nix/store/<postgresql>/...
|
||||
# We'll now remove the /nix/store/<postgresql> part:
|
||||
if [[ -d "$out${postgresql}" ]]; then
|
||||
cp -alt "$out" "$out${postgresql}"/*
|
||||
rm -r "$out${postgresql}"
|
||||
fi
|
||||
|
||||
if [[ -d "$out${postgresql.dev}" ]]; then
|
||||
mkdir -p "''${dev:-$out}"
|
||||
cp -alt "''${dev:-$out}" "$out${postgresql.dev}"/*
|
||||
rm -r "$out${postgresql.dev}"
|
||||
fi
|
||||
if [[ -d "$out${postgresql.dev}" ]]; then
|
||||
mkdir -p "''${dev:-$out}"
|
||||
cp -alt "''${dev:-$out}" "$out${postgresql.dev}"/*
|
||||
rm -r "$out${postgresql.dev}"
|
||||
fi
|
||||
|
||||
if [[ -d "$out${postgresql.lib}" ]]; then
|
||||
mkdir -p "''${lib:-$out}"
|
||||
cp -alt "''${lib:-$out}" "$out${postgresql.lib}"/*
|
||||
rm -r "$out${postgresql.lib}"
|
||||
fi
|
||||
if [[ -d "$out${postgresql.lib}" ]]; then
|
||||
mkdir -p "''${lib:-$out}"
|
||||
cp -alt "''${lib:-$out}" "$out${postgresql.lib}"/*
|
||||
rm -r "$out${postgresql.lib}"
|
||||
fi
|
||||
|
||||
if [[ -d "$out${postgresql.doc}" ]]; then
|
||||
mkdir -p "''${doc:-$out}"
|
||||
cp -alt "''${doc:-$out}" "$out${postgresql.doc}"/*
|
||||
rm -r "$out${postgresql.doc}"
|
||||
fi
|
||||
if [[ -d "$out${postgresql.doc}" ]]; then
|
||||
mkdir -p "''${doc:-$out}"
|
||||
cp -alt "''${doc:-$out}" "$out${postgresql.doc}"/*
|
||||
rm -r "$out${postgresql.doc}"
|
||||
fi
|
||||
|
||||
if [[ -d "$out${postgresql.man}" ]]; then
|
||||
mkdir -p "''${man:-$out}"
|
||||
cp -alt "''${man:-$out}" "$out${postgresql.man}"/*
|
||||
rm -r "$out${postgresql.man}"
|
||||
fi
|
||||
if [[ -d "$out${postgresql.man}" ]]; then
|
||||
mkdir -p "''${man:-$out}"
|
||||
cp -alt "''${man:-$out}" "$out${postgresql.man}"/*
|
||||
rm -r "$out${postgresql.man}"
|
||||
fi
|
||||
|
||||
# In some cases (postgis) parts of the install script
|
||||
# actually work "OK", before we add DESTDIR, so some
|
||||
# files end up in
|
||||
# /nix/store/<extension>/nix/store/<extension>/...
|
||||
if [[ -d "$out$out" ]]; then
|
||||
cp -alt "$out" "$out$out"/*
|
||||
rm -r "$out$out"
|
||||
fi
|
||||
# In some cases (postgis) parts of the install script
|
||||
# actually work "OK", before we add DESTDIR, so some
|
||||
# files end up in
|
||||
# /nix/store/<extension>/nix/store/<extension>/...
|
||||
if [[ -d "$out$out" ]]; then
|
||||
cp -alt "$out" "$out$out"/*
|
||||
rm -r "$out$out"
|
||||
fi
|
||||
|
||||
if [[ -d "$out/nix/store" ]]; then
|
||||
if ! rmdir "$out/nix/store" "$out/nix"; then
|
||||
find "$out/nix"
|
||||
nixErrorLog 'Found left-overs in $out/nix/store, make sure to move them into $out properly.'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
''
|
||||
+ prevAttrs.postInstall or "";
|
||||
};
|
||||
if [[ -d "$out/nix/store" ]]; then
|
||||
if ! rmdir "$out/nix/store" "$out/nix"; then
|
||||
find "$out/nix"
|
||||
nixErrorLog 'Found left-overs in $out/nix/store, make sure to move them into $out properly.'
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
''
|
||||
+ prevAttrs.postInstall or "";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (lib.extends buildPostgresqlExtension (lib.toFunction args))
|
||||
stdenv.mkDerivation (lib.extends buildPostgresqlExtension (lib.toFunction args))
|
||||
|
||||
Reference in New Issue
Block a user