Commit graph

3810 commits

Author SHA1 Message Date
Robert Hensing
0bc9783221 lib.types.attrTag: Support type merging 2024-04-04 11:54:45 +02:00
Robert Hensing
42d3b54f0d lib.types.attrTag: Take options instead of types 2024-04-04 11:54:45 +02:00
Robert Hensing
5b49672af4 lib.types.attrTag: Support module docs 2024-04-04 11:54:41 +02:00
Robert Hensing
ca81a89839 lib.types.attrTag: init 2024-02-11 18:44:52 +01:00
Silvan Mosberger
f37ba19765
Merge pull request #284512 from hercules-ci/lib-types-unique-merge
lib.types.unique: Check inner type deeply
2024-02-10 02:52:45 +01:00
Ryan Lahfa
dbd22195df
Merge pull request #287124 from RaitoBezarius/is-sparc-64
lib/systems/inspect: add `isSparc64`
2024-02-09 15:07:01 +01:00
Silvan Mosberger
63373eba60
Merge pull request #286117 from alois31/lib-deprecations
lib: make deprecation warnings consistent
2024-02-09 05:03:43 +01:00
Raito Bezarius
b62bc38ac9 lib/systems/inspect: add isSparc64
This is useful to distinguish between SPARC64 and SPARC whatever,
because SPARC64 do support compressed kernels.
2024-02-08 05:07:39 +01:00
Robert Hensing
5d7125e01e
Merge pull request #285612 from hercules-ci/doRename-condition
lib.modules.doRename: Add condition parameter
2024-02-05 19:24:36 +01:00
Silvan Mosberger
27dbf77d62
Merge pull request #285353 from sternenseemann/nix-2.3-syntax
treewide: fix parse errors with Nix 2.3 and related problems
2024-02-05 17:44:28 +01:00
Robert Hensing
542f5d4f4d lib.option.mergeUniqueOption: Simplify and add warning about merge function
The previous code was optimized for the old uniq behavior, which did not
call merge. That's changed, so the legacy path is not a hot path anymore,
and is not worth any tech debt.
2024-02-04 16:02:13 +01:00
Robert Hensing
bd285d2c11 lib.types.uniq: Check inner type
We now reuse the `unique` type, which implements this.
Keeping the duplication around would be bad at this point.
2024-02-04 15:49:55 +01:00
Alois Wohlschlager
d33127863e
lib: make deprecation warnings consistent
The deprecation warnings in lib were wildly inconsistent. Different
formulations were used in different places for the same meaning. Some warnings
used builtins.trace instead of lib.warn, which prevents silencing; one even
only had a comment instead. Make everything more uniform.
2024-02-03 19:01:39 +01:00
Shea Levy
43ec00acab
Merge branch 'optionalDrvAttr' 2024-02-02 16:30:17 -05:00
Shea Levy
ca1262a483
lib: Add optionalDrvAttr to conditionally set drv attributes.
This allows for adding new, conditionally set, derivation attributes
to an existing derivation without changing any output paths in the
case where the condition is not met.
2024-02-02 16:27:30 -05:00
Robert Hensing
29c7665003 lib.modules.doRename: Add condition parameter
This is to support single-to-multi service migrations, so that the
`to` (e.g. `foos.""`) isn't defined unconditionally. See test cases.
2024-02-02 07:31:16 +01:00
Silvan Mosberger
55ae7c58f3
Merge pull request #285301 from ibbem/gitTracked-shallow
lib.fileset.gitTracked: Allow clones of shallow repositories
2024-02-02 03:30:20 +01:00
ibbem
6558e89177 lib.fileset.gitTracked: Allow clones of shallow repositories
The only reason shallow clones are not the default in
`builtins.fetchGit` is that `revCount` can't be provided when cloning a
shallow repository. However, `revCount` isn't used or exposed by
`lib.fileset`. Hence, allowing cloning shallow repositories makes
`gitTracked` more general without any drawbacks.

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-02-01 00:01:26 +01:00
sternenseemann
84a4712bcb lib/tests/packages-from-directory: make sure all .nix files parse
It is useful that all (or almost all) .nix files in nixpkgs at least
parse since it allows for checking syntax in the repository
programmatically without evaluating anything.
2024-01-31 20:30:17 +01:00
Robert Hensing
33e2ec81c7
Merge pull request #284829 from deemp/master
types.nix: fix nonEmptyListOf
2024-01-30 20:55:24 +01:00
Danila Danko
7dea495d34 feat: add test for nonEmptyListOf submodule 2024-01-30 21:32:34 +03:00
Danila Danko
ad853c1368 types.nix: fix nonEmptyListOf 2024-01-29 22:29:44 +03:00
figsoda
e08ce8d1d1 lib/trivial: bump oldestSupportedRelease to 23.11 2024-01-29 12:08:59 -05:00
Robert Hensing
b78ba9bc68 lib.types.unique: Check inner type deeply
This doesn't change uniq. Why not?

- In NixOS it seems that uniq is only used with
  simple types that are fully checked by t.check.

- It exists for much longer and is used more widely.

- I believe we should deprecate it, because unique was
  already better.

- unique can be a proving ground.
2024-01-28 14:09:27 +01:00
Vincenzo Mantova
4c6e59f0f8 licenses: add Creative Commons Attribution 2.0 2024-01-27 09:32:21 +00:00
Adam Joseph
9b4c306d98 lib.system.inspect: add wasm32 to isILP32
According to the WebAssembly design doc, wasm32 is an ILP32 ABI like
x32, mips64n32, and aarch64_ilp32 (Apple Watch).  This commits adds
it to the predicate.

  1319968ca5/CAndC%2B%2B.md (L16)
