From b5b32fde95b1bc73cb50fbc59e300add10dde974 Mon Sep 17 00:00:00 2001 From: Colin Date: Wed, 3 May 2023 22:29:32 +0000 Subject: [PATCH] cargoDocsetHook: init, and use to simplify mx-sanebot build --- pkgs/additional/cargo-docset/hook.nix | 9 +++++++++ pkgs/additional/cargo-docset/hook.sh | 11 +++++++++++ pkgs/additional/mx-sanebot/default.nix | 13 ++----------- pkgs/default.nix | 1 + 4 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 pkgs/additional/cargo-docset/hook.nix create mode 100644 pkgs/additional/cargo-docset/hook.sh diff --git a/pkgs/additional/cargo-docset/hook.nix b/pkgs/additional/cargo-docset/hook.nix new file mode 100644 index 00000000..395aab0c --- /dev/null +++ b/pkgs/additional/cargo-docset/hook.nix @@ -0,0 +1,9 @@ +{ makeSetupHook +, cargo-docset +}: +makeSetupHook { + name = "cargo-docset-hook"; + propagatedBuildInputs = [ + cargo-docset + ]; +} ./hook.sh diff --git a/pkgs/additional/cargo-docset/hook.sh b/pkgs/additional/cargo-docset/hook.sh new file mode 100644 index 00000000..a945eb77 --- /dev/null +++ b/pkgs/additional/cargo-docset/hook.sh @@ -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/ +} diff --git a/pkgs/additional/mx-sanebot/default.nix b/pkgs/additional/mx-sanebot/default.nix index 7be667ab..91143cb0 100644 --- a/pkgs/additional/mx-sanebot/default.nix +++ b/pkgs/additional/mx-sanebot/default.nix @@ -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" ]; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 18e8a939..ceeb3175 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -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 { };