Commit graph

4488 commits

Author SHA1 Message Date
Silvan Mosberger 062945b725
lib.types: chore use consistent payload form (#363565) 2024-12-09 16:23:19 +01:00
Johannes Kirschbauer d504a1e680
lib.types.attrsWith: add placeholder parameter 2024-12-09 15:25:18 +01:00
Johannes Kirschbauer f407f6f57e
lib.types: chore use consistent payload form 2024-12-09 14:09:16 +01:00
github-actions[bot] 38a78130f6
Merge master into staging-next 2024-12-08 12:05:39 +00:00
Silvan Mosberger 944f47455e
lib: add defaultTo (#357681) 2024-12-08 10:24:42 +01:00
github-actions[bot] 0597be32bd
Merge master into staging-next 2024-12-06 12:05:59 +00:00
Silvan Mosberger 2936a2ab9b
lib.strings.concatMapAttrsStringSep: init (#330010) 2024-12-06 09:53:50 +01:00
Yueh-Shun Li b1371135b5 lib.strings.concatMapAttrsStringSep: init 2024-12-06 11:02:26 +08:00
github-actions[bot] 35ce54d1fd
Merge master into staging-next 2024-12-05 00:15:50 +00:00
Silvan Mosberger 5adee31c11
lib/types: init {types.attrsWith} (#361391) 2024-12-04 20:51:29 +01:00
github-actions[bot] 31c37acde9
Merge staging-next into staging 2024-12-04 18:05:21 +00:00
nicoo 2f9d395f05
lib.packagesFromDirectoryRecursive: Improved documentation (#359898) 2024-12-04 16:45:45 +00:00
github-actions[bot] df7560310e
Merge staging-next into staging 2024-12-03 12:06:35 +00:00
nicoo 25bdcd51e8 lib.packagesFromDirectoryRecursive: Split and explain examples, warn about scope limitation 2024-12-03 11:01:28 +00:00
nicoo 781b44b39d lib.packagesFromDirectoryRecursive: document inputs better
Cut out redundant boilerplate, explain what the `callPackage` parameter is.

Co-authored-by: Valentin Gagarin <valentin@gagarin.work>
2024-12-03 11:01:12 +00:00
Johannes Kirschbauer ce8f304bb6
lib.types.attrsWith: remove failing test 2024-12-03 10:04:27 +01:00
Johannes Kirschbauer 58c115499f
lib.types: improve performance on attrsWith 2024-12-03 10:03:19 +01:00
Silvan Mosberger e60e2e6916
lib/types: standardise attrsOf functor.wrapped warning and add a test 2024-12-03 10:03:13 +01:00
Silvan Mosberger dbb085549e
lib/modules: Minor performance optimisation
Co-Authored-By: Johannes Kirschbauer <hsjobeki@gmail.com>
2024-12-03 10:03:02 +01:00
Silvan Mosberger e438d6b08d
lib/types: Add deprecation to attrsWith
Co-Authored-By: @infinisil
2024-12-03 10:02:55 +01:00
Silvan Mosberger bd353d322c
lib/types: Test attrsWith type merging
Co-Authored-By: @hsjobeki
2024-12-03 10:02:47 +01:00
Johannes Kirschbauer 5b7a21358d
lib/types: init {types.attrsWith} 2024-12-03 10:02:40 +01:00
K900 907cb3d253
Revert "lib/types: init {types.attrsWith}" 2024-12-03 09:06:24 +03:00
github-actions[bot] 215e1f12a4
Merge staging-next into staging 2024-12-03 06:05:38 +00:00
Aleksana 586f613034
lib/licenses: fix lens license URL (#360654) 2024-12-03 13:17:21 +08:00
github-actions[bot] 9fda0f5ae0
Merge staging-next into staging 2024-12-03 00:16:58 +00:00
K900 6739ae1174 Merge remote-tracking branch 'origin/staging-next' into staging 2024-12-02 22:43:34 +03:00
ash cf9805af62 lib.derivations: add warnOnInstantiate 2024-12-02 19:09:07 +00:00
Silvan Mosberger 23a7a7d8b4
lib/types: init {types.attrsWith} (#354738) 2024-12-02 16:47:32 +01:00
Johannes Kirschbauer 399e582e18
lib.types: improve performance on attrsWith 2024-12-02 16:39:29 +01:00
Silvan Mosberger d5eccbbbae lib/types: standardise attrsOf functor.wrapped warning and add a test 2024-12-02 16:18:03 +01:00
Silvan Mosberger 14f4431d12 lib/modules: Minor performance optimisation
Co-Authored-By: Johannes Kirschbauer <hsjobeki@gmail.com>
2024-12-02 15:54:52 +01:00
K900 aa180fdca0 Merge remote-tracking branch 'origin/staging-next' into staging 2024-12-02 10:34:44 +03:00
K900 940db5766a
Revert "lib.filesystem.packagesFromDirectoryRecursive: refactor (#359941)"
This reverts commit 8a59b79070.
2024-12-02 10:21:52 +03:00
github-actions[bot] ec53e34a1d
Merge staging-next into staging 2024-12-01 12:05:56 +00:00
nicoo 8a59b79070
lib.filesystem.packagesFromDirectoryRecursive: refactor (#359941)
No functional changes.

- Centralize the logic classifying files/directories of interest, instead of
  being spread between `directoryEntryIsPackage` and `directoryEntryToAttrPair`.
- Replace a composition of `mapAttrs'` and `filterAttrs` with `concatMapAttrs`.
- Simplify future improvements, such as creating nested scopes for subdirs,
  or ignoring unsupported files.
2024-12-01 10:07:46 +00:00
Simon Žlender 8ba40fdd4f lib: add defaultTo 2024-12-01 10:58:42 +01:00
Chandler Swift 96a405932d
lib/licenses: fix lens license URL 2024-11-30 21:29:17 -06:00
github-actions[bot] 1ae7d136e8
Merge staging-next into staging 2024-11-30 00:04:18 +00:00
Philip Taron 9396352fba
lib/systems: elaborate properly with non-matching system / config / parsed args (#351608) 2024-11-29 15:48:15 -08:00
nicoo 13b953c864 lib.packagesFromDirectoryRecursive: More precise type signature
Pulled above the inputs section to avoid duplicating information.
2024-11-28 16:27:36 +00:00
github-actions[bot] e645ec8944
Merge staging-next into staging 2024-11-27 06:05:34 +00:00
John Ericson 07f8638828
freebsd: Add support for aarch64 (#358053) 2024-11-26 20:39:38 -05:00
Silvan Mosberger 45f0035a83
lib/types: Add deprecation to attrsWith
Co-Authored-By: @infinisil
2024-11-26 10:27:01 +01:00
K900 3b5cb28a23 Merge remote-tracking branch 'origin/staging-next' into staging 2024-11-26 09:46:04 +03:00
Philip Taron 01fdad87c4
stdenv: add Silvermont support, remove incorrect AES support (#355127) 2024-11-25 10:50:35 -08:00
Silvan Mosberger 415d1932ea lib/types: Test attrsWith type merging
Co-Authored-By: @hsjobeki
2024-11-25 16:06:55 +01:00
github-actions[bot] 9a94a24ad9
Merge staging-next into staging 2024-11-25 14:38:16 +00:00
Johannes Kirschbauer c4a9529071
lib/types: init {types.attrsWith} 2024-11-25 15:11:45 +01:00
Emily 382ef6cd88 Merge staging-next into staging 2024-11-25 02:00:00 +00:00
Philip Taron db05bc5dbc
lib/systems: ensure native emulator is a string (#358507) 2024-11-24 12:36:51 -08:00
Wolfgang Walther af10dd2014
lib/customisation: remove overrideScope'
Let's follow through on the comment.
2024-11-24 21:09:32 +01:00
Emily 49d9ef16b1
treewide: remove deprecations up until 24.11 (#356732) 2024-11-24 19:46:12 +00:00
github-actions[bot] c106fbf8e3
Merge staging-next into staging 2024-11-24 12:06:45 +00:00
Silvan Mosberger b234fd831a
lib.types.defaultTypeMerge: refactor functor.{payload,wrapped} merging (#350906) 2024-11-24 11:44:56 +01:00
Artemis Tosini 2b02a18ef7
freebsd: Add support for aarch64
Add a new `aarch64-freebsd` double and example system,
then fix include and libc to work.
This is enough to build packages like `hello`,
either static or dynamic.

This is useful for testing nix FreeBSD on a Raspberry Pi.
2024-11-24 03:03:28 +00:00
Emily 2b1f3bb342 lib/systems: ensure native emulator is a string
Fixes eval of `mesonEmulatorHook.crossFile`.
2024-11-23 17:24:48 +00:00
github-actions[bot] 5d73f1b15f
Merge staging-next into staging 2024-11-23 00:15:02 +00:00
Wolfgang Walther 73df63f8ef
lib/options: remove mdDoc
Following through on message itself.
2024-11-22 18:30:11 +01:00
seth 4d874d59e2
lib.systems.examples: set rust.rustcTarget for ucrtAarch64
Closes https://github.com/NixOS/nixpkgs/issues/357751
2024-11-21 04:56:45 -05:00
Emily 9031f2db8b Merge staging-next into staging 2024-11-21 03:49:12 +00:00
Jörg Thalheim 6d2d99ef57
Parallel GH actions workflow for Nixpkgs eval (#356023) 2024-11-20 19:49:18 +01:00
Emily 561a54f356
lib/systems: use a shell script for native emulator (#357309) 2024-11-20 16:31:43 +00:00
Silvan Mosberger fbbe972898 Parallel GH actions workflow for Nixpkgs eval
Motivated by ofborg struggling [1] and its evaluations taking too long,
inspired by Jörg's initial PR [2]
and Adam's previous attempt to parallelise Nixpkgs evaluation [3],
this PR contains initial work to relief ofborg from its evaluation duty
by using GitHub Actions to evaluate Nixpkgs.

For now this doesn't take care of all of what ofborg does, such as
requesting appropriate reviewers or labeling mass rebuilds, but this can
be follow-up work.

[1]: https://discourse.nixos.org/t/infrastructure-announcement-the-future-of-ofborg-your-help-needed/56025?u=infinisil
[2]: https://github.com/NixOS/nixpkgs/pull/352808
[3]: https://github.com/NixOS/nixpkgs/pull/269403

Co-Authored-By: Jörg Thalheim <joerg@thalheim.io>
Co-Authored-By: Adam Joseph <adam@westernsemico.com>
2024-11-20 10:35:56 +01:00
Emily 4c81eb7651 lib/systems: use a shell script for native emulator
This avoids pulling in all of `execline`’s closure.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2024-11-19 15:43:55 +00:00
Johannes Kirschbauer b978799f71
lib.types.defaultTypeMerge: refactor functor.{payload,wrapped} merging 2024-11-19 08:58:38 +01:00
Emily 0f9067f865 darwin: set the minimum version to macOS 11.3 2024-11-18 00:05:22 +00:00
jopejoe1 18d463bbd5
lib/licenses: add missing spdxId and remove urls from licenses that have a spdxId (#340360) 2024-11-15 10:33:31 +01:00
Tristan Ross 90fcf3aa7e
25.05 is Warbler 2024-11-14 09:10:54 -08:00
github-actions[bot] b3a71c7e0d
Merge master into staging-next 2024-11-13 18:04:17 +00:00
qbisi 8487e692fd lib/licenses: add bsd3Lbnl 2024-11-13 01:16:30 +08:00
chn d954930a4f stdenv: add Silvermont support, remove incorrect AES support 2024-11-11 12:29:55 +08:00
github-actions[bot] 24e5e7f5fc
Merge master into staging-next 2024-11-10 06:04:29 +00:00
Winter f0000fe56d
lib/minver: bump to 2.3.17 (#354586) 2024-11-09 21:32:02 -05:00
github-actions[bot] f3327c0d2a
Merge master into staging-next 2024-11-09 00:13:55 +00:00
Valentin Gagarin 317f7f1a4c docs: make sample code valid Nix expressions 2024-11-08 22:38:34 +01:00
Martin Weinelt 086bfa2385
lib/minver: bump to 2.3.17
The first version that supports zstd compression, to create the option
to eventually switch compression for the binary cache.

It was released one year ago on 2023-11-03 and first shipped in NixOS
23.11.
2024-11-08 22:23:29 +01:00
K900 a3600c0788 Merge remote-tracking branch 'origin/master' into staging-next 2024-11-07 21:06:37 +03:00
seth b5bf8e3fc7
lib.systems.examples: add aarch64-w64-mingw32 2024-11-06 17:22:52 -05:00
seth 205faabfeb
lib.systems.doubles: add aarch64-windows double 2024-11-06 17:22:52 -05:00
jopejoe1 568bb8c275 lib/licenses: remove urls from licenses that have a spdxId
if the licenses have a spdxId the url get auto-generated from it.
2024-11-06 22:33:03 +01:00
jopejoe1 bafae5bf43 lib/licenses: set spdx for Ubuntu font license 2024-11-06 22:31:55 +01:00
github-actions[bot] 7bea7cacca
Merge staging-next into staging 2024-11-04 18:04:50 +00:00
Florian Brandes 8f55121f7f
lib/licenses.nix: add tost
this adds the license for OpenUSD which is explained
here https://forum.aousd.org/t/upcoming-openusd-license-update/1561

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2024-11-04 06:09:37 +01:00
Wolfgang Walther 3c21a5c9d6
lib/systems: elaborate properly with non-matching system / config / parsed args
When elaborating a system with both "config" and "system" arguments
given, they might not match the parsed results.  Example:

elaborate {
  config = "i686-unknown-linux-gnu";
  system = "x86_64-linux";
}

This would result in a parsed system for i686, because the config
argument is preferred.  But since "// args //" comes after system has
been inferred from parsed, it is overwritten again.  This results in
config and parsed all pointing to i686, while system still tells the
story of x86_64.

Inconsistent arguments can also be given when passing "parsed" directly.
This happened in stage.nix for the various package sets.

The solution is simple: One of the three arguments needs to be treated
as the ultimate source of truth.  "system" can already be losslessly
extracted from "parsed".  However, "config" currently can not, for
example for various -mingw32 cases.  Thus everything must be derived
from "config".

To do so, "system" and "parsed" arguments are made non-overrideable for
systems.elaborate.  This means, that "system" will be used to parse when
"config" is not given - and "parsed" will be ignored entirely.

The systemToAttrs helper is exposed on lib.systems, because it's useful
to deal with top-level localSystem / crossSystem arguments elsewhere.
2024-11-03 17:38:19 +01:00
github-actions[bot] 5605fc7044
Merge staging-next into staging 2024-11-02 00:14:22 +00:00
Emily 2d6cb731db
lib/licenses: mark watcom as non‐Free (#352608) 2024-11-01 23:19:09 +00:00
github-actions[bot] e4e28b07ad
Merge staging-next into staging 2024-11-01 12:06:22 +00:00
Silvan Mosberger 5690833b4f
lib: improve filterAttrs (#345547) 2024-11-01 11:54:20 +01:00
Robert Hensing 1de8e07216 lib: refactor filterAttrs
`filter` is a primop which is designed for this task, and it saves
the allocation of some singleton lists here.
2024-10-31 16:30:07 +01:00
Emily f465662a11 lib/licenses: mark watcom as non‐Free 2024-10-31 14:38:09 +00:00
github-actions[bot] 835a356a66
Merge staging-next into staging 2024-10-28 00:15:41 +00:00
h7x4 cabfffd882
fcitx5-mozc: 2.26.4220.102 -> 2.30.5544.102 (#346680) 2024-10-27 13:23:35 +01:00
h7x4 83e1488c6d
lib/tests: test filterAttrs 2024-10-25 15:08:15 +02:00
h7x4 c7c30eb452
lib: improve filterAttrs
Co-authored-by: Silvan Mosberger <contact@infinisil.com>
2024-10-25 15:07:12 +02:00
Martin Weinelt fa3075a22d
lib/licenses: introduce MIT-CMU license 2024-10-24 17:59:07 +02:00
Johannes Kirschbauer ad7b2f3438
lib/types: make pattern of strMatching accessible 2024-10-23 11:02:39 +02:00
Silvan Mosberger c5cea342ce
lib.oldestSupportedReleaseIsAtLeast: rename from bad name (#347258) 2024-10-09 02:20:39 +02:00
Jörg Thalheim 8885a1e21a lib/systems/architectures: add sapphirerapids/emeraldrapids
For reference: https://en.wikichip.org/wiki/intel/microarchitectures/sapphire_rapids

https://www.phoronix.com/news/GCC-13-Initial-Emerald-Rapids
https://www.phoronix.com/news/LLVM-Adds-Intel-Emerald-Rapids
2024-10-08 14:19:23 +02:00
Robert Hensing 729225e355 treewide: lib.isInOldestRelease -> lib.oldestSupportedReleaseIsAtLeast 2024-10-08 11:14:24 +02:00
Robert Hensing c2b411e674 lib.oldestSupportedReleaseIsAtLeast: rename from bad name and deprecate after 24.11
It seems impossible to describe this condition more concisely without making
it incomprehensible.
2024-10-08 11:04:29 +02:00
h7x4 fc6eb553aa
lib/licenses.nix: misc fixes (#345813) 2024-10-06 22:42:29 +02:00
Felix Stupp f35a61d8a6
lib.modules: fix test line using empty "$@"
Probably a missed left over from somewhere in
the commit 58f385f680.
As can be seen in that commit where this line was introduced,
"$@" was also just emptied by the last `set` call in line 169.
This line is currently valid, but breaks suddenly when somewhere earlier
a `set --` instruction is used in the future.
Neither in commit 58f385f680
nor in PR https://github.com/NixOS/nixpkgs/pull/197547
have I found anything stating that this "defect" was intentional.
2024-10-05 14:14:01 +00:00
musjj 08278f16f8 licenses: add naist-2003 2024-10-05 20:11:25 +07:00
Zitrone 0d64d6c0d8
lib.licenses.purdueBsd: fix typo in fullName and comment 2024-10-02 02:42:54 +02:00
Zitrone 257993f3f4
lib/licenses.nix: remove outdated comment 2024-10-02 02:42:54 +02:00
Zitrone 61d3c038d6
lib.licenses.iasl: correct fullName 2024-10-02 02:42:54 +02:00
Zhaofeng Li b8c1ef98e4 nixos/binfmt: Add option to use static emulators when available
The fixBinary flag will be enabled if a static emulator is in use.
2024-10-01 15:05:32 +09:00
Julius Michaelis 4658a06076 lib/systems: use qemu-user package instead of custom definition 2024-10-01 15:05:32 +09:00
Silvan Mosberger eba78e46b7
lib/modules: Improve error when loading a flake as a module (#344688) 2024-10-01 02:12:58 +02:00
oxalica a9fe4d6d8c lib.systems: fix rustTarget for WASI
The corresponding Rust target name is "wasm32-wasip?", not
"wasm32-unknown-wasi".
2024-09-30 23:34:40 +02:00
Artturin aed1142d79 lib.systems.examples: Fix deprecated attr
`For android 'sdkVer' has been renamed to 'androidSdkVersion'`

While doing the above rename I forgot to consider if there were still
darwin platforms in `lib.systems.examples` using `sdkVer`

These still fail eval, but that happened before the renaming too.

`error: Unsupported sdk: 14.3`
2024-09-30 18:14:21 +03:00
Connor Baker ed96506b5d
Color transformation language init (#338697) 2024-09-27 08:39:10 -07:00
Robert Hensing 65eea03839 lib/modules: Improve error when loading a flake as a module 2024-09-26 18:31:39 +02:00
Artturin e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Robert Hensing d572d95502
lib.types.anything: remove custom logic for lists (#340202) 2024-09-18 17:08:15 +02:00
nicoo 45b95421fd
lib.fetchers: add hash-normalization helpers (#342072) 2024-09-17 14:59:43 +00:00
nicoo 09eb3c64e8 lib.fetchers.normalizeHash: more implementation comment and clearer variable names 2024-09-17 14:48:44 +00:00
nicoo 0aa5242829 lib.fetchers: add tests 2024-09-17 10:51:48 +00:00
nicoo 4c991b74d3 lib.fetchers.normalizeHash: replace "" with lib.fake* 2024-09-17 10:51:47 +00:00
nicoo 4e59b77c70 lib.fetchers: factor-out definitions common to normalizeHash and withNormalizedHash 2024-09-17 08:31:50 +00:00
nicoo 8376e18291 lib.fetchers: replace with-bindings with explicit let inherit 2024-09-17 08:31:50 +00:00
nicoo f470dc703c lib.fetchers: optimize normalizeHash and withNormalizedHash via min-scoping 2024-09-17 08:31:42 +00:00
nicoo 39446161fc lib.fetchers.withNormalizedHash: handle fetchers whose hash parameter is optional 2024-09-17 08:31:28 +00:00
nicoo ac177dff93 lib.fetchers: add normalizeHash and withNormalizedHash 2024-09-17 06:33:43 +00:00
Yueh-Shun Li 53a24f4a7c lib.fixedPoints.toExtension: improve documentation
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-09-14 20:56:49 +08:00
Robert Hensing 2937899bef lib.fixedPoints.toExtension: Improve type
This makes the type more informative and general - closer to how the function behaves, particularly in isolation.

Co-authored-by: Yueh-Shun Li <shamrocklee@posteo.net>
2024-09-14 20:56:49 +08:00
Yueh-Shun Li 11c20cd390 lib.toExtension: init
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-09-14 20:56:47 +08:00
Yueh-Shun Li 6749b1c4bc lib/tests/misc.nix: move testFix into new category FIXED-POINTS 2024-09-14 20:54:10 +08:00
Robert Hensing b4292c4370
doc: lib.composeExtensions reference to overlays (#325479) 2024-09-13 11:39:24 +02:00
Johannes Kirschbauer b8c8cbbbdf
Apply suggestions from code review
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2024-09-11 17:01:31 +02:00
Mica Semrick 13995fbc68 aces-container: init at 1.0.2 2024-09-10 18:55:07 -07:00
HexoKnight cf5a46368b
lib/types: fix toCoerced's typeMerge 2024-09-10 22:45:27 +01:00
github-actions[bot] 92d531057e
Merge master into staging-next 2024-09-09 06:05:06 +00:00
Aleksana 59c3aa2d4d
_1fps: init at 0.1.10 (#333281) 2024-09-09 09:29:08 +08:00
renesat 68457546c3
licenses: add FSL-1.1-Apache-2.0 2024-09-08 12:23:28 +02:00
Alexis Destrez e5e69b748f lib.types.anything: remove custom logic for lists (default to 'mergeEqualOption')
Previously, for values of type list, the merge function would only retain the value
if the number of option definitions was less than or equal to 1, and would throw an
error for conflicting definitions to avoid potentially unwanted list merges.

This change removes that logic, defaulting to the 'mergeEqualOption' function for
values of type list. This approach maintains the same safeguard against merging
different lists while allowing lists with identical values to be merged.
2024-09-07 01:15:32 +02:00
K900 23b4832da0 Merge remote-tracking branch 'origin/master' into staging-next 2024-09-04 08:53:48 +03:00
Sandro b93376a728
databricks-cli: Init at 0.227.0 (#332946) 2024-09-03 21:20:11 +02:00
github-actions[bot] a07f612219
Merge master into staging-next 2024-09-03 00:13:11 +00:00
github-actions[bot] ce19166255
Merge master into staging-next 2024-09-02 18:04:19 +00:00
adisbladis 8a20781579 lib.strings.trimWith: Refactor scoping
I wanted to use this instead of [my ownimplementation](https://github.com/nix-community/pyproject.nix/blob/65d4134/lib/util.nix#L18-L23) and got a small performance regression.
2024-09-03 01:15:51 +12:00
Alyssa Ross 4b6c89a670 lib.systems: add rustTarget for riscv32
Fixes buildPackages.rustc when cross compiling to riscv32.
2024-09-02 15:15:37 +02:00
github-actions[bot] 4aa8416117
Merge master into staging-next 2024-09-02 12:05:34 +00:00
Robert Hensing 92f4ef78de
lib/modules: improve error message when option is being accessed that isn't defined (#338362) 2024-09-02 10:08:49 +02:00
Sandro Jäckel ab8bf8c35b
lib/modules: improve error message when option is being accessed that isn't defined 2024-09-01 23:29:21 +02:00
github-actions[bot] f20de6f5f1
Merge staging-next into staging 2024-08-31 18:04:19 +00:00
Alyssa Ross ccf84022b6 lib.platforms.aarch: init 2024-08-31 14:41:25 +02:00
github-actions[bot] c33b70bb75
Merge staging-next into staging 2024-08-31 12:05:08 +00:00
Vladimír Čunát 36a13f9f21
staging-next 2024-08-23 (#336718) 2024-08-31 11:49:12 +02:00
Alyssa Ross d4a72a3935 lib.platforms.mesaPlatforms: remove
Mesa is a package like any other.  There's no reason for it to be a
special case with its platforms listed in lib, because if other
packages want to refer to mesa's platforms, they can access the
platforms from the package meta like they would for any other package.
2024-08-31 10:28:31 +02:00
github-actions[bot] fab50d5f8d
Merge staging-next into staging 2024-08-31 00:13:46 +00:00
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