nixpkgs/lib
Adam Joseph 6980e6b35a lib.systems: introduce hasSharedLibraries
This commit adds `hasSharedLibraries` to `lib.systems`.

We need `plat.hasSharedLibraries` in order to know whether or not to
expect `gcc` (and many other tools) to emit shared libraries (like
`libgcc_s.so`).  Many of the GNU build scripts are smart enough that
if you configure them with `--enable-shared` on a platform (such as
`arm-none-eabi`) that doesn't support dynamic linking, they will
simply skip the shared libraries instead of aborting the
`configurePhase`.  Unfortunately the missing shared libraries in the
final build product cause very hard-to-troubleshoot problems later
on.

The alternative to introducing `hasSharedLibraries` would be to set
`isStatic` in these situations.  However doing so causes
`make-derivation.nix` to insert `-static` between the `pname` and
`hostPlatform` suffix, which is undesirable.

If at some point in the future we eliminate the `-static` suffix,
then `hasSharedLibraries` can be made equal to `!isStatic`.
2023-07-01 13:12:22 -07:00
..
path lib/path/tests/prop.sh: Add --show-trace 2023-06-26 12:25:36 +02:00
systems lib.systems: introduce hasSharedLibraries 2023-07-01 13:12:22 -07:00
tests lib/tests: remove experimental-features 2023-06-27 11:48:53 +02:00
ascii-table.nix strings: add escapeQuery for url encoding 2023-03-03 20:48:55 +01:00
asserts.nix doc: auto-generate asserts and attrset library docs 2022-12-08 22:58:22 +01:00
attrsets.nix lib/attrsets: remove unused let bindings 2023-06-23 09:41:04 +00:00
cli.nix
customisation.nix splice.nix: finish nativeDrv,crossDrv removal 2023-06-22 23:11:08 +03:00
debug.nix lib/debug: remove unused let bindings 2023-06-23 09:41:04 +00:00
default.nix lib/options: remove literalDocBook 2023-06-13 16:56:30 +02:00
deprecated.nix lib.closePropagation: Remove the quadratic behavior in lib.closePropagation 2022-10-07 18:03:42 +02:00
derivations.nix lib.derivations: fix comment typo 2023-06-02 23:57:30 +08:00
fetchers.nix
filesystem.nix lib/filesystem: remove unused let bindings 2023-06-23 09:41:04 +00:00
fixed-points.nix lib: make extender available on self-references 2023-01-15 11:34:05 -08:00
flake.nix
generators.nix lib: fix typos 2023-05-19 22:09:24 -04:00
kernel.nix lib.kernel.unset: init 2023-05-01 10:23:42 +00:00
licenses.nix texlive: fix licensing information for doc-only-packages (#239528) 2023-06-26 20:31:28 +02:00
lists.nix lib.list.findFirst: Make lazier 2023-06-06 17:17:32 +02:00
meta.nix Update lib/meta.nix 2023-01-27 11:16:29 +00:00
minver.nix boostrap fetchurl: Add SRI support 2022-08-24 09:55:45 +02:00
modules.nix Merge pull request #238136 from hercules-ci/nixos-nixpkgs-dont-check-when-_module.args.pkgs-is-set 2023-06-23 19:17:36 +02:00
options.nix lib: turn *MD functions into aliases 2023-06-13 16:56:32 +02:00
source-types.nix lib.sourceTypes: simplify implementation 2022-05-30 16:27:34 +08:00
sources.nix lib/sources: remove unused let bindings 2023-06-23 09:41:04 +00:00
strings-with-deps.nix
strings.nix lib: simplify stringToCharacters 2023-06-22 18:27:15 -04:00
trivial.nix 23.11 is Tapir 2023-05-22 21:16:04 +02:00
types.nix lib/types: add pathInStore 2023-06-27 11:48:08 +02:00
versions.nix lib/versions: add pad 2022-12-21 12:58:21 +01:00
zip-int-bits.nix lib/zip-int-bits: fix typo: bitXOR -> bitXor 2022-06-09 20:04:37 +03:00