1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-18 03:30:45 +00:00
Commit graph

3970 commits

Author SHA1 Message Date
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