cargoDocsetHook: init, and use to simplify mx-sanebot build

This commit is contained in:
Colin 2023-05-03 22:29:32 +00:00
parent 96eb427ea7
commit b5b32fde95
4 changed files with 23 additions and 11 deletions

View File

@ -0,0 +1,9 @@
{ makeSetupHook
, cargo-docset
}:
makeSetupHook {
name = "cargo-docset-hook";
propagatedBuildInputs = [
cargo-docset
];
} ./hook.sh

View File

@ -0,0 +1,11 @@
postBuildHooks+=(_cargoDocset)
postInstallHooks+=(_cargoDocsetInstall)
_cargoDocset() {
cargo-docset docset
}
_cargoDocsetInstall() {
mkdir -p $out/share/docset
cp -R target/docset/* $out/share/docset/
}

View File

@ -1,5 +1,5 @@
{ lib
, cargo-docset ? null
, cargoDocsetHook ? null
, openssl
, pkg-config
, rustPlatform
@ -11,18 +11,9 @@ rustPlatform.buildRustPackage {
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
nativeBuildInputs = [ pkg-config ] ++ lib.optional (cargo-docset != null) cargo-docset;
nativeBuildInputs = [ pkg-config ] ++ lib.optional (cargoDocsetHook != null) cargoDocsetHook;
buildInputs = [ openssl ];
postBuild = ''
cargo-docset docset
'';
postInstall = ''
mkdir -p $out/share/docset
cp -R target/docset/* $out/share/docset/
'';
# enables debug builds, if we want: https://github.com/NixOS/nixpkgs/issues/60919.
hardeningDisable = [ "fortify" ];
}

View File

@ -14,6 +14,7 @@ let
bootpart-uefi-x86_64 = callPackage ./additional/bootpart-uefi-x86_64 { };
browserpass-extension = callPackage ./additional/browserpass-extension { };
cargo-docset = callPackage ./additional/cargo-docset { };
cargoDocsetHook = callPackage ./additional/cargo-docset/hook.nix { };
feeds = lib.recurseIntoAttrs (callPackage ./additional/feeds { });
gopass-native-messaging-host = callPackage ./additional/gopass-native-messaging-host { };
gpodder-configured = callPackage ./additional/gpodder-configured { };