Merge pull request #186323 from ShamrockLee/make-setuphook-passthru

trivial-builders.nix: Add input argument `passthru` to makeSetupHook
main
Robert Hensing 2 years ago committed by GitHub
commit 8deb17a36e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      pkgs/build-support/setup-hooks/make-binary-wrapper/default.nix
  2. 5
      pkgs/build-support/setup-hooks/postgresql-test-hook/default.nix
  3. 5
      pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
  4. 22
      pkgs/build-support/trivial-builders.nix
  5. 4
      pkgs/top-level/all-packages.nix

@ -16,12 +16,14 @@ makeSetupHook {
substitutions = {
cc = "${cc}/bin/${cc.targetPrefix}cc ${lib.escapeShellArgs (map (s: "-fsanitize=${s}") sanitizers)}";
};
passthru = {
# Extract the function call used to create a binary wrapper from its embedded docstring
passthru.extractCmd = writeShellScript "extract-binary-wrapper-cmd" ''
extractCmd = writeShellScript "extract-binary-wrapper-cmd" ''
strings -dw "$1" | sed -n '/^makeCWrapper/,/^$/ p'
'';
passthru.tests = tests.makeBinaryWrapper;
tests = tests.makeBinaryWrapper;
};
} ./make-binary-wrapper.sh

@ -1,9 +1,8 @@
{ callPackage, makeSetupHook }:
(makeSetupHook {
makeSetupHook {
name = "postgresql-test-hook";
} ./postgresql-test-hook.sh).overrideAttrs (o: {
passthru.tests = {
simple = callPackage ./test.nix { };
};
})
} ./postgresql-test-hook.sh

@ -13,6 +13,7 @@
}:
makeSetupHook {
name = "wrap-gapps-hook";
deps = lib.optionals (!stdenv.isDarwin) [
# It is highly probable that a program will use GSettings,
# at minimum through GTK file chooser dialogue.
@ -36,8 +37,8 @@ makeSetupHook {
# We use the wrapProgram function.
makeWrapper
];
substitutions = {
passthru.tests = let
passthru = {
tests = let
sample-project = ./tests/sample-project;
testLib = callPackage ./tests/lib.nix { };

@ -1,5 +1,12 @@
{ lib, stdenv, stdenvNoCC, lndir, runtimeShell, shellcheck }:
let
inherit (lib)
optionalAttrs
warn
;
in
rec {
/* Run the shell command `buildCommand' to produce a store path named
@ -525,12 +532,25 @@ rec {
* substitutions = { bash = "${pkgs.bash}/bin/bash"; };
* meta.platforms = lib.platforms.linux;
* } ./myscript.sh;
*
* # setup hook with a package test
* myhellohookTested = makeSetupHook {
* deps = [ hello ];
* substitutions = { bash = "${pkgs.bash}/bin/bash"; };
* meta.platforms = lib.platforms.linux;
* passthru.tests.greeting = callPackage ./test { };
* } ./myscript.sh;
*/
makeSetupHook = { name ? "hook", deps ? [], substitutions ? {}, meta ? {} }: script:
makeSetupHook = { name ? "hook", deps ? [], substitutions ? {}, meta ? {}, passthru ? {} }: script:
runCommand name
(substitutions // {
inherit meta;
strictDeps = true;
# TODO 2023-01, no backport: simplify to inherit passthru;
passthru = passthru
// optionalAttrs (substitutions?passthru)
(warn "makeSetupHook (name = ${lib.strings.escapeNixString name}): `substitutions.passthru` is deprecated. Please set `passthru` directly."
substitutions.passthru);
})
(''
mkdir -p $out/nix-support

@ -918,7 +918,9 @@ with pkgs;
{ deps = [ dieHook ];
substitutions = {
shell = targetPackages.runtimeShell;
passthru.tests = tests.makeWrapper;
};
passthru = {
tests = tests.makeWrapper;
};
}
../build-support/setup-hooks/make-wrapper.sh;

Loading…
Cancel
Save