Gabriel Volpe
fe2bead78b
lib/attrsets: introduce mapCartesianProduct
2024-04-15 19:16:15 +02:00
Gabriel Volpe
10517cf9ab
tree-wide: use cartesianProduct
2024-04-15 19:13:22 +02:00
Gabriel Volpe
228621e42d
lib/attrsets: rename cartesianProductOfSets to cartesianProduct
2024-04-15 19:03:54 +02:00
Weijia Wang
f3a1652b09
Merge branch 'master' into staging-next
2024-04-13 19:10:53 +02:00
stuebinm
c0c2f2903f
lib.mdDoc: remove and replace with warning
2024-04-13 10:07:35 -07:00
stuebinm
46456a929b
lib: remove all uses of lib.mdDoc
...
this change is otherwise a no-op, as lib.mdDoc is already defined to be
the identity function.
2024-04-13 10:07:35 -07:00
Vladimír Čunát
24d4f2cd52
Merge branch 'staging' into staging-next
...
Conflicts (tried to quickly resolve somehow, checked eval):
pkgs/development/python-modules/apsw/default.nix
pkgs/development/python-modules/mido/default.nix
pkgs/development/python-modules/pytest-bdd/default.nix
pkgs/development/python-modules/sparse/default.nix
2024-04-12 07:06:54 +02:00
Silvan Mosberger
4f1d724b82
Merge pull request #284551 from hercules-ci/types-attrTag
...
Add `types.attrTag`
2024-04-09 20:48:44 +02:00
Weijia Wang
3f59355d84
Merge branch 'staging-next' into staging
2024-04-09 08:26:23 +02:00
iliana etaoin
e42705c982
licenses: rename apsl{10,20}
-> apple-psl{10,20}
...
Part 1 of #301908 .
This renames the two versions of the Apple Public Source License seen in
nixpkgs; `apsl20` was often confused as being for the widely-used Apache
License 2.0.
2024-04-08 20:39:37 +02:00
Tharun Thennarasu
5bcb08ea03
lib.hasAttrByPath: fix typo ( #302042 )
2024-04-06 11:24:44 +02:00
annalee
6df4f7b89b
Merge remote-tracking branch 'upstream/staging-next' into staging
...
Conflicts:
pkgs/development/python-modules/pynetdicom/default.nix
2024-04-05 00:09:07 +00:00
Silvan Mosberger
a448a21521
Merge pull request #301556 from edef1c/lib-xor
...
lib: add xor
2024-04-04 22:03:53 +02:00
edef
725bb4e48c
lib: add xor
...
This gets clumsily reimplemented in various places, to no useful end.
2024-04-04 19:46:58 +00:00
github-actions[bot]
f6827a0d19
Merge staging-next into staging
2024-04-04 18:01:53 +00:00
Johannes Kirschbauer
c0f5f271d1
doc: migrate trivial files to doc-comment format ( #299986 )
...
* doc: migrate trivial files to doc-comment format
* fix: revert some comments
* Apply suggestions from code review
Thanks @danielSidhion
Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
* Update lib/types.nix
---------
Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-04-04 16:36:07 +02:00
Robert Hensing
35fe538330
types.attrTag: Remove unnecessary definitions override
...
Committing because tests pass.
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-04-04 13:00:19 +02:00
Robert Hensing
22d7f146a4
lib.types.attrTag: Fix declarationPositions after merge
2024-04-04 12:56:56 +02:00
Robert Hensing
cf4968a904
lib/tests/modules/types-attrTag.nix: Test other option doc attrs
2024-04-04 12:22:08 +02:00
Robert Hensing
74831d8b38
lib/tests/modules/types-attrTag.nix: Clean up unneeded comment
2024-04-04 12:00:55 +02:00
Robert Hensing
2d791b5f7b
types.attrTag: Remove substSubmodules
...
I haven't managed to trigger the error, and it turns out that this
method is optional.
Specifically, getSubmodules is unimplemented (and unimplementable),
the tests pass, and we seem to have good location info.
2024-04-04 12:00:54 +02:00
Robert Hensing
47e4a18d01
types.attrTagWith: remove
...
Keep it simple for now.
2024-04-04 12:00:54 +02:00
Robert Hensing
1465777b63
lib.types.attrTag: Custom error when passing bare type
2024-04-04 11:54:46 +02:00
Robert Hensing
bcd774606a
lib/tests/modules/types-attrTag: Test against unexpected attrs
...
Thank you lheckemann for pointing this out!
2024-04-04 11:54:46 +02:00
Robert Hensing
475a55b2f0
lib.types.attrTag: Remove tags from description
...
You can find them in the sub-options now.
2024-04-04 11:54:46 +02:00
Robert Hensing
2e1d470569
lib.modules.evalOptionValue: Undeprecate for lib.types
...
lib.types.attrTag needs it.
2024-04-04 11:54:46 +02:00
Robert Hensing
4c7d990bad
lib.types.attrTag: Provide declarations, definitions
2024-04-04 11:54:45 +02:00
Robert Hensing
e090bb55f0
lib/types.nix: Fix getSubOptions doc
...
This comment was added in 73f32d0375
, when it was already
supposed to be an attrset.
2024-04-04 11:54:45 +02:00
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
Philip Taron
4b2e46dd39
lib.fileset: fix typo: compatibity to compatibility
2024-04-02 14:46:59 -07:00
Florian Richer
3b883d3cdf
lib/strings: Add makeIncludePath ( #296237 )
...
* Update strings.nix
* Fix typo in docs
* Update lib/strings.nix
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
* Update lib/strings.nix
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
* Add unit test with strings
* Move test to strings
* Add unit test with package structure
* testMakeIncludePathWithPkgs: use real pkgs
* Revert "testMakeIncludePathWithPkgs: use real pkgs"
This reverts commit fb1850c069
.
* Update lib/tests/misc.nix
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
* Update lib/tests/misc.nix
Co-authored-by: Silvan Mosberger <github@infinisil.com>
---------
Co-authored-by: lolbinarycat <dogedoge61+github@gmail.com>
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-04-02 19:01:05 +02:00
Sandro
c2328cf5d0
Merge pull request #297266 from ByteSudoer/init-vidmerger
...
vidmerger: init at 0.3.2
2024-03-25 20:58:14 +01:00
Silvan Mosberger
b803ba5a48
Merge pull request #295374 from philiptaron/issue-208242/lib.systems
...
lib: use explicit name imports in `lib/systems`
2024-03-25 18:41:46 +01:00
Daniel Sidhion
85a4ee7da6
Merge pull request #297993 from hsjobeki/doc/customisation
...
doc: migrate lib.customisation to use doc-comments
2024-03-24 15:04:13 -07:00
Daniel Sidhion
2a3616e0e0
Merge pull request #297990 from hsjobeki/doc/cli
...
doc: migrate lib.cli to use doc-comments
2024-03-23 21:57:21 -07:00
Artturi
2590d7a1b3
Merge pull request #295196 from tpwrules/qemu-less-libs
...
lib/systems: remove more features from qemu-user
2024-03-23 21:45:44 +02:00
Johannes Kirschbauer
3dfd61965e
doc: migrate lib.customisation to use doc-comments
2024-03-22 10:02:09 +01:00
Johannes Kirschbauer
6bcb2b90ed
doc: migrate lib.cli to use doc-comments
2024-03-22 09:54:17 +01:00
Jussi Kuokkanen
82b45bf454
treewide: remove licenses.agpl3
2024-03-21 18:09:24 +02:00
Soussi Mohamed Nour
89ea04dc70
Update licenses.nix
2024-03-21 14:54:21 +01:00
ByteSudoer
eedaca8ef1
update license: added the common clause license
2024-03-21 14:49:16 +01:00
ByteSudoer
ebdf6a1d1e
lib.licenses: added The commons clause license
2024-03-21 02:41:09 +01:00
jopejoe1
58e1eb3b78
lib/license: add hpndUc
2024-03-20 20:49:33 +01:00
jopejoe1
3f16499c48
lib/license: add giftware
2024-03-20 20:48:45 +01:00
jopejoe1
2bd2347470
lib/license: add NIST-Software
2024-03-20 20:48:44 +01:00
Johannes Kirschbauer
956fff0825
doc: migrate lib.trivial to use doc-comments ( #297270 )
...
* doc: migrate lib.trivial to use doc-comments
* Apply suggestions from code review
---------
Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
2024-03-19 19:04:14 -07:00
Daniel Sidhion
a737a78167
Merge pull request #296186 from hsjobeki/doc/attrsets
...
doc: migrate lib.attrsets to use doc-comments
2024-03-19 19:03:57 -07:00
Daniel Sidhion
d784fc138d
Apply suggestions from code review
2024-03-19 18:03:31 -07:00
Philip Taron
79ce46fe49
Avoid top-level with ...;
in lib/systems/parse.nix
2024-03-19 16:16:44 -07:00
Philip Taron
c02fcc946a
Avoid top-level with ...;
in lib/systems/inspect.nix
2024-03-19 16:16:44 -07:00
Philip Taron
07d3270dbc
lib/systems: inherit from lib.systems.inspect.predicates in lib/systems/parse.nix
2024-03-19 16:09:37 -07:00
Philip Taron
af634f14ba
lib/systems: inherit from lib.systems.parse in lib/systems/inspect.nix
2024-03-19 16:09:37 -07:00
Philip Taron
123a2f0fcc
lib/systems: use lib.systems.parse and lib.systems.inspect.predicates instead of re-importing
2024-03-19 16:09:37 -07:00
Philip Taron
5988f8f841
lib.systems: use explicit attrset instead of rec
...
This allows refactoring in the file without accidentally modifying the
public interface of the file.
Also, pull in symbols consistently from `lib` instead of `builtins`.
2024-03-19 16:09:37 -07:00
Johannes Kirschbauer
56b5634a90
doc: manual fixup after migration
2024-03-19 22:01:38 +01:00
Silvan Mosberger
c9772eaba0
Merge pull request #293901 from philiptaron/refactor-lib/generators.nix
...
lib: use explicit name imports in `lib/generators.nix`
2024-03-18 19:41:47 +01:00
Silvan Mosberger
3b988c076b
Merge pull request #295158 from philiptaron/remove-top-level-with-in-lib-part5
...
Avoid top-level `with` in `lib/tests/misc.nix`
2024-03-18 19:38:19 +01:00
Johannes Kirschbauer
c8885b86b2
lib.foldl': document eta expansion
2024-03-16 22:58:14 +01:00
Philip Taron
a7b4ee2dbe
lib: use names from lib
in lib/generators.nix
, rather than builtins
or submodules of lib
...
There's not a lot of rhyme to which names are exported from which module,
as I see it, but everything is found somewhere.
2024-03-16 11:19:38 -07:00
Johannes Kirschbauer
9beef9f1ba
lib.foldl': avoid unnecessary function call
2024-03-15 23:42:48 +01:00
Johannes Kirschbauer
f917ed536b
doc: migrate lib.attrsets to use doc-comments
2024-03-15 17:18:35 +01:00
Philip Taron
8422fe83b9
lib/generators: use the explicit public interface pattern
...
This enables further refactoring without accidentally changing the public interface.
2024-03-14 13:15:45 -07:00
Philip Taron
3a01525ae7
lib/generators: explicitly import names from lib.trivial
...
Everything else was already imported.
2024-03-14 13:15:44 -07:00
Philip Taron
b83b8a3548
lib/generators: explicitly import names from lib.attrsets
...
Everything used was already imported.
2024-03-14 13:15:44 -07:00
Philip Taron
9513152413
lib/generators: explicitly import names from lib.string
...
A couple of these were imports from `builtins`.
2024-03-14 13:15:44 -07:00
Philip Taron
a89d2ed83d
lib/generators: explicitly import names from lib
...
I followed the `inherit` chains in `lib/default.nix` to arrive at these imports.
2024-03-14 13:15:44 -07:00
Philip Taron
8041b9b2b3
lib/generators: builtins.isFloat is in Nix 2.3
...
There's a couple of aliases in play:
1. `lib.isList` is an alias for `builtins.isList`.
2. `lib.strings.concatStringsSep` is an alias for `builtins.concatStringsSep`
2024-03-14 13:15:44 -07:00
Silvan Mosberger
30f30db08d
Merge pull request #294906 from philiptaron/remove-top-level-with-in-lib-part2
...
lib: use explicit name imports in `lib/deprecated.nix`
2024-03-14 20:54:07 +01:00
Silvan Mosberger
a32800fdf3
Merge pull request #295007 from philiptaron/remove-top-level-with-in-lib-part3
...
lib: avoid top-level `with ...;` in lib/kernel.nix
2024-03-14 20:32:33 +01:00
Johannes Kirschbauer
fe9e7d313a
doc: lib.lists migrate to doc-comments ( #294257 )
...
* doc: lib.lists migrate to doc-comments
* Fix extra indentation of docs lines, remove redundant comments, add inputs docs
* fix: indentation & argument references
---------
Co-authored-by: DS <commits@sidhion.com>
2024-03-13 05:53:42 -07:00
Thomas Watson
91ad438400
lib/systems: remove more features from qemu-user
...
alsaSupport/jackSupport: unnecessary multimedia systems
tpmSupport/capstoneSupport: unlikely to come up as an exe emulator
2024-03-11 20:16:04 -05:00
Philip Taron
c8a8550c28
Avoid top-level with
in lib/tests/misc.nix
2024-03-11 16:30:31 -07:00
Philip Taron
1f120c454a
Avoid top-level with ...;
in lib/kernel.nix
2024-03-11 11:24:17 -07:00
Philip Taron
20abffc0dd
Avoid top-level with ...;
in lib/tests/modules/extendModules-168767-imports.nix
2024-03-11 08:38:37 -07:00
Philip Taron
0426125c53
Avoid top-level with ...;
in lib/tests/modules/alias-with-priority.nix
2024-03-11 08:38:14 -07:00
Philip Taron
dd46445adc
Avoid top-level with ...;
in lib/tests/modules/alias-with-priority-can-override.nix
2024-03-11 08:37:31 -07:00
Philip Taron
6e2205c3eb
lib: use explicit name imports in lib/deprecated.nix
2024-03-10 20:54:56 -07:00
Valentin Gagarin
41298a0dff
doc: actually document lib.customisation.makeScope
( #294194 )
...
* doc: actually document `lib.customisation.makeScope`
2024-03-09 19:29:13 +01:00
Johannes Kirschbauer
00f00e0663
doc: lib.asserts migrate to doc-comments ( #292310 )
2024-03-07 14:04:50 +01:00
Jörg Thalheim
39ac57b7c5
Merge branch 'master' into license-updates
2024-03-06 20:26:06 +01:00
Silvan Mosberger
727958ee36
Merge pull request #292945 from adisbladis/lib-toint
...
lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings into higher scope
2024-03-06 19:42:52 +01:00
Silvan Mosberger
012faf046f
Merge pull request #292941 from adisbladis/lib-getattrfrompath-env
...
lib.getAttrFromPath: Don't use errorMessage variable
2024-03-06 19:41:34 +01:00
Silvan Mosberger
2dc95cded0
Merge pull request #292938 from adisbladis/mapattrsrecursivecond-env
...
lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment
2024-03-06 19:40:52 +01:00
Silvan Mosberger
b180a6af30
Merge pull request #292937 from adisbladis/zipattrs-env
...
lib.zipAttrs: Remove needless function wrapping
2024-03-06 19:39:48 +01:00
Silvan Mosberger
0d49917ded
Merge pull request #292934 from adisbladis/lib-choosedevoutput
...
lib.chooseDevOutputs: Remove needless function wrapping
2024-03-06 19:39:30 +01:00
Silvan Mosberger
fc3cc21d2a
Merge pull request #292209 from hercules-ci/lazyDerivation-multi-output
...
lib.lazyDerivation: Support multi-output derivations
2024-03-06 17:14:33 +01:00
Valentin Gagarin
73c0b48dd6
doc: add details on mapAttrsRecursive[Cond]
( #293509 )
...
* doc: add details on `mapAttrsRecursive[Cond]`
from first reading it wasn't clear that `f` also takes the current
attribute path. also the value f receives is tricky due to how the
condition is evaluated.
Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
2024-03-06 10:21:23 +01:00
Artturi
961ddd92a1
Merge pull request #177977 from thefloweringash/call-packages-with-function-args
...
lib/customization: propagate function arguments in callPackagesWith
2024-03-03 21:07:56 +02:00
Robert Hensing
39327e4cf2
Merge pull request #288812 from hercules-ci/lib-flake-version
...
`lib/` flake: fix `lib.version`
2024-03-03 18:19:00 +01:00
adisbladis
b3cc51a20f
lib.toInt/toIntBase10: Make more efficient by hoisting up internal strings into higher scope
2024-03-03 16:52:31 +13:00
adisbladis
948e5b841d
lib.getAttrFromPath: Don't use errorMessage variable
...
We can just pass the error message on without creating an environment.
2024-03-03 16:30:00 +13:00
adisbladis
34fefe4e16
lib.mapAttrsRecursiveCond: Eliminate intermediate one intermediate variable environment
2024-03-03 16:18:38 +13:00
adisbladis
4338bfde09
lib.zipAttrs: Remove needless function wrapping
...
Returning the partially applied `zipAttrsWith fn` is the same as `sets: zipAttrsWith fn sets`.
2024-03-03 16:17:49 +13:00
adisbladis
3ee9d185f3
lib.chooseDevOutputs: Remove needless function wrapping
...
Returning the partially applied `map getDev` is the same as `drvs: map getDev drvs`.
2024-03-03 16:03:01 +13:00
Silvan Mosberger
28256b81a1
Merge pull request #292340 from DanielSidhion/fix-fixed-points-doc
...
lib.fixedPoints: fix rendering of docs for `extends`
2024-02-29 16:07:03 +01:00
DS
baae71c821
lib.fixedPoints: fix rendering of docs for extends
2024-02-29 06:22:00 -08:00
Robert Hensing
612dcbe11e
lib.lazyDerivation: Support multi-output derivations
2024-02-29 12:37:52 +01:00
Silvan Mosberger
d0f7816d14
Merge pull request #287369 from tweag/lib-remove-polyfills
...
`lib`: Remove unneeded polyfills
2024-02-28 22:56:19 +01:00
Andrew Childs
741377b300
lib/customization: propagate function arguments in callPackagesWith
...
makeOverridable is very careful to ensure the arguments to the
overridden function are the same as the input function. As a result,
the arguments of hello.override are exactly the same as the original
arguments of the hello function that produced the derivation.
However, callPackagesWith calls makeOverridable with a lambda that
does not propagate the arguments. The override function for a package
instantiated with callPackagesWith will not have the original
arguments.
For example:
nix-repl> lib.functionArgs hello.override
{ callPackage = false; fetchurl = false; hello = false; lib = false; nixos = false; stdenv = false; testers = false; }
nix-repl> lib.functionArgs openssl.override
{ }
By copying the arguments onto the inner lambda before passing it to
makeOverridable, we can make callPackage and callPackages behave the
same.
nix-repl> lib.functionArgs openssl.override
{ buildPackages = false; coreutils = false; cryptodev = false; enableSSL2 = true; enableSSL3 = true; fetchurl = false; lib = false; perl = false; removeReferencesTo = false; static = true; stdenv = false; withCryptodev = true; withPerl = true; }
2024-02-28 15:29:08 +02:00
Robert Hensing
01973b05aa
Merge pull request #291933 from tweag/fileset-tests-posix
...
lib.fileset: Fix tests on Darwin, more POSIX
2024-02-28 01:57:33 +01:00
Silvan Mosberger
3429594114
lib.fileset: Fix tests on Darwin, more POSIX
...
This was found when trying to run the fileset tests on Darwin
(https://github.com/NixOS/nix/pull/9546#issuecomment-1967409445 ), which mysteriously fail on Darwin:
test case at lib/fileset/tests.sh:342 failed: toSource { root = "/nix/store/foobar"; fileset = ./.; } should have errored with this regex pattern:
lib.fileset.toSource: `root` \(/nix/store/foobar\) is a string-like value, but it should be a path instead.
\s*Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.
but this was the actual error:
error: lib.fileset.toSource: `root` (/nix/store/foobar) is a string-like value, but it should be a path instead.
Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.
After dissecting this, I find out that apparently \s works on Linux, but not on Darwin for some reason!
From the bash source code, it looks like <regex.h> with `REG_EXTENDED` is used for all platforms the same,
so there's nothing odd there.
It's almost impossible to know where <regex.h> comes from,
but it looks to be a POSIX thing.
So after digging through the almost impossible to find POSIX specifications
(https://pubs.opengroup.org/onlinepubs/007908799/xbd/re.html#tag_007_003_005 ),
I can indeed confirm that there's no mention of \s or the like!
_However_, there is a mention of `[[:blank:]]`, so we'll use that instead.
2024-02-27 23:26:40 +01:00
Ryan Mulligan
78d6e84385
Merge pull request #291909 from cdmistman/lib-meta-available-on-doc-example
...
lib.meta.availableOn: add example in documentation
2024-02-27 12:44:37 -08:00
Colton Donnelly
e1e3ca54eb
lib.meta.platformMatch: expand documentation
2024-02-27 14:51:33 -05:00
Colton Donnelly
3698be4ee6
lib.meta.availableOn: add example in documentation
2024-02-27 14:44:38 -05:00
Robert Hensing
bb036f2486
lib/tests/release: Test lib.version in isolation
2024-02-26 22:35:14 +01:00
Robert Hensing
f45844cb55
.version: Make lib/.version source of truth
...
This way we don't have to make sure they're in sync, and we remove
a small step from the release process.
2024-02-26 22:34:10 +01:00
Robert Hensing
17117cf565
lib flake: Fix version
...
Manually tested with
nix-repl> :lf path:lib
nix-repl> lib.version
2024-02-26 22:32:58 +01:00
Silvan Mosberger
4d11de3e80
Merge pull request #288677 from tweag/fileset.toList
...
lib.fileset.toList: init
2024-02-26 21:28:26 +01:00
Silvan Mosberger
c1cebaeb16
Merge pull request #291583 from SuperSandro2000/mergeAttrsList
...
lib: export attrsets.mergeAttrsList
2024-02-26 21:00:25 +01:00
Silvan Mosberger
e3a6e38033
lib.fileset.toList: init
2024-02-26 20:21:50 +01:00
Sandro
e426a8f097
lib: export attrsets.mergeAttrsList
2024-02-26 15:49:25 +01:00
Robert Hensing
475ee3a18e
lib/tests/test-with-nix.nix: init
...
See https://github.com/NixOS/nix/pull/9900
2024-02-23 11:07:08 +01:00
Valentin Gagarin
b4cdc15163
Merge pull request #286544 from hercules-ci/doRename-doc
...
lib.modules.doRename: Add doc comments
2024-02-22 16:05:10 +01:00
Benoit de Chezelles
eba79c6df4
lib.evalModules: Fix deprecation doc for args parameter
2024-02-18 21:33:31 +01:00
Robert Hensing
fe36252019
lib.modules.doRename: Add doc comments
...
I don't think these are rendered yet, but this at least provides
the content.
Follow-up to https://github.com/NixOS/nixpkgs/pull/285612
2024-02-14 17:30:51 +01:00
Robert Hensing
ca81a89839
lib.types.attrTag: init
2024-02-11 18:44:52 +01:00
h7x4
8d165ba903
licenses: add mplus
2024-02-10 16:05:30 +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
886e85f4f4
lib.versions: Remove unneeded polyfill
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:05 +01:00
Silvan Mosberger
f2c837700d
lib.strings: Remove unneeded polyfill
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:05 +01:00
Silvan Mosberger
46fd25dda9
lib.lists: Remove unneeded polyfills
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:05 +01:00
Silvan Mosberger
31d23ba418
lib.attrsets: Remove unneeded polyfills
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:46:03 +01:00
Silvan Mosberger
27488b861c
lib.trivial: Remove unneeded polyfills
...
Nix 2.3 (the minimum version needed to evaluate Nixpkgs) supports these, so no need to keep them around.
2024-02-09 05:45:31 +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
95f9761fd9
lib/license: add dtoa
2023-12-30 00:40:41 +01:00
jopejoe1
7b7b4967d4
lib/licenses: add missing spdxids
2023-12-26 17:38:49 +01:00
jopejoe1
a302ae8adc
lib/licenses: add smlnj
2023-12-23 12:11:14 +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
jopejoe1
d4a1307524
lib/licenses: add xinetd
2023-12-23 10:40:02 +01:00
jopejoe1
3e53f2b569
lib/licenses: add xskat
2023-12-23 10:31:58 +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
adisbladis
0286e3119e
lib.getExe: Make more efficient
2023-12-12 16:44:07 +13:00
Silvan Mosberger
6e3be6ddb0
lib.fileset.gitTracked: Improve error when passing files
2023-12-11 23:05:51 +01:00
Silvan Mosberger
eec765f9e6
lib.fileset: Refactor gitTracked and gitTrackedWith
...
Introduce an internal function for them to share more behavior.
This makes future changes easier.
2023-12-11 22:57:12 +01:00
Silvan Mosberger
04efefaa4c
Merge pull request #273473 from adisbladis/lib-isConvertibleToString-static-list
...
lib.isConvertibleToString: Statically compute types list
2023-12-11 17:46:48 +01:00
Silvan Mosberger
6d8c22272a
Merge pull request #273470 from adisbladis/lib-tohexstring-static-values
...
lib.toHexString: Statically compute hexDigits attrset
2023-12-11 17:46:23 +01:00
Silvan Mosberger
5812c533ed
Merge pull request #273474 from adisbladis/lib-cmakeOptionType-static-list
...
lib.cmakeOptionType: Statically compute types list
2023-12-11 17:45:22 +01:00
Silvan Mosberger
581adae822
Merge pull request #273467 from adisbladis/lib-pipe-no-let
...
lib.pipe: Avoid creating a scope
2023-12-11 17:16:05 +01:00
Robert Hensing
6c8fb49bfc
Merge pull request #273004 from hercules-ci/attrset-path-longest-prefix
...
lib.attrsets.longestValidPathPrefix: init
2023-12-11 13:25:45 +01:00
Robert Hensing
067ac02817
Merge pull request #257100 from Ma27/version-info-lib
...
flake: fix `lib.trivial.version` when used from a flake
2023-12-11 10:30:12 +01:00
adisbladis
2d47874820
lib.cmakeOptionType: Statically compute types list
2023-12-11 16:47:22 +13:00
adisbladis
a128a3f234
lib.isConvertibleToString: Statically compute types list
2023-12-11 16:42:13 +13:00
adisbladis
ad647985cf
lib.toHexString: Statically compute hexDigits attrset
2023-12-11 16:36:29 +13:00
adisbladis
c8c2ae638a
lib.pipe: Avoid creating scopes
2023-12-11 16:25:21 +13:00
adisbladis
bd817120c4
lib.strings: Dont create scopes for getName/getVersion
...
We can create the `parse` function in a scope one level up to avoid recomputing it every time.
2023-12-11 14:49:11 +13:00
Maximilian Bosch
d56f942e43
Merge pull request #272709 from hercules-ci/module-system-test-pr-131205
...
lib/modules: Test optionless module errors from #131205
2023-12-10 13:49:02 +01:00
Maximilian Bosch
ede5720a0d
flake/version overlay: review fixes
...
* Improves the comments of `lib/flake-version-info.nix` and drops the
`__`-prefix from the filename.
* `lib'` -> `lib0` in `nixpkgs/lib`.
* Drop the declaration of `trivial.version` in the overlay because this
declaration already uses the final expressions of `versionSuffix` and
`release` now.
* No need to fall back to `self.lastModified` anymore, this was a
workaround for pre2.4 Nix.
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
Co-authored-by: Silvan Mosberger <contact@infinisil.com>
2023-12-10 13:25:24 +01:00
Maximilian Bosch
78f5ed053a
lib/trivial: drop rec
in favor of lib
fixpoint
...
That way each expression uses the final version of other lib.trivial
declarations.
For instance, when replacing `versionSuffix` with the string `"fnord"`
in a lib overlay, `trivial.version` uses `"fnord"` as suffix now rather
than `pre-git`.
2023-12-10 13:25:24 +01:00
Robert Hensing
8d20c2011e
Merge pull request #272183 from infinisil/nixpkgs-reference
...
doc: Rename to Nixpkgs reference manual and restate purpose
2023-12-10 07:07:20 +01:00
Robert Hensing
584463c744
Merge pull request #272764 from tweag/anyBool
...
lib.types.anyBool: init
2023-12-10 06:03:50 +01:00
Robert Hensing
83712164e6
lib/modules: Clarify test assertions
2023-12-09 20:38:29 +01:00
Robert Hensing
afb1a2e376
lib/modules: Test optionless module errors from #131205
2023-12-09 14:15:49 +01:00
Maximilian Bosch
bb7921d1d6
flake: also provide proper version info for lib's flake
...
This effectively means that
nixpkgs$ nix eval ./lib#lib.trivial.version
"23.11.20231020.ee0d6b5"
now gives meaningful results as well.
See https://github.com/NixOS/nixpkgs/pull/257100#discussion_r1352075369
for the discussion around this.
2023-12-09 11:45:45 +01:00
Robert Hensing
7d993b9521
lib.attrsets.hasAttrByPath: Document law and laziness, and test it
2023-12-08 23:19:09 +01:00
Robert Hensing
72bd4bbb58
lib.attrsets.longestValidPathPrefix: init
...
Allows finding the most specific path that exists.
This is useful for error messages relating to attribute paths.
2023-12-08 23:15:13 +01:00
Robert Hensing
50793752a7
lib.sort: Make doc consistent with sortOn
2023-12-08 22:15:30 +01:00
Robert Hensing
016993237f
lib.callPackageWith: Optimize levenshtein sort
...
Probably not significant because of the limits already applied.
This is mostly cleanup.
2023-12-08 22:15:29 +01:00