| Commit message (Expand) | Author | Age | Files | Lines |
| * | Revert "lib.customisation: uncurry makeScopeWithSplicing" | Silvan Mosberger | 2023-07-28 | 1 | -14/+8 |
| * | lib.makeScopeWithSplicing: provide default for keep,extra•••These are often unneeded by the user.
| Artturin | 2023-07-28 | 1 | -1/+9 |
| * | lib.customisation: uncurry makeScopeWithSplicing•••Deeply-curried functions are pretty error-prone in untyped languages
like Nix. This is a particularly bad case because
`top-level/splice.nix` *also* declares a makeScopeWithSplicing, but
it takes *two fewer arguments*.
Let's switch to attrset-passing form, to provide some minimal level
of sanity-checking.
| Adam Joseph | 2023-07-27 | 1 | -8/+6 |
| * | Merge pull request #244358 from tweag/lib.path.parts•••`lib.path.splitRoot`: init | Robert Hensing | 2023-07-27 | 2 | -1/+67 |
| |\ |
|
| | * | lib.path.subpath.isValid: Add definition of a subpath•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
| Silvan Mosberger | 2023-07-26 | 1 | -0/+3 |
| | * | lib.path.splitRoot: init•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
| Silvan Mosberger | 2023-07-26 | 2 | -1/+64 |
| * | | Merge pull request #245271 from sternenseemann/module-system-merge-no-type•••lib/modules: handle typeless options in mergeModules | Robert Hensing | 2023-07-27 | 3 | -1/+29 |
| |\ \ |
|
| | * | | lib/modules: handle typeless options in mergeModules•••mkOption does not require a `type` argument and does not set the
resulting attribute if it is not given. Consequently, we need to be
prepared to merge options that have no type information.
| sternenseemann | 2023-07-26 | 3 | -1/+29 |
| * | | | Merge pull request #243520 from tweag/lib.lists.commonPrefix•••`lib.lists.{findFirstIndex,commonPrefix}`: init | Silvan Mosberger | 2023-07-26 | 2 | -29/+124 |
| |\ \ \ |
|
| | * | | | lib.lists.commonPrefix: init | Silvan Mosberger | 2023-07-20 | 2 | -1/+60 |
| | * | | | lib.lists.findFirstIndex: init•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
| Silvan Mosberger | 2023-07-19 | 2 | -28/+64 |
| * | | | | Merge pull request #244819 from ncfavier/toKeyValue-indent•••lib/generators/toKeyValue: add `indent` parameter | Naïm Favier | 2023-07-25 | 1 | -2/+3 |
| |\ \ \ \ |
|
| | * | | | | lib/generators/toKeyValue: add `indent` parameter•••toKeyValue is generic enough that it is sometimes used as part of other
format generators, where it might be useful to specify the indentation
level.
| Naïm Favier | 2023-07-22 | 1 | -2/+3 |
| * | | | | | Merge pull request #244330 from thillux/bluefield2-remove-cpu•••lib.systems.bluefield2: remove cpu profile | Adam Joseph | 2023-07-24 | 1 | -1/+0 |
| |\ \ \ \ \ |
|
| | * | | | | | lib.systems.bluefield2: remove cpu profile•••Some software, e.g. systemd, failed to build with set cpu
profile.
Signed-off-by: Markus Theil <theil.markus@gmail.com>
| Markus Theil | 2023-07-19 | 1 | -1/+0 |
| * | | | | | | Merge pull request #242035 from Icy-Thought/zsh-abbr•••zsh-abbr: init at 5.1.0 | Sandro | 2023-07-23 | 1 | -0/+7 |
| |\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
|
| | * | | | | | licenses: add Hippocratic License v3.0 | Icy-Thought | 2023-07-07 | 1 | -0/+7 |
| * | | | | | | Merge pull request #244118 from amjoseph-nixpkgs/pr/fix/244045•••lib.systems.extensions.sharedLibrary: do not `throw` | Adam Joseph | 2023-07-20 | 1 | -5/+6 |
| |\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
|
| | * | | | | | lib.systems.extensions.sharedLibrary: do not `throw`•••Because downstream code expects to use `==` on platform attrsets, we
are unfortunately not able to throw a useful error message when the
`sharedLibrary` attribute is accessed.
When users do a comparison like:
stdenv.hostPlatform == pkgsStatic.stdenv.hostPlatform
... in a situation where `stdenv.hostPlatform.hasSharedLibraries`,
they expect this to return `false`. Unfortunately Nix does a deep
equality comparison here, and ends up forcing the
`pkgsStatic.stdenv.hostPlatform.extensions.sharedLibrary` attribute,
which throws the error.
Rather than returning `null`, this commit instead simply omits the
`extensions.sharedLibrary` attribute. This provides the user with a
more-useful error message: instead of waiting until the `null` is
used (and hoping that produces an error), the user will get an error
about the `extensions.sharedLibrary` attribute being missing, at the
position where it was referenced.
Big thanks to @trofi for his PR to add
`NIX_VALIDATE_EVAL_NONDETERMINISM` to Nix, which I am now using. It
made tracking this down really easy!
Fixes #244045
| Adam Joseph | 2023-07-04 | 1 | -5/+6 |
| * | | | | | | Merge pull request #238013 from tweag/lib.path.removePrefix•••`lib.path.removePrefix`: init | Robert Hensing | 2023-07-19 | 2 | -1/+71 |
| |\ \ \ \ \ \ |
|
| | * | | | | | | lib.path.removePrefix: init | Silvan Mosberger | 2023-07-10 | 2 | -1/+71 |
| * | | | | | | | Merge pull request #244044 from tweag/lib-readme•••Create a Readme in `lib` | Robert Hensing | 2023-07-19 | 5 | -6/+107 |
| |\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | | |
|
| | * | | | | | | lib/tests: Unify documentation of individual testable files | Silvan Mosberger | 2023-07-18 | 4 | -6/+34 |
| | * | | | | | | lib: Add README•••Co-authored-by: Alexander Groleau <alex@proof.construction>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
| Silvan Mosberger | 2023-07-18 | 1 | -0/+73 |
| * | | | | | | | lib.attrsets.mergeAttrsList: init•••Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
| Silvan Mosberger | 2023-07-18 | 2 | -0/+61 |
| | |_|/ / / /
|/| | | | | |
|
| * | | | | | | lib.systems.bluefield2: init•••Add support for Nvidia's Bluefield 2 plattform as a compilation
target. There exists a version with and without crypto support,
while the crypto supported version is the most common one.
Support for the non-crypto version can be easily added in the future,
if needed.
For a datasheet of the hardware, see:
https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/documents/datasheet-nvidia-bluefield-2-dpu.pdf
Signed-off-by: Markus Theil <theil.markus@gmail.com>
| Markus Theil | 2023-07-14 | 2 | -0/+12 |
| * | | | | | | Merge pull request #238154 from amjoseph-nixpkgs/pr/gcc/crossStageStatic•••gccCrossStageStatic: enable dynamic libraries, rename it | Adam Joseph | 2023-07-12 | 1 | -1/+20 |
| |\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
|
| | * | | | | | lib.systems: introduce hasSharedLibraries•••This commit adds `hasSharedLibraries` to `lib.systems`.
We need `plat.hasSharedLibraries` in order to know whether or not to
expect `gcc` (and many other tools) to emit shared libraries (like
`libgcc_s.so`). Many of the GNU build scripts are smart enough that
if you configure them with `--enable-shared` on a platform (such as
`arm-none-eabi`) that doesn't support dynamic linking, they will
simply skip the shared libraries instead of aborting the
`configurePhase`. Unfortunately the missing shared libraries in the
final build product cause very hard-to-troubleshoot problems later
on.
The alternative to introducing `hasSharedLibraries` would be to set
`isStatic` in these situations. However doing so causes
`make-derivation.nix` to insert `-static` between the `pname` and
`hostPlatform` suffix, which is undesirable.
If at some point in the future we eliminate the `-static` suffix,
then `hasSharedLibraries` can be made equal to `!isStatic`.
| Adam Joseph | 2023-07-01 | 1 | -1/+20 |
| * | | | | | | lib.mergeModules: Add context to error message | Robert Hensing | 2023-07-11 | 2 | -2/+5 |
| * | | | | | | lib/modules.nix: Format | Robert Hensing | 2023-07-11 | 1 | -19/+28 |
| * | | | | | | lib/modules.nix: Inline single-use `subtree` bindings | Robert Hensing | 2023-07-11 | 1 | -4/+4 |
| * | | | | | | lib/modules.nix: Make entire definition list strict in config check•••This is a non-trivial refactor that slightly changes the semantics
of the internal definition lists.
Whereas previously only individual list items would trigger the exception,
now the error is promoted to the whole list.
This is mostly ok, because we compute the value, it is wrong to ignore a definition.
However, we don't always compute the value. For instance `readOnly`
only needs to count definitions. That won't be possible anymore when
the error is raised for one of the items. As a consequence, an error
will be raised for the errant definition instead of the number of
definitions.
| Robert Hensing | 2023-07-11 | 1 | -24/+21 |
| * | | | | | | lib/modules.nix: Rename defnsByName -> pushedDownDefinitionsByName | Robert Hensing | 2023-07-11 | 1 | -2/+2 |
| * | | | | | | lib/modules.nix: Rename defnsByName' -> rawDefinitionsByName | Robert Hensing | 2023-07-11 | 1 | -3/+3 |
| * | | | | | | lib/modules.nix: Apply argument `module` of old f | Robert Hensing | 2023-07-11 | 1 | -9/+9 |
| * | | | | | | lib/modules.nix: Apply argument `modules` of old old old byName | Robert Hensing | 2023-07-11 | 1 | -6/+6 |
| * | | | | | | lib/modules.nix: Apply argument `f` of old old byName | Robert Hensing | 2023-07-11 | 1 | -15/+21 |
| * | | | | | | lib/modules.nix: Apply argument `attr` of old byName | Robert Hensing | 2023-07-11 | 1 | -31/+15 |
| * | | | | | | lib/modules.nix: Inline byName•••byName is not an abstraction. This is the first commit in a series
that refactors it away.
| Robert Hensing | 2023-07-11 | 1 | -27/+43 |
| * | | | | | | doc: Render lib.fixedPoints | Robert Hensing | 2023-07-08 | 1 | -81/+115 |
| | |_|_|/ /
|/| | | | |
|
| * | | | | | Merge pull request #240825 from r-burns/mips-embedded•••lib.platforms.mips{,64}-embedded: init | Ryan Burns | 2023-07-05 | 3 | -2/+12 |
| |\ \ \ \ \ |
|
| | * | | | | | lib.platforms.mips{,64}-embedded: init | Ryan Burns | 2023-06-30 | 3 | -2/+12 |
| | | |_|_|/
| |/| | | |
|
| * | | | | | Merge pull request #241645 from ncfavier/lib-no-hashes•••lib/tests: invalidate hashes | Naïm Favier | 2023-07-05 | 2 | -6/+6 |
| |\ \ \ \ \ |
|
| | * | | | | | lib/tests: invalidate hashes•••Having the current bash hash present in the nixpkgs tree makes Nix
detect bash as a runtime dependency of nixpkgs, which in turns messes up
`fetchFromGitHub` due to https://github.com/NixOS/nix/issues/6660
| Naïm Favier | 2023-07-05 | 2 | -6/+6 |
| * | | | | | | Merge pull request #239120 from LibreCybernetics/arch-stuff | Artturi | 2023-07-05 | 1 | -11/+28 |
| |\ \ \ \ \ \ |
|
| | * | | | | | | lib.systems.architectures: add microarchitecture levels•••Variation on:
- https://github.com/NixOS/nixpkgs/pull/208398
- https://github.com/NixOS/nixpkgs/pull/224978
Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
Co-authored-by: Shawn8901 <shawn8901@googlemail.com>
Co-authored-by: AveryanAlex <alex@averyan.ru>
| Fabián Heredia Montiel | 2023-06-24 | 1 | -11/+28 |
| * | | | | | | | Merge pull request #240555 from Artturin/iniglobsecneed | Artturi | 2023-07-04 | 1 | -1/+1 |
| |\ \ \ \ \ \ \ |
|
| | * | | | | | | | lib.generators.toINIWithGlobalSection: give sections a default•••often sections aren't needed when using globalSection
currently one has to `sections = { }` when using only globalSection
```
lib.generators.toINIWithGlobalSection { } {
globalSection = {
background_color = "1d202199";
};
sections = { };
};
````
| Artturin | 2023-06-29 | 1 | -1/+1 |
| * | | | | | | | | lib/trivial: Bump oldestSupportedReleaseto to 23.05 | Martin Weinelt | 2023-07-04 | 1 | -1/+1 |
| | |_|/ / / / /
|/| | | | | | |
|
| * | | | | | | | Merge pull request #237895 from emilytrau/tart•••tart: init at 1.6.0 | Pol Dellaiera | 2023-07-02 | 1 | -0/+7 |
| |\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | | |
|