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
Silvan Mosberger
7a0b5c36c9
lib.lists.foldl': Remove fallback
...
Nix 2.3, the minimum Nix version supported by Nixpkgs, has
`builtins.foldl'` already.
2023-09-26 18:55:54 +02:00
FavoritoHJS
5d5c872bdf
licenses: add Fraunhofer FDK AAC Codec Library
...
This license is used by the Fraunhofer FDK codec, which is currently
mislicensed to Apache 2.0.
Of course, this can't be corrected without having the proper license
available in lib.licenses can't it??
Thanks @trofi for noticing this has an SPDX ID.
2023-09-26 16:00:44 +00:00
Ratchanan Srirattanamet
20b83a46d6
netdata: disable installation of non-free v2 dashboard
...
The v2 dashboard (included since version 1.41.0) is licensed under
Netdata Cloud UI License v1.0, which is a non-free license.
Patch the source code so that the v2 is not included in the source
and the result derivation. Users that want the v2 dashboard can still
request it by overriding this derivation and pass `withCloudUi = true`.
Co-authored-by: Raito Bezarius <masterancpp@gmail.com>
Fixes: https://github.com/NixOS/nixpkgs/issues/256964
2023-09-24 21:51:09 +00:00
Artturi
6f300706ef
Merge pull request #247077 from jmbaur/aarch64-embedded-rustc
2023-09-23 06:30:47 +03:00
Weijia Wang
9a1a55c2c3
licenses: fix full name of inria-icesl
2023-09-21 16:30:58 +00:00
Robert Hensing
5c97f01a9d
Merge pull request #255025 from tweag/fileset.union
...
`lib.fileset.union`, `lib.fileset.unions`: init
2023-09-21 11:49:57 +02:00
Niols
702f067ff0
licenses: add OCaml LGPL Linking Exception
2023-09-21 10:57:54 +02:00
Artturi
aeaa0a7be9
Merge pull request #247288 from amjoseph-nixpkgs/pr/lib/systems/qemu-mips64n32
2023-09-21 03:06:24 +03:00
Silvan Mosberger
94e103ee3f
lib.fileset: Minor changes from feedback
...
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-09-21 00:21:02 +02:00
Silvan Mosberger
fe6c1539cc
lib.fileset: Internal representation v2, ~12x faster unions!
...
$ ./benchmark.sh HEAD
[...]
Mean CPU time 0.04006 (σ = 0.0040146) for 10 runs is 8.193619775953792% (σ = 0.9584251052704821%) of the old value 0.488917 (σ = 0.0294955)
[...]
2023-09-21 00:21:02 +02:00
Silvan Mosberger
45bf2c7617
lib.fileset: Ignore irrelevant shellcheck warnings
2023-09-21 00:21:01 +02:00
Silvan Mosberger
e05cf47184
lib.fileset: Use a nix-shell shebang for benchmark.sh
2023-09-21 00:21:01 +02:00
Silvan Mosberger
c9c9c093cf
lib.fileset: Have benchmark.sh measure the time
2023-09-21 00:21:01 +02:00
Silvan Mosberger
c8bac6ea0f
lib.fileset: Add benchmark for unions
2023-09-21 00:21:01 +02:00
Silvan Mosberger
631ad21692
lib.fileset: More reusable benchmark code
2023-09-21 00:21:01 +02:00
Silvan Mosberger
7ab764e575
lib.fileset.unions: Don't stack overflow for many files
2023-09-21 00:21:01 +02:00
Silvan Mosberger
e04e40d05e
lib.fileset: Optimise tests
...
Previously a lot of processes were used, slowing it down considerably
the more files were tested
2023-09-21 00:21:01 +02:00
Silvan Mosberger
c5ae093f13
lib.fileset: Various updates relating to union/unions
...
Also some minor formatting improvements
2023-09-21 00:21:01 +02:00
Silvan Mosberger
f78d65067f
lib.fileset: Create tests for union and unions
2023-09-21 00:21:01 +02:00
Silvan Mosberger
bd52895222
lib.fileset.unions: init
2023-09-21 00:20:58 +02:00
Silvan Mosberger
d866a0bda1
lib.fileset.union: init
2023-09-21 00:19:48 +02:00