2024-01-18 09:09:29 +00:00
Silvan Mosberger
501963a6df
Merge pull request #248220 from infinisil/document-extends
Improve the documentation of `lib.extends` and how it relates to overlays
2024-01-12 02:25:42 +01:00
Silvan Mosberger
0ed96eed10
Merge pull request #278777 from tweag/fix-evals
`lib.callPackageWith`: Use abort again instead of throw and fix evaluation errors caused by it
2024-01-08 03:50:58 +01:00
Silvan Mosberger
56df668386 lib.callPackageWith: Use abort, not throw
This reverts f8ea911f7c, see also https://github.com/NixOS/nixpkgs/pull/271123#discussion_r1442134594
2024-01-07 23:31:11 +01:00
Ryan Burns
5cbd74e49a lib/systems: add exec format inspection attrs
Most of the time when we do a patchelf conditional on
hostPlatform.isLinux, what we really mean is hostPlatform.isElf.
Now that we are starting to support BSDs, this is becoming more important.
2024-01-02 14:07:20 -08:00
Robert Hensing
9f98c59547
Merge pull request #276271 from hercules-ci/modules-types-description-nonRestrictiveClause
lib.types: Improve descriptions of composed types that have commas
2023-12-30 17:29:16 +01:00
jopejoe1
7b7b4967d4 lib/licenses: add missing spdxids 2023-12-26 17:38:49 +01:00
Robert Hensing
6f4d0b5261 lib.types: Improve descriptions of composed types that have commas
Type:   either ints.positive (enum ["auto"])
Before: positive integer, meaning >0 or value "auto" (singular enum)
After:  positive integer, meaning >0, or value "auto" (singular enum)
2023-12-23 11:40:27 +01:00
Silvan Mosberger
0f8d175ebd
Merge pull request #272083 from tweag/lib-contrib
lib: Add contribution guidelines
2023-12-19 22:29:51 +01:00
Silvan Mosberger
1816242f9c
Merge pull request #273893 from tweag/fileset.gitTracked-storeDir
`lib.fileset.gitTracked`: Support out-of-tree builds
2023-12-19 22:14:19 +01:00
Silvan Mosberger
38cf6ff099 Remove --simulate-pure-eval 2023-12-19 22:09:01 +01:00
Silvan Mosberger
4a70c1e4da lib.fileset.gitTracked: Support out-of-tree builds 2023-12-19 22:08:59 +01:00
Silvan Mosberger
cf47b9a5c0
Merge pull request #270537 from 9999years/packagesFromDirectory
lib.packagesFromDirectoryRecursive: init
2023-12-19 22:03:01 +01:00
Rebecca Turner
090b929b8a
lib.packagesFromDirectoryRecursive: init
Co-authored-by: Gabriella Gonzalez <GenuineGabriella@gmail.com>
2023-12-19 09:48:17 -08:00
Rebecca Turner
fa9727cf1e
lib: modules.sh should check JSON output for predictability
Currently, the `lib/tests/modules.sh` test checks the output of
`nix-instantiate --eval` without `--json`, which outputs an unspecified
human-readable format.

This patch modifies `modules.sh` to use the `--json` output instead, to
be robust against future changes to `nix-instantiate` output.
2023-12-19 09:23:09 -08:00
Silvan Mosberger
74f2e49543 lib.fileset.fetchGit: Refactoring 2023-12-19 01:46:15 +01:00
Matthieu Coudron
4ea6c0c58b lib.generators: made toLua accept derivations too
While trying to extend generateLuarocksConfig, I had infinite loops caused by toLua considering derivations as attrSets
2023-12-15 15:05:46 +01:00
Adam Joseph
8f34a10d6a lib/tests/release.nix: temporary reference to pkgs/test/release
This commit temporarily adds pkgs/test/release to the
lib/tests/release.nix test suite, because ofborg already knows about
that entry point.

We should move the list of test entry points out of ofborg and into
a central place in nixpkgs:

  https://github.com/NixOS/nixpkgs/issues/272591

Once we do that we won't need to have this ugly kludge in an
inappropriate place.
2023-12-15 05:13:50 -08:00
Adam Joseph
80472e3754 treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs 2023-12-15 05:13:46 -08:00
Robert Hensing
bef10a5ace
Merge pull request #269551 from tejing1/nixos-stub-ld
nixos/stub-ld: init module
2023-12-13 22:36:30 +01:00
Silvan Mosberger
39948a158c
Merge pull request #273704 from adisbladis/lib-getexe-efficiency
lib.getExe: Make more efficient
2023-12-13 21:30:13 +01:00
Silvan Mosberger
5027eafc33
Merge pull request #274022 from hercules-ci/doc-attrsets-operators
lib/attrsets: Document and link Nix language operators
2023-12-13 21:14:08 +01:00
Robert Hensing
a7aa95db53 lib/attrsets: Document and link Nix language operators 2023-12-13 18:38:41 +01:00
Silvan Mosberger
d4b7b15407 lib.path.hasStorePathPrefix: init
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-12-13 17:12:52 +01:00
Silvan Mosberger
c4e2e52a21
Merge pull request #273664 from tweag/fileset.gitTracked-improvements
`lib.fileset.gitTracked,gitTrackedWith`: Minor improvements
2023-12-13 05:14:20 +01:00