Commit Graph

4186 Commits

Author SHA1 Message Date
github-actions[bot]
dcad9b571a
Merge master into staging-next 2024-08-31 00:13:18 +00:00
Robert Hensing
0abfc619bc
lib.importApply: init (#230588)
* lib.modules.importApply: init

Brings variables from rich scopes to modules defined in separate files.

A helper for functions in files that return a module.

* lib.modules.importApply: Edit doc

Generally improve the quality. Notes:

- Not rendered to the manual yet, so probably the syntax could be
  improved, but I have no way to test this now.

- The docs use `arg` vs `staticArg` in the code. This is intentional,
  because the doc is pretty clear about the role of `arg` whereas
  the code exists in a context where ambiguities are more harmful.

* Format
2024-08-31 01:12:43 +02:00
github-actions[bot]
a2cea72749
Merge staging-next into staging 2024-08-30 00:13:56 +00:00
github-actions[bot]
22c53603c5
Merge master into staging-next 2024-08-30 00:13:29 +00:00
Philip Taron
ae92f312bf
treewide: use a consistent meta.priority default 2024-08-29 09:04:57 -07:00
github-actions[bot]
3b85a864c3
Merge staging-next into staging 2024-08-26 18:04:37 +00:00
github-actions[bot]
75c9ed99be
Merge master into staging-next 2024-08-26 18:04:09 +00:00
Ivan Trubach
9ae6726db9 lib/systems: set gcc.arch = "armv6kz", gcc.fpu = "vfpv2" for raspberryPi
>The CPU in the Raspberry Pi 1 and Zero implements the ARMv6 ISA (with VFP2)
https://wiki.debian.org/RaspberryPi#:~:text=The%20CPU%20in%20the%20Raspberry%20Pi,VFP2%29

See also
- https://en.wikipedia.org/wiki/Raspberry_Pi#Specifications
- https://github.com/NixOS/nixpkgs/issues/319036#issuecomment-2232108373
2024-08-26 18:41:06 +02:00
github-actions[bot]
eb9c198aae
Merge staging-next into staging 2024-08-26 12:05:49 +00:00
github-actions[bot]
132f2322d0
Merge master into staging-next 2024-08-26 12:05:25 +00:00
Robert Scott
96948c38c8
cockroachdb-bin: Update licenses (#335770) 2024-08-26 12:53:24 +01:00
Robert Hensing
e184358796
Merge pull request #326430 from tweag/formatting-rebuild-fixes
Prevent some rebuilds for future Nix reformats
2024-08-26 12:48:52 +02:00
Kristoffer K. Føllesdal
1bce2914b3 licenses: Update databricks metadata
Link to offical Databricks License URL
2024-08-26 11:11:51 +02:00
github-actions[bot]
41ae34fbe3
Merge staging-next into staging 2024-08-25 18:04:08 +00:00
github-actions[bot]
42a36f336d
Merge master into staging-next 2024-08-25 18:03:42 +00:00
Robert Hensing
b2d208b70d
Merge pull request #324071 from tie/emulator-exec
lib/systems: use execline’s exec instead of runtimeShell
2024-08-25 19:06:15 +02:00
Silvan Mosberger
7954f9dfc0
Merge pull request #333953 from mibmo/spdx-license-mapping
lib.meta.licensesSpdx: mapping from SPDX ID to compatible licenses
2024-08-25 15:44:18 +02:00
Silvan Mosberger
8f425c25ad lib/tests: Format a file with nixfmt
And fix locations to not break the test.
This is a rare case where another change is required after formatting.
We do this in a separate commit so that we don't need to do it in the
treewide reformatting PR.
2024-08-25 05:07:51 +02:00
Silvan Mosberger
f55a4b99ef lib.meta: Minor SPDX license function improvements
- Expose `lib.licensesSpdx`
- Create bindings for the needed internal functions
- Mention that some SPDX licenses might be missing (in the future I hope
  we can autogenerate the Nixpkgs license list from some SPDX endpoint
2024-08-25 00:57:44 +02:00
github-actions[bot]
203efcc4c2
Merge staging-next into staging 2024-08-24 12:04:57 +00:00
github-actions[bot]
64dfaf32be
Merge master into staging-next 2024-08-24 12:04:30 +00:00
Sandro
771c5644e8
Merge pull request #333915 from jopejoe1/license
lib/licenses: some corrections
2024-08-24 12:39:30 +02:00
Tim Cuthbertson
911aa1440f treewide: support NIX_SSL_CERT_FILE as an impureEnvVar
This envvar is also added to lib.proxyImpureEnvVars since it's
typically required for https proxies.

This change also updates fetchgit and go module fetching to use this
envvar. NIX_GIT_SSL_CAINFO is still supported for backwards
compatibility in fetchgit.
2024-08-23 21:34:22 +10:00
K900
5c68540f8b Merge remote-tracking branch 'origin/staging-next' into staging 2024-08-22 13:20:38 +03:00
Silvan Mosberger
0606893752
Merge pull request #335139 from MattSturgeon/types_docref
lib/types: update reference to docs
2024-08-19 16:20:50 +02:00
Alexander Ben Nasrallah
79b28e8372 lib.licenses: add CockroachDB Community License Agreement 2024-08-19 11:29:35 +02:00
github-actions[bot]
150d965bfb
Merge staging-next into staging 2024-08-17 18:01:41 +00:00
Artturin
c9270f6274
Merge pull request #329964 from Artturin/androidrenamesdk
treewide: Rename android `sdkVer` and `ndkVer`
2024-08-17 19:22:42 +03:00
github-actions[bot]
dfd7616ef8
Merge staging-next into staging 2024-08-17 12:01:34 +00:00
Jörg Thalheim
0f11a0a752
Merge pull request #335311 from kakkun61/fix-markup
lib/customisation.nix: fix markup
2024-08-17 12:20:31 +02:00
Kazuki Okamoto
55eedcc6dc
just fix markup 2024-08-17 16:47:58 +09:00
Salar Rahmanian
07e989a55c vscode-extensions.databricks.databricks: init at 2.3.1 2024-08-16 23:32:01 -07:00
Matt Sturgeon
f1cd097be2
lib/types: update reference to docs
The XML docs have been migrated to markdown since bfd21cd2c1
2024-08-16 16:09:15 +01:00
Gabriella Gonzalez
75c122699a
lib.cli.escapeShellArg{,s}: Only escape when necessary (#333744)
These utilities will now leave the string undisturbed if it doesn't need to be quoted (because it doesn't have any special characters). This can help generate nicer-looking command lines.

This also transitively improves the output of `lib.toGNUCommandLine` which uses `escapeShellArg` internally
2024-08-16 16:26:08 +02:00
Johannes Kirschbauer
dea395bbad
format: lib/fixed-points 2024-08-15 11:13:24 +02:00
Johannes Kirschbauer
b24de4052b
doc: refactor documentation for lib.{composeExtensions,composeManyExtensions} 2024-08-15 11:13:23 +02:00
mib
d04697aee8 lib.meta.licensesSpdx: mapping from SPDX ID to licenses 2024-08-15 00:47:57 +02:00
Silvan Mosberger
ef23c7da7a
Merge pull request #334117 from hercules-ci/test-modules-report-location 2024-08-12 15:10:42 +02:00
Robert Hensing
7f838d4c54 lib/tests/modules.sh: Improve failure log format
- Clear separation between failures
- Move error regex close to error message, which is at the bottom
  of a fairly long trace
- Move most relevant and consistent info to bottom of terminal:
  the location of the failure.
  Some editors including vscode heuristically resolve file paths
  on Ctrl+click.
- Less wordy - easy to glance
- Capitalized prefixes to distinguish from Nix's own logging
2024-08-12 13:48:25 +02:00
Robert Hensing
6fa24da815 lib/tests/modules.sh: Add loc <depth> optional parameter 2024-08-12 13:47:41 +02:00
Robert Hensing
c516c03bf4 lib/tests/modules.sh: Do not redirect diagnostics to stdout
It still prints its own diagnostics to stdout, but it's always done that.
2024-08-12 13:47:36 +02:00
Robert Hensing
8a6c85d886 lib/tests/modules.sh: Report failure source location 2024-08-12 13:46:38 +02:00
jopejoe1
fddb874f91 lib/licenses: remove incorrect comment about mit and x11
Spdx has a diffrent id for both and so do we!
2024-08-11 17:44:59 +02:00
jopejoe1
67327ada9b lib/licenses: remove libssh2 equivalent to bsd3 2024-08-11 17:44:59 +02:00
jopejoe1
0984590b4e lib/licenses: correct zsh to mit-modern 2024-08-11 17:44:58 +02:00
jopejoe1
c178b444fa lib/licenses: busl add spdxid 2024-08-11 14:52:44 +02:00
Tristan Ross
527de075a3 lib.systems: mark windows as having shared libs 2024-08-10 08:34:57 +02:00
Sandro
57d330a1b1
Merge pull request #307683 from RobWalt/radiance 2024-07-31 13:22:24 +02:00
Ivan Trubach
4c6e132c7e lib/systems: use execline’s exec instead of runtimeShell 2024-07-30 12:23:31 +03:00
Johannes Kirschbauer
aba0f17b5a
Doc: migrate lib.strings to commonmark 2024-07-27 14:39:31 +02:00
Sigmanificient
6dd44107ac treewide: remove unused lib (and other) arguments 2024-07-26 11:18:09 +02:00
Silvan Mosberger
60027e7836 lib.trimWith: Minor doc improvements 2024-07-26 01:16:49 +02:00
Silvan Mosberger
91a3ba9064
Merge pull request #315411 from MattSturgeon/trim
lib.strings: add `trim` and `trimWith`
2024-07-26 01:13:31 +02:00
Peder Bergebakken Sundt
99dec1f6b0 treewide: fix doc typos
Done with `fd \\\.md$ . --type f -x typos --write-changes`
2024-07-26 00:55:13 +02:00
Matt Sturgeon
aad87c2aa8
lib.strings: add trim and trimWith
`strings.trim` returns a copy of the string with all leading and trailing
whitespace removed.

`strings.trimWith` does the same thing, but calling code can decide
whether to trim the start and/or end of the string.
2024-07-25 23:43:33 +01:00
Artturin
35e5943d69 lib.systems: throw if sdkVer or ndkVer are used for android.
Those attrs have been renamed and throwing is the best way to show it,
if we only warned then the user would only get an error like this `error: Unsupported sdk: 33`
from `pkgs/top-level/darwin-packages.nix`.

If someone wants to support multiple NixOS versions then they can simply
set both attrs. (`!args ? androidSdkVersion` is for that)
2024-07-25 23:49:18 +03:00
Silvan Mosberger
7c6692836e
Merge pull request #149990 from ShamrockLee/lib-spdx-license 2024-07-25 22:27:10 +02:00
Artturin
1144d46f95 treewide: Rename android sdkVer and ndkVer
`sdkVer` conflicts with the old `sdkVer`(now `darwinSdkVersion` but that still uses `sdkVer` if set) used by darwin

This shouldn't be an issue but due to `pkgs/development/interpreters/python/cpython/default.nix`
running `lib.filterAttrs (n: v: ! lib.isDerivation v && n != "passthruFun")` on it's inputs (2 of them are darwin only)
the `throw "Unsupported sdk...` in `pkgs/top-level/darwin-packages.nix` will be triggered.

After this change `pkgsCross.armv7a-android-prebuilt.python3.pythonOnBuildForHost` won't fail with
`error: Unsupported sdk: 33`

Issue was bisected to 3cb23cec23
2024-07-25 22:08:49 +03:00
Silvan Mosberger
473e469d5a
Merge pull request #328381 from tie/map-attrs-flatten 2024-07-24 13:32:34 +02:00
Ivan Trubach
b9c51260d0 lib/deprecated: print deprecation warning for mapAttrsFlatten 2024-07-24 13:23:16 +03:00
Jörg Thalheim
afe8fbf038
Merge pull request #328582 from rhelmot/freebsd-stdenv
FreeBSD stdenv: re-init
2024-07-24 06:43:35 +02:00
Someone
03b1a46b7d
Merge pull request #325384 from adisbladis/lib-licenses-factory-func
lib.licenses: refactor internal mkLicense to avoid future typo bugs
2024-07-24 04:26:37 +03:00
Robert Hensing
db77328e33
Merge pull request #306481 from hercules-ci/lib-builtins-warn
lib.warn: Use or behave like builtins.warn
2024-07-23 13:41:03 +02:00
Robert Hensing
bc556c5686 lib.warn: Update docs
- Bring up to date
- Give meaning to the metavariables
- Use italics for metavariables (just like the Nix manual)
- Don't abbreviate
  - No hard feelings, Val.
2024-07-23 12:48:01 +02:00
Someone Serge
98384afab5 lib: add getStatic 2024-07-21 11:38:04 +00:00
Someone Serge
76db6ba81a lib: reflect effective signatures of getOutput functions 2024-07-21 11:37:38 +00:00
Someone Serge
744305bce4 lib: add getOutput', a nix-lang counterpart of _overrideFirst 2024-07-21 11:29:23 +00:00
Audrey Dutcher
1e2071847d stdenv/freebsd: reinit
The old stdenv didn't work, and was also impure. The new one works, and
is pure. Presently, the bootstrap tools are cross compiled into one small
nar and one large tar, which is then unpacked, patched, and split into
smaller derivations. Efforts were made to make the boot process as short
as possible - there are only two clangs built, and as many packages are
propagated between stages as possible while leaving the bootstrap tools
out of the final stdenv's closure.
2024-07-19 21:32:05 -07:00
Ivan Trubach
a13e0a12b7 lib/deprecated: alias mapAttrsFlatten to mapAttrsToList
These functions have identical implementation except for argument names.
2024-07-19 11:39:27 +03:00
Nikolay Korotkiy
c35032a3c9
Merge pull request #323143 from tsandrini/init-mqtt-explorer
mqtt-explorer: init at 0.4.0-beta.6
2024-07-18 22:32:02 +04:00
tsandrini
dd09495f64
lib/licenses: add cc-by-nd-40 2024-07-18 09:34:48 +02:00
Robert Hensing
7d4a9a5772 lib.warn: Remove color from the message itself
This aligns with Nix and makes it more readable.
The prefix still stands out.
2024-07-16 15:56:01 +02:00
Robert Hensing
f621ab9204 lib.warn: Fix color
Co-authored-by: Aleksana <alexander.huang.y@gmail.com>
2024-07-16 15:54:12 +02:00
Janik
c20399ea2e
Merge pull request #318712 from woojiq/lib-network-ipv6-parser
lib.network: add ipv6 parser
2024-07-11 20:57:53 +02:00
aviac
e9bbad7386
lib/licenses: add radiance 2024-07-08 16:13:03 +02:00
Florian Klink
5d7f58fdd6
Merge pull request #324861 from Kranzes/crate2nix
lib.systems: Fix setting rust.platform.os for wasm32-unknown-unknown
2024-07-08 15:27:29 +03:00
adisbladis
b85639c589 lib.licenses: refactor internal mkLicense to avoid future typo bugs
This is a follow-up to https://github.com/NixOS/nixpkgs/pull/325380 where @emilazy discovered that we have some typos in field names.

This refactoring wraps the implicit lib.licenses schema up in a factory function to ensure consistency.

While a more proper type checker like the one we use for meta checks would be better I didn't want to depend on that in more places.
In fact, we might want to make meta type checks more strict on the license field.
2024-07-08 17:37:52 +12:00
Emily
3cd5ecc1a9 lib/licenses: fix field names 2024-07-08 00:46:05 +01:00
Ilan Joselevich
bf61b8c8fb
lib.systems: Fix setting rust.platform.os for wasm32-unknown-unknown
Previously we would fallback to using `kernel` as the `os` which would
result in using the wrong `os` value (`none`) when actually we want
`unknown`. This seems to be a special case for wasm32-unknown-unknown
and wasm64-unknown-unknown so I extended the if statement to support it.
2024-07-05 19:43:10 +03:00
Robert Hensing
4eb6883b86 lib/modules: Memoize remaining lookups into builtins
Similar to the previous commit about lookups into lib
Main benefits
- consistent
- faster
- shorter
2024-07-03 11:16:31 +02:00
Robert Hensing
fed26baf1e lib: Expose typeOf, unsafeGetAttrPos
All builtins should be in mirrored in lib, for consistency, as well
as control to let the Nixpkgs pin effect *subtle* improvements in
behavior (such as the foldl' accumulator strictness).
2024-07-03 11:16:31 +02:00
Robert Hensing
d0438fb00f lib/modules: Memoize remaining lookups into lib
Benefits:
 - some lookups happened in the hot path, and will now be slightly faster,
   with only a variable lookup and no attribute selection
 - it's now harder to accidentally use args.lib aka specialArgs.lib, which
   has happened
 - shorter
2024-07-03 11:16:31 +02:00
Robert Hensing
88a9a933c4 lib/modules: Memoize functionArgs lookup
This would also make specialArgs-lib.nix pass.
2024-07-03 11:16:31 +02:00
Robert Hensing
0a0e37c217 lib/modules: Memoize addErrorContext lookup 2024-07-03 11:16:31 +02:00
Robert Hensing
4a014ed92e lib/modules: Use fixed lib instead of args.lib
The practical use for this should be very limited because I don't
think anyone should change `lib`, let alone change `lib.functionArgs`,
but, but it would be even stranger to rely on `args.lib` (or really
`specialArgs.lib` for what's clearly a behavior of the current
`evalModules`, which uses its own ambient lib for basically everything.

The shadowing of `lib` by `args.lib` here seems to be a small mistake,
which is easy to make.
2024-07-03 11:16:31 +02:00
Philip Taron
6cf8ae9090
lib.types: remove __attrsFailEvaluation
The test (`nix-build pkgs/test/release/default.nix`) continues to pass without this preventative measure.
2024-07-01 10:37:58 -07:00
Jörg Thalheim
521dab2594
Merge pull request #323657 from wegank/23.11-unmaintained
23.11 is unmaintained
2024-07-01 12:55:28 +02:00
Weijia Wang
f136ad9609 lib/trivial: update oldestSupportedRelease 2024-07-01 08:49:45 +02:00
Florian Klink
641b2f29b6
Merge pull request #319153 from Kranzes/buildRustCrate-wasm
buildRustCrate: add support for compiling to wasm32-unknown-unknown
2024-06-30 14:05:33 +03:00
Yueh-Shun Li
10d2e6c906 lib.getLicenseFromSpdxIdOr: init
Add lib.meta.getLicenseFromSpdxIdOr as a variant of
lib.meta.getLicenseFromSpdxId that explicitly state the default
(fallback) value if there's no license matching the given SPDX ID.
2024-06-30 02:59:58 +08:00
Yueh-Shun Li
319736f69f lib.getLicenseFromSpdxId: improve documentation 2024-06-30 02:41:54 +08:00
woojiq
d559eed93a lib.network: ipv6 parser from string
Add a library function to parse and validate an IPv6 address from a
string. It can parse the first two versions of an IPv6 address according
to https://datatracker.ietf.org/doc/html/rfc4291#section-2.2. The third
form "xxx:x.d.d.d.d" is not yet implemented. Optionally parser can accept prefix length (128 is default).

Add shell script network.sh to test IPv6 parser functionality.
2024-06-29 10:02:00 +03:00
lucasew
52cc703bba lib: add fromHexString
Co-authored-by: lucasew <lucas59356@gmail.com>
2024-06-28 20:53:53 +03:00
Silvan Mosberger
9695ac6e2d
lib/cli: improve documentation, including arguments (#315820)
cli.nix: improve documentation, including arguments
2024-06-28 18:40:36 +02:00
éclairevoyant
77f6192786
lib: deprecate mkPackageOptionMD 2024-06-26 23:14:45 -04:00
Johannes Kirschbauer
b4cffe178c
lib.meta: refactor to use doc-comments (#313589)
* doc: use doc-comments for lib.meta

* adds missing argument to setPrio
2024-06-26 22:12:18 +02:00
Silvan Mosberger
dcb1f21389
Merge pull request #312412 from hsjobeki/doc/lib-gvariant
doc: migrate lib.gvariant to doc-comment format
2024-06-26 22:10:26 +02:00
Silvan Mosberger
54a93d0525
Merge pull request #312407 from hsjobeki/doc/lib-generators
doc: init lib.generators reference documentation
2024-06-26 22:09:05 +02:00
Johannes Kirschbauer
b5af504a3d
doc: migrate lib.filesystem to doc-comment format (#312222)
* doc: migrate lib.filesystem to doc-comment format

* defintion list fixes lib/filesystem.nix

Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>

---------

Co-authored-by: Daniel Sidhion <DanielSidhion@users.noreply.github.com>
2024-06-26 22:01:28 +02:00
Silvan Mosberger
298465b71c
Merge pull request #312217 from hsjobeki/doc/lib-derivations
doc: migrate lib.derivations to doc-comment format
2024-06-26 21:59:34 +02:00