mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-03 19:43:30 +00:00
571c71e6f7
We are migrating packages that meet below requirements: 1. using `callPackage` 2. called path is a directory 3. overriding set is empty (`{ }`) 4. not containing path expressions other than relative path (to makenixpkgs-vet happy) 5. not referenced by nix files outside of the directory, other than`pkgs/top-level/all-packages.nix` 6. not referencing nix files outside of the directory 7. not referencing `default.nix` (since it's changed to `package.nix`) 8. `outPath` doesn't change after migration The tool is here: https://github.com/Aleksanaa/by-name-migrate.
28 lines
690 B
Nix
28 lines
690 B
Nix
{ targetPackages
|
|
, lib
|
|
, makeSetupHook
|
|
, dieHook
|
|
, writeShellScript
|
|
, tests
|
|
, cc ? targetPackages.stdenv.cc
|
|
, sanitizers ? []
|
|
}:
|
|
|
|
makeSetupHook {
|
|
name = "make-binary-wrapper-hook";
|
|
propagatedBuildInputs = [ dieHook ];
|
|
|
|
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
|
|
extractCmd = writeShellScript "extract-binary-wrapper-cmd" ''
|
|
${cc.bintools.targetPrefix}strings -dw "$1" | sed -n '/^makeCWrapper/,/^$/ p'
|
|
'';
|
|
|
|
tests = tests.makeBinaryWrapper;
|
|
};
|
|
} ./make-binary-wrapper.sh
|