Commit Graph

4267 Commits

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