Commit Graph

3450 Commits

Author SHA1 Message Date
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
figsoda
0fda9628c3
Merge pull request #239255 from figsoda/string 2023-06-30 22:14:10 -04:00
Adam Joseph
4cb579b536 lib.systems: add gnuabin32 to isGnu
The `isGnu` predicate was missing `gnuabin32`.  This commit corrects
that by adding it.
2023-06-29 12:26:12 -07:00
Naïm Favier
3ef988ce97
Merge pull request #237259 from ncfavier/extraDependencies-path
nixos/top-level: change extraDependencies from packages to paths
2023-06-27 11:59:06 +02:00
Naïm Favier
4bdff8cbbb
lib/tests: remove experimental-features
Now that the lib is tested with Nix 2.3, this isn't needed any more and
causes warnings.
2023-06-27 11:48:53 +02:00
Robert Hensing
18111335ed
lib/tests/modules.sh: Test types.pathInStore
Add missing test cases. I think the .links case should be rejected
even though it's technically a path in the store.
2023-06-27 11:48:53 +02:00
Naïm Favier
14d3e5685a
lib/types: add pathInStore 2023-06-27 11:48:08 +02:00
apfelkuchen6
ba6c229037
texlive: fix licensing information for doc-only-packages (#239528)
* licenses: add opubl

* texlive: fix license for npp-for-context and lshort-german

This unbreaks evaluation for `texlive.combine { inherit (texlive) scheme-full;
pkgFilter = (_: true) }`. The problem doesn't manifest for the default pkgFilter
as `npp-for-context` is a doc-only-package (that by the way has recently been
removed from texlive).
2023-06-26 20:31:28 +02:00
Robert Hensing
e17f4dae6f lib/path/tests/prop.sh: Add --show-trace 2023-06-26 12:25:36 +02:00
Robert Hensing
050e7e29aa lib/path/tests: Add --show-trace
This should help troubleshoot errors.
Fyi --eval is just a flag, not an option with a value.
2023-06-26 12:12:34 +02:00
Hugh O'Brien
636db898eb
lib.licenses: add Sustainable Use License (#239455) 2023-06-25 07:07:49 +00:00
Robert Hensing
b1ad9cd27d
Merge pull request #238136 from hercules-ci/nixos-nixpkgs-dont-check-when-_module.args.pkgs-is-set
`nixos/nixpkgs`: Don't check when `_module.args.pkgs` is set
2023-06-23 19:17:36 +02:00
Artturi
e360d8541a
Merge pull request #239233 from Artturin/finishremovals1 2023-06-23 20:09:54 +03:00
Robert Hensing
895ac17634
lib/modules.nix: Clean up mergeAttrDefinitionsWithPrio impl 2023-06-23 18:10:49 +02:00
figsoda
8283d3d8d1 lib/types: remove unused rec 2023-06-23 09:41:04 +00:00
figsoda
1b8df7c8d7 lib/sources: remove unused let bindings 2023-06-23 09:41:04 +00:00
figsoda
8a1a028694 lib/modules: remove unused let bindings 2023-06-23 09:41:04 +00:00
figsoda
c783b54650 lib/licenses: remove unused rec 2023-06-23 09:41:04 +00:00
figsoda
dafa046a1e lib/filesystem: remove unused let bindings 2023-06-23 09:41:04 +00:00
figsoda
350e835584 lib/debug: remove unused let bindings 2023-06-23 09:41:04 +00:00
figsoda
12e01c677c lib/attrsets: remove unused let bindings 2023-06-23 09:41:04 +00:00
figsoda
57ca44c0ae lib: simplify stringToCharacters 2023-06-22 18:27:15 -04:00
Artturin
ec7d5c518c splice.nix: finish nativeDrv,crossDrv removal 2023-06-22 23:11:08 +03:00
Adam Joseph
00a749a3a6 lib/system: move toLosslessStringMaybe into lib/tests
toLosslessStringMaybe is not used by anything other than lib/tests,
so it can be private to that file.

I don't think this function was terribly well thought-through.  If
people start using it, we will become permanently dependent on the
ability to test platforms for equality.  It also makes the
elaboration process more fragile, because it encourages code outside
of nixpkgs to become sensitive to the minute details of how
elaboration happens.
2023-06-22 00:18:33 -07:00
Robert Hensing
43be38bd78
Merge pull request #237610 from tweag/lib.path.hasPrefix
`lib.path.hasPrefix`: init
2023-06-21 13:36:25 +02:00
Astro
2214581218 licenses: add mulan-psl2 2023-06-20 12:42:05 +00:00
Sandro
9a670fec3b
Merge pull request #237167 from CHN-beta/master 2023-06-19 14:14:03 +02:00
pennae
c8b4e5d557
Merge pull request #237557 from pennae/dedocbookify-nixos
nixos/doc: dedocbookify
2023-06-19 14:05:03 +02:00
Weijia Wang
50f3cc9407
Merge pull request #238480 from amjoseph-nixpkgs/pr/lib-systems-redundant
lib/systems: remove redundant test from selectEmulator
2023-06-19 06:49:36 +03:00
Pol Dellaiera
adae46b073
Merge pull request #238456 from apfelkuchen6/texlive-licenses
texlive: add licensing information
2023-06-19 05:08:56 +02:00
apfelkuchen06
b165189b97 licenses: add GFL 2023-06-19 01:53:59 +02:00
apfelkuchen06
a2c3bc9df6 licenses: add GFSL 2023-06-19 01:53:59 +02:00
apfelkuchen06
ed95697332 licenses: add Artistic-1.0-cl8 2023-06-19 01:53:55 +02:00
apfelkuchen06
e4fdd4e6ae licenses: add CC-BY-SA-2.0 2023-06-19 01:50:46 +02:00
apfelkuchen06
69976120f7 licenses: add CC-BY-SA-1.0 2023-06-19 01:50:38 +02:00
apfelkuchen06
617c9e26a2 licenses: add CC-BY-1.0 2023-06-19 01:50:33 +02:00
apfelkuchen06
b21e509367 licenses: add LPPL-1.3a 2023-06-19 01:50:25 +02:00
apfelkuchen06
24c524f89d licenses: add LPPL-1.0 2023-06-19 01:50:18 +02:00
Adam Joseph
6c9be0bf7a lib/systems: remove redundant test from selectEmulator
Commit eef4bbd82f changed the conditional in selectEmulator from
`isCompatible` (which examines only the CPU, rather than the entire
platform) to `canExecute`.  This made the first conjunct redundant.
Let's drop the redundant part.

https://github.com/NixOS/nixpkgs/pull/238331#discussion_r1233277119
2023-06-18 14:39:09 -07:00
apfelkuchen06
2cedfd3e51 licenses: add Knuth license 2023-06-18 17:55:21 +02:00
Robert Hensing
36ea2bbfe8 lib.modules: Add mergeAttrDefinitionsWithPrio
This will let us make assertions involving _module.args.pkgs, which
is not an option but a value attribute, and therefore doesn't have
its own highestPrio to inspect. The new function gives us that info.
2023-06-16 22:08:16 +02:00
Fabián Heredia Montiel
1b7776a3fb lib.systems: add znver4 architecture 2023-06-16 13:47:10 -06:00
pennae
b9756b4de1 lib: unhide _module.args
this was a temporary fix that should hopefully no longer be necessary.
2023-06-16 19:26:23 +02:00
Artturi
5ff6f51c1c
Merge pull request #237512 from hercules-ci/lib-system-equals 2023-06-15 23:30:49 +03:00
Silvan Mosberger
592213ad3f lib.path.hasPrefix: init 2023-06-15 22:29:46 +02:00
ners
7f528f2f6c licenses: add BSD-3-Clause-Clear 2023-06-15 12:35:48 +00:00
pennae
d36f950d40 lib: turn *MD functions into aliases
with docbook gone and MD the default these aren't needed any more. we
can't remove them yet because there's thousands of uses, but maybe some
day we can.
2023-06-13 16:56:32 +02:00
pennae
7542a1aa8f lib/options: remove literalDocBook
no longer supported. warning when used would not be appropriate, and
docbook has been on the way out for long enough that throwing an error
should not be necessary either.
2023-06-13 16:56:30 +02:00
Robert Hensing
3150f25faa lib/tests/release.nix: Run systems tests on OfBorg 2023-06-13 10:43:12 +02:00
Robert Hensing
144018541b lib.systems.equals: Ignore all function attributes reflectively
Co-authored-by: Artturi <Artturin@artturin.com>
2023-06-13 10:22:06 +02:00