Merge pull request #11361 from hercules-ci/packaging-expose-libs

packaging: Expose libs
This commit is contained in:
tomberek 2024-08-26 09:52:27 -04:00 committed by GitHub
commit 1a281e5ddc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -76,7 +76,7 @@
] ++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ ] ++ lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
nix-perl-bindings nix-perl-bindings
]; ];
}).overrideAttrs (_: { }).overrideAttrs (finalAttrs: prevAttrs: {
doCheck = true; doCheck = true;
doInstallCheck = true; doInstallCheck = true;
@ -90,4 +90,37 @@
installCheckInputs = [ installCheckInputs = [
nix-functional-tests nix-functional-tests
]; ];
passthru = prevAttrs.passthru // {
/**
These are the libraries that are part of the Nix project. They are used
by the Nix CLI and other tools.
If you need to use these libraries in your project, we recommend to use
the `-c` C API libraries exclusively, if possible.
We also recommend that you build the complete package to ensure that the unit tests pass.
You could do this in CI, or by passing it in an unused environment variable. e.g in a `mkDerivation` call:
```nix
buildInputs = [ nix.libs.nix-util-c nix.libs.nix-store-c ];
# Make sure the nix libs we use are ok
unusedInputsForTests = [ nix ];
disallowedReferences = nix.all;
```
*/
libs = {
inherit
nix-util
nix-util-c
nix-store
nix-store-c
nix-fetchers
nix-expr
nix-expr-c
nix-flake
nix-main
nix-main-c
;
};
};
}) })