DS
e93a3d7b58
doc: separate commit header conventions for each area, info on docs changes.
2023-11-13 20:41:08 -08:00
Silvan Mosberger
7eddbf5690
Merge pull request #265710 from ShamrockLee/lib-copy-function-args
...
lib.mirrorFunctionArgs: init
2023-11-14 05:33:40 +01:00
Silvan Mosberger
9ec104bb2d
lib.fileset: Very minor changes
2023-11-13 23:57:52 +01:00
github-actions[bot]
9776723357
Merge master into staging-next
2023-11-11 18:00:58 +00:00
Anthony Roussel
e30f48be94
treewide: fix redirected and broken URLs
...
Using the script in maintainers/scripts/update-redirected-urls.sh
2023-11-11 10:49:01 +01:00
github-actions[bot]
5f5513224f
Merge staging-next into staging
2023-11-11 00:02:47 +00:00
Robert Hensing
cfd83c931f
Merge pull request #261732 from tweag/fileset.fromSource
...
`lib.fileset.fromSource`: init
2023-11-10 20:32:51 +01:00
github-actions[bot]
ff59322b65
Merge staging-next into staging
2023-11-10 00:02:49 +00:00
Silvan Mosberger
187c04f19c
Merge pull request #266349 from tweag/fileset/cleanups
...
Minor `lib.fileset` cleanups
2023-11-09 19:58:16 +01:00
Profpatsch
2099ebdf59
lib: add asserts.assertEachOneOf
...
Along the lines of `assertOneOf`, but expects a list of values to be
compared. This gives a good error message and is useful for lists of
values, like `supportedGhcVersions` in the arguments of
`haskell-language-server`.
2023-11-09 17:27:20 +01:00
Alyssa Ross
e3e57b8f18
lib.systems: elaborate Rust metadata
...
We need this stuff to be available in lib so make-derivation.nix can
access it to construct the Meson cross file.
This has a couple of other advantages:
- It makes Rust less special. Now figuring out what Rust calls a
platform is the same as figuring out what Linux or QEMU call it.
- We can unify the schema used to define Rust targets, and the schema
used to access those values later. Just like you can set "config"
or "system" in a platform definition, and then access those same
keys on the elaborated platform, you can now set "rustcTarget" in
your crossSystem, and then access "stdenv.hostPlatform.rustcTarget"
in your code.
"rustcTarget", "rustcTargetSpec", "cargoShortTarget", and
"cargoEnvVarTarget" have the "rustc" and "cargo" prefixes because
these are not exposed to code by the compiler, and are not
standardized. The arch/os/etc. variables are all named to match the
forms in the Rust target spec JSON.
The new rust.target-family only takes a list, since we don't need to
worry about backwards compatibility when that name is used.
The old APIs are all still functional with no warning for now, so that
it's possible for external code to use a single API on both 23.05 and
23.11. We can introduce the warnings once 23.05 is EOL, and make them
hard errors when 23.11 is EOL.
2023-11-09 10:02:24 +01:00
Silvan Mosberger
9cbd394aa0
lib.fileset: Remove unused bindings
...
Thanks nixd!
2023-11-09 00:02:43 +01:00
Silvan Mosberger
0ace383438
lib.fileset: Make error messages more uniform
...
Just minor changes like:
- Always using "X is a Y, but it should be Z"
- "X is a path that does not exist" rather than "X does not exist"
- Always using multi-line strings for errors
- Always quoting string-like values and not quoting path-like values
- But do quote filesystem roots. Even though they're paths, they might
be very small, good to have quotes to know the start/end
- Capitalise the first word
- Distinguish root vs filesystem root more
2023-11-08 23:59:04 +01:00
Silvan Mosberger
2d28e0cd10
lib.fileset: Remove nixdoc workaround
...
This problem was fixed in https://github.com/nix-community/nixdoc/pull/81 which is included in version 2.5.1, which is now used in Nixpkgs
2023-11-08 23:28:25 +01:00
Someone Serge
dd8e4b0a02
lib.licenses: nvidia*: add shortName-s
2023-11-08 19:06:44 -03:00
Someone Serge
6cd3e9ce1a
cudaPackages: redist components: per-package license url
2023-11-08 19:06:44 -03:00
Someone Serge
6c9c9ef2eb
lib.licenses: nvidia*: use same fullNames as conda does
2023-11-08 19:06:44 -03:00
Tyler Benster
75254979ac
cudnn_cudatoolkit: add NVIDIA license
2023-11-08 19:06:44 -03:00
Tyler Benster
3d1d5533f8
lib.licenses: add NVIDIA licenses
2023-11-08 19:06:44 -03:00
Silvan Mosberger
e07e80e841
lib.fileset.toSource: Mention fromSource in errors
2023-11-08 21:44:44 +01:00
Silvan Mosberger
73493584a7
lib.fileset.fromSource: init
2023-11-08 21:21:30 +01:00
Silvan Mosberger
f82a1686e6
lib.fileset: Split out internal test helper
2023-11-08 05:18:10 +01:00
Silvan Mosberger
17012aa0d2
Merge pull request #261676 from h7x4/lib-add-replicatestring
...
lib.strings: add `replicate`
2023-11-07 18:29:31 +01:00
Yueh-Shun Li
6a8b6b8f72
lib.makeOverridable: simplify function arguments preservation
...
Rename temporary variable copyArgs -> mirrorArgs.
Use lib.mirrorFunctionArgs to define `mirrorArgs`.
Apply mirrorArgs also to the returned function.
2023-11-07 01:58:48 +00:00
Yueh-Shun Li
a16319908e
lib.mirrorFunctionArgs: init
...
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2023-11-07 01:58:04 +00:00
Adam Joseph
8c0416ef36
lib.systems.inspect: add patternLogicalAnd
2023-11-05 00:55:16 +00:00
Artturi
feaa219f39
Merge pull request #265045 from Artturin/addcomment1
2023-11-04 23:00:22 +02:00
Adam Joseph
72c279f477
lib.systems, test.cross.sanity: add test case for #264989
...
We have several cross-compilation bugs that show up if
hostPlatform!=buildPlatform yet
hostPlatform.config==buildPlatform.config.
These bugs have appeared and disappeared as we've fiddled with the
definition of equality for platform objects. This commit adds a
clear-cut case where they are *not* equal and never will be, so we
can test it.
2023-11-04 05:57:34 +00:00
Silvan Mosberger
a10c122546
Merge pull request #264892 from tweag/fileset-store-path-rationale
...
lib.fileset: Add an additional argument in the design docs
2023-11-02 17:51:52 +01:00
Artturin
dd48cb0b34
lib.makeScopeWithSplicing': add comments
...
I didn't add these arguments, so these comments are from my understading of the arguments.
2023-11-02 17:47:02 +02:00
Silvan Mosberger
2312523ab3
lib.fileset: Add an additional argument in the design docs
2023-11-01 22:38:48 +01:00
Eelco Dolstra
9ec80ed610
Merge pull request #264860 from tweag/filesystem-error-test
...
lib.filesystem: Don't test Nix-specific error messages
2023-11-01 20:21:44 +01:00
Silvan Mosberger
fc28c5e5b7
Merge pull request #259065 from tweag/fileset.difference
...
`lib.fileset.difference`: init
2023-11-01 19:40:45 +01:00
Silvan Mosberger
add254658a
lib.filesystem: Don't test Nix-specific error messages
...
In https://github.com/NixOS/nix/pull/9269 the error messages change
which would've broken this test.
2023-11-01 18:56:03 +01:00
h7x4
206d20426c
lib.strings: add replicate
...
`strings.replicate` returns n copies of a string, concatenated into a new
string
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2023-10-31 20:25:41 +01:00
Alexander Groleau
b7e69faf1d
lib/fixed-points.nix: correct typo
...
Corrects a minor typo in the description of `fix`; namely that `fix` allows factoring out syntactic recursion from another function.
2023-10-31 11:45:51 -07:00
Silvan Mosberger
e55ee23bf6
Merge pull request #260971 from Gerg-L/getExe
...
lib.getExe': check arguments
2023-10-31 17:29:15 +01:00
Robert Hensing
1c92b1f03b
Merge pull request #263478 from tweag/fileset/unknown-type-error
...
`lib.fileset.toSource`: Improve error for unknown file types
2023-10-30 13:14:22 +01:00
Silvan Mosberger
50df7f9775
lib.fileset.difference: init
2023-10-30 12:51:55 +01:00
Silvan Mosberger
47c81d3286
lib.fileset.toSource: Optimise unknown file type error
...
Compared to the parent commit, this removes any detectable performance
cost :)
2023-10-30 12:48:13 +01:00
Silvan Mosberger
0f6cc8018c
lib.fileset.toSource: Improve error for unknown file types
...
This does decrease performance unfortunately
Benchmarking expression toSource { root = ./.; fileset = ./.; }
Mean CPU time 0.103747 (σ = 0.012415) for 10 runs is 97.32181384964636% (σ = 16.34179537413021%) of the old value 0.106602 (σ = 0.0125571)
Statistic .envs.elements (205920) is 105.5842% (+10891) of the old value 195029
Statistic .gc.totalBytes (20247696) is 101.7495% (+348160) of the old value 19899536
Statistic .nrThunks (134824) is 108.7878% (+10891) of the old value 123933
Statistic .symbols.number (996) is 100.1005% (+1) of the old value 995
Statistic .values.number (275238) is 104.1199% (+10891) of the old value 264347
2023-10-30 12:48:11 +01:00
Silvan Mosberger
88f736f871
lib.fileset.toSource: Test with unknown file type
...
Currently just throws the Nix error because unknown file types are not
supported by the Nix store, but nothing catches this error earlier (yet,
see next commit)
2023-10-26 01:57:22 +02:00
Silvan Mosberger
7227cb1d73
lib.fileset: Fix shellcheck warnings in tests
2023-10-26 01:51:15 +02:00
John Ericson
791c147cc2
Merge pull request #262838 from amjoseph-nixpkgs/pr/lib/systems/abi-suffix
...
lib/systems/parse.nix: add removeAbiSuffix, use it
2023-10-25 16:47:31 -04:00
Robert Hensing
185acbce7d
Merge pull request #260265 from tweag/fileset.fileFilter
...
`lib.fileset.fileFilter`: init
2023-10-24 11:29:57 +02:00
Silvan Mosberger
f4e0043049
lib.fileset.fileFilter: init
2023-10-24 01:44:04 +02:00
Adam Joseph
20b62456f0
lib/systems/parse.nix: add, use removeAbiSuffix
...
gnu-config will ignore the portion of a triple matching the regex
`e?abi.*$` when determining the validity of a triple. In other
words, `i386-linuxabichickenlips` is a valid triple.
This commit updates our parsing routines to match gnu-config.
I was recently surprised to discover that it is in fact possible to
shoehorn ABI flavors into nix doubles in a way which preserves their
property of being a (non-canonical) subset of the valid gnu-config
triples. This commit is required in order to exploit that discovery
to add automatic detection of ILP32 platforms (64-bit void*, 32-bit
int, like the Apple Watch and MIPS n32) to Nix.
2023-10-22 17:05:05 -07:00
Yueh-Shun Li
0695d3e8fe
lib.overrideDerivation: inter-link the documentation
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-10-21 16:39:12 +08:00
Yueh-Shun Li
93b8f14a2d
doc: lib.customization: add Type and Example tags
...
Add the "Type:" blocks.
Move the examples below the descriptions whenever possibles
Add "Example:" tags before the examples moved below the descriptions.
2023-10-21 16:39:12 +08:00
Gerg-L
d2161d0632
lib/tests: add tests for getExe' and getExe
2023-10-16 20:29:28 -04:00
Gerg-L
d7c49ca715
lib.getExe': check arguments
2023-10-16 18:52:56 -04:00
Silvan Mosberger
302ec1a3cf
Merge pull request #258866 from schuelermine/mkPackageOptionV4
...
lib/options: mkPackageOption: document better, add pkgsText and usePname options, refactor
2023-10-16 20:40:48 +02:00
Silvan Mosberger
7247ec07ba
lib.fileset: Improved error for unsupported coercion values
2023-10-16 15:50:10 +02:00
Robert Hensing
bb0b182cce
Merge pull request #260535 from hercules-ci/fix-functionArgs-after-makeOverridable
...
lib.makeOverridable: fix functionArgs on returned function
2023-10-13 15:54:54 +02:00
Silvan Mosberger
b597bff1b6
Merge pull request #242318 from hercules-ci/doc-lib-fix
...
lib.fix: Improve doc
2023-10-12 19:37:14 +02:00
Silvan Mosberger
b82c1c7b5c
lib.fix: Improve doc more
...
Done together in and after the docs team meeting
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
2023-10-12 17:38:00 +02:00
Robert Hensing
0a10279342
lib.makeOverridable: fix functionArgs on returned function
2023-10-11 22:56:53 +02:00
Silvan Mosberger
006b28f2a8
Merge pull request #257356 from tweag/fileset.intersect
...
`lib.fileset.intersection`: init
2023-10-11 17:33:32 +02:00
Silvan Mosberger
389be8db81
lib.fileset: Minor contributor doc adjustments
...
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
2023-10-11 16:18:00 +02:00
Silvan Mosberger
4ecf025814
lib.fileset.intersection: init
2023-10-11 16:17:48 +02:00
Silvan Mosberger
5323fbf703
Merge pull request #254452 from flyingcircusio/lib-attrsToList
...
lib.attrsets.attrsToList: add function
2023-10-10 19:49:17 +02:00
Oliver Schmidt
d70633f91c
lib.attrsets.attrsToList: add function
...
For transforming back between lists and attrsets, it makes sense to have
a quasi-inverse of `builtins.listToAttrs` available as a library
function.
Co-authored-by: Silvan Mosberger <github@infinisil.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-10-10 16:11:01 +02:00
Anselm Schüler
7e24b3619f
lib/options: refactor mkPackageOption
2023-10-10 13:14:17 +02:00
Anselm Schüler
55ab538abf
lib/tests: add test for pkgsText parameter and package set selection of mkPackageOption
2023-10-10 13:13:38 +02:00
Valentin Gagarin
61fa1255f8
link to documentation on IFD in the Nix manual
2023-10-09 23:57:03 +02:00
Anderson Torres
0de25e25b0
lib: refactor
...
- rename `(enable|with)Feature(As|)` inputs to more descriptive names
2023-10-09 17:49:02 -03:00
Anselm Schüler
f07537da75
lib/options: add pkgsText parameter to mkPackageOption
2023-10-06 14:08:50 +02:00
Anselm Schüler
d27d38c13a
lib/tests: add more tests for mkPackageOption
2023-10-06 14:08:46 +02:00
Anselm Schüler
19241f5618
lib/options: correct and improve documentation of mkPackageOption
2023-10-06 14:07:06 +02:00
mirrorwitch
7843484dc1
licenses: add Anti-Capitalist Software License v1.4
2023-10-05 19:33:49 +00:00
Silvan Mosberger
2541635c13
lib.fileset: Refactor for performance and future re-use
2023-10-04 23:21:45 +02:00
Silvan Mosberger
5db719f69c
Merge pull request #256417 from tweag/fileset.trace
...
`lib.fileset.trace`, `lib.fileset.traceVal`: init
2023-10-04 17:39:20 +02:00
Silvan Mosberger
5b4e53a300
lib.fileset: Don't use ulimit for testing tracing
2023-10-04 16:31:14 +02:00
Silvan Mosberger
692b75257e
lib.fileset: Refactor inotify testing to be reusable
2023-10-04 16:31:13 +02:00
Silvan Mosberger
5bbe67bf67
lib.fileset: Mention trace functions in the file set evaluation error
2023-10-04 16:31:13 +02:00
Silvan Mosberger
704452f29c
lib.fileset.traceVal: init
2023-10-04 16:31:11 +02:00
Silvan Mosberger
467e428f00
lib.fileset.trace: init
2023-10-04 16:30:10 +02:00
Silvan Mosberger
ac2c8d321c
lib.fileset: Make expectEqual check more
2023-10-04 16:29:03 +02:00
Silvan Mosberger
efbcf5938f
lib.fileset: Add internal helpers for pretty-printing
2023-10-04 16:28:55 +02:00
Ulrik Strid
8d301f41a1
Merge pull request #256411 from wegank/zelus-init
...
ocamlPackages.zelus{,-gtk}: init at 2.2
2023-10-04 10:30:35 +02:00
Weijia Wang
79dc25b48d
licenses: add inria-zelus
2023-10-04 08:47:08 +02:00
Silvan Mosberger
81e8f48ebd
Merge pull request #258855 from tweag/fileset.doc-fix
...
`lib.fileset.unions`: Fix outdated docs
2023-10-04 01:24:04 +02:00
Silvan Mosberger
d5743d9268
lib.fileset.unions: Fix outdated docs
...
Since 4f35f003e6
unions supports empty lists too
2023-10-03 21:56:53 +02:00
Silvan Mosberger
86802e19ce
lib.fileset: _simplifyTree -> _normaliseTreeFilter
2023-10-03 21:27:42 +02:00
Silvan Mosberger
b3c2281219
lib.fileset: Order noEval last
2023-10-03 21:27:40 +02:00
Silvan Mosberger
43e4d8a6a1
lib.fileset: Link to user documentation from contributor docs
2023-10-03 18:50:18 +02:00
Robert Hensing
812887f16f
Merge pull request #257351 from tweag/fileset.empty
...
`lib.fileset`: Representation for empty file sets without a base path
2023-10-03 18:26:09 +02:00
Robert Hensing
c0838e12af
Merge pull request #258080 from tweag/fileset/no-ulimit
...
lib.fileset: Don't use non-reproducible ulimit for stack overflow testing
2023-10-03 18:00:36 +02:00
Silvan Mosberger
4f35f003e6
lib.fileset: Internal representation v3, empty value without a base
...
`unions []` now works!
Notably the new empty value without a base is not exposed in the interface.
I don't know of any use case for it.
2023-10-03 17:05:57 +02:00
Fabian Affolter
4984613adb
Merge pull request #251812 from LeSuisse/licenses-elv2
...
lib/licenses: add Elastic License 2.0, drop Elastic License
2023-10-02 22:11:16 +02:00
Ryan Lahfa
37747348cd
Merge pull request #257143 from peat-psuwit/netdata-no-v2-dashboard
2023-10-02 21:01:36 +02:00
Vladimír Čunát
58aa673711
Merge #257338 : fdk-aac: fix the license
2023-10-01 18:57:58 +02:00
Artturi
bf25d8782b
Merge pull request #249069 from amjoseph-nixpkgs/pr/lib/systems/ubootArch
...
lib.systems: add ubootArch
2023-09-30 10:45:36 +03:00
Silvan Mosberger
3cbbea53a1
lib.fileset: Don't use non-reproducible ulimit for stack overflow testing
2023-09-29 20:30:29 +02:00
linsui
a50cea84be
lib.gvariant: make the tests really work
2023-09-28 16:30:05 +02:00
Anderson Torres
cc3383d12b
lib: add cmakeOptionType, cmakeBool and cmakeFeature
2023-09-27 20:49:38 -03:00
Silvan Mosberger
dd72ff27f7
lib.attrsets.foldlAttrs: Make stricter
...
See the parent commit for the same change to lib.lists.foldl'
2023-09-27 02:43:59 +02:00
Silvan Mosberger
3b6169f87b
lib.lists.foldl': Make strict in the initial accumulator
...
To maintain backwards compatibility, this can't be changed in the Nix language.
We can however ensure that the version Nixpkgs has the more intuitive behavior.
2023-09-27 02:43:59 +02:00
Silvan Mosberger
857a844ea8
lib.lists.foldl': Redo documentation
...
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
2023-09-27 02:43:36 +02:00
Silvan Mosberger
9893fee947
lib.lists.foldl': Add tests
2023-09-26 18:55:54 +02:00