about summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
...
| * | | | Merge pull request #261732 from tweag/fileset.fromSourceRobert Hensing2023-11-10
| |\ \ \ \ | | |_|_|/ | |/| | | `lib.fileset.fromSource`: init
| | * | | lib.fileset.toSource: Mention fromSource in errorsSilvan Mosberger2023-11-08
| | | | |
| | * | | lib.fileset.fromSource: initSilvan Mosberger2023-11-08
| | | | |
| | * | | lib.fileset: Split out internal test helperSilvan Mosberger2023-11-08
| | | | |
* | | | | Merge staging-next into staginggithub-actions[bot]2023-11-10
|\| | | |
| * | | | Merge pull request #266349 from tweag/fileset/cleanupsSilvan Mosberger2023-11-09
| |\ \ \ \ | | | | | | | | | | | | Minor `lib.fileset` cleanups
| | * | | | lib.fileset: Remove unused bindingsSilvan Mosberger2023-11-09
| | | | | | | | | | | | | | | | | | | | | | | | Thanks nixd!
| | * | | | lib.fileset: Make error messages more uniformSilvan Mosberger2023-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | | lib.fileset: Remove nixdoc workaroundSilvan Mosberger2023-11-08
| | | |_|/ | | |/| | | | | | | | | | | | 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
| * / | | lib: add asserts.assertEachOneOfProfpatsch2023-11-09
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* / / / lib.systems: elaborate Rust metadataAlyssa Ross2023-11-09
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | lib.licenses: nvidia*: add shortName-sSomeone Serge2023-11-08
| | |
* | | cudaPackages: redist components: per-package license urlSomeone Serge2023-11-08
| | |
* | | lib.licenses: nvidia*: use same fullNames as conda doesSomeone Serge2023-11-08
| | |
* | | cudnn_cudatoolkit: add NVIDIA licenseTyler Benster2023-11-08
| | |
* | | lib.licenses: add NVIDIA licensesTyler Benster2023-11-08
| | |
* | | Merge pull request #261676 from h7x4/lib-add-replicatestringSilvan Mosberger2023-11-07
|\ \ \ | |_|/ |/| | lib.strings: add `replicate`
| * | lib.strings: add `replicate`h7x42023-10-31
| | | | | | | | | | | | | | | | | | | | | `strings.replicate` returns n copies of a string, concatenated into a new string Co-authored-by: Silvan Mosberger <github@infinisil.com>
* | | lib.systems.inspect: add patternLogicalAndAdam Joseph2023-11-05
| | |
* | | Merge pull request #265045 from Artturin/addcomment1Artturi2023-11-04
|\ \ \
| * | | lib.makeScopeWithSplicing': add commentsArtturin2023-11-02
| | | | | | | | | | | | | | | | I didn't add these arguments, so these comments are from my understading of the arguments.
* | | | lib.systems, test.cross.sanity: add test case for #264989Adam Joseph2023-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #264892 from tweag/fileset-store-path-rationaleSilvan Mosberger2023-11-02
|\ \ \ \ | | | | | | | | | | lib.fileset: Add an additional argument in the design docs
| * | | | lib.fileset: Add an additional argument in the design docsSilvan Mosberger2023-11-01
| | | | |
* | | | | Merge pull request #264860 from tweag/filesystem-error-testEelco Dolstra2023-11-01
|\ \ \ \ \ | |/ / / / |/| | | | lib.filesystem: Don't test Nix-specific error messages
| * | | | lib.filesystem: Don't test Nix-specific error messagesSilvan Mosberger2023-11-01
| | | | | | | | | | | | | | | | | | | | | | | | | In https://github.com/NixOS/nix/pull/9269 the error messages change which would've broken this test.
* | | | | Merge pull request #259065 from tweag/fileset.differenceSilvan Mosberger2023-11-01
|\ \ \ \ \ | |/ / / / |/| | | | `lib.fileset.difference`: init
| * | | | lib.fileset.difference: initSilvan Mosberger2023-10-30
| | | | |
* | | | | lib/fixed-points.nix: correct typoAlexander Groleau2023-10-31
| | | | | | | | | | | | | | | Corrects a minor typo in the description of `fix`; namely that `fix` allows factoring out syntactic recursion from another function.
* | | | | Merge pull request #260971 from Gerg-L/getExeSilvan Mosberger2023-10-31
|\ \ \ \ \ | | | | | | | | | | | | lib.getExe': check arguments
| * | | | | lib/tests: add tests for getExe' and getExeGerg-L2023-10-16
| | | | | |
| * | | | | lib.getExe': check argumentsGerg-L2023-10-16
| | |_|/ / | |/| | |
* | | | | Merge pull request #263478 from tweag/fileset/unknown-type-errorRobert Hensing2023-10-30
|\ \ \ \ \ | |_|_|/ / |/| | | | `lib.fileset.toSource`: Improve error for unknown file types
| * | | | lib.fileset.toSource: Optimise unknown file type errorSilvan Mosberger2023-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | Compared to the parent commit, this removes any detectable performance cost :)
| * | | | lib.fileset.toSource: Improve error for unknown file typesSilvan Mosberger2023-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | lib.fileset.toSource: Test with unknown file typeSilvan Mosberger2023-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | | | lib.fileset: Fix shellcheck warnings in testsSilvan Mosberger2023-10-26
| | |/ / | |/| |
* | | | Merge pull request #262838 from amjoseph-nixpkgs/pr/lib/systems/abi-suffixJohn Ericson2023-10-25
|\ \ \ \ | |/ / / |/| | | lib/systems/parse.nix: add removeAbiSuffix, use it
| * | | lib/systems/parse.nix: add, use removeAbiSuffixAdam Joseph2023-10-22
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #260265 from tweag/fileset.fileFilterRobert Hensing2023-10-24
|\ \ \ | | | | | | | | `lib.fileset.fileFilter`: init
| * | | lib.fileset.fileFilter: initSilvan Mosberger2023-10-24
| |/ /
* | | lib.overrideDerivation: inter-link the documentationYueh-Shun Li2023-10-21
| | | | | | | | | | | | Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
* | | doc: lib.customization: add Type and Example tagsYueh-Shun Li2023-10-21
|/ / | | | | | | | | | | Add the "Type:" blocks. Move the examples below the descriptions whenever possibles Add "Example:" tags before the examples moved below the descriptions.
* | Merge pull request #258866 from schuelermine/mkPackageOptionV4Silvan Mosberger2023-10-16
|\ \ | | | | | | lib/options: mkPackageOption: document better, add pkgsText and usePname options, refactor
| * | lib/options: refactor mkPackageOptionAnselm Schüler2023-10-10
| | |
| * | lib/tests: add test for pkgsText parameter and package set selection of ↵Anselm Schüler2023-10-10
| | | | | | | | | | | | mkPackageOption
| * | lib/options: add pkgsText parameter to mkPackageOptionAnselm Schüler2023-10-06
| | |
| * | lib/tests: add more tests for mkPackageOptionAnselm Schüler2023-10-06
| | |
| * | lib/options: correct and improve documentation of mkPackageOptionAnselm Schüler2023-10-06
| | |
* | | lib.fileset: Improved error for unsupported coercion valuesSilvan Mosberger2023-10-16
| |/ |/|