| Commit message (Collapse) | Author | Age |
|\
| |
| | |
lib.path.subpath.{isValid,normalise}: init
|
| | |
|
| | |
|
| |
| |
| |
| | |
The first path library function
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds initial work towards a `lib.path` library
Originally proposed in https://github.com/NixOS/nixpkgs/pull/200718, but has
since gone through some revisions
Co-Authored-By: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I've run into a few packages that need an extra flag on platforms
where `int` has more bits than `void*` does. I know of three such
platforms:
* [aarch64ilp32], used on both Linux and also on the [Apple Watch]
* [x32], the x86 ILP32 ABI
* [mips64n32], used on [Longsoon] and Cavium Octeon routers.
This PR introduces a predicate so the package flags can be added in
a generic way.
[Apple Watch]: https://gist.github.com/woachk/943828f37c14563a607a26116435bf27#watch
[mips64n32]: https://en.wikipedia.org/wiki/MIPS_architecture#Calling_conventions
[Longsoon]: https://en.wikipedia.org/wiki/Loongson
[x32]: https://en.wikipedia.org/wiki/X32_ABI
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cross-compilation of anything downstream of gtk3 requires qemu (due to
gobject-introspection) with --target-list=*-linux-user. Without this commit,
those qemu builds will fail on a powerpc64le host due to qemu being configured
with --cpu=powerpc64le instead of --cpu=ppc64le. Unfortunately the build
failure message from qemu in this situation is extremely cryptic.
The root cause turns out not to be the qemu expression, but rather the fact that
on powerpc64le hostPlatform.uname.processor returns the gnu-name (powerpc64le)
for the cpu instead of the linux-name (ppc64le) for the cpu.
uname.processor on mips64el also needs adjustment -- the Linux-name is "mips64"
for both big and little endian (unlike powerpc64, where the Linux-name includes
a "le" suffix):
```
nix@oak:/tmp$ uname -m; lscpu | head -n2
mips64
Architecture: mips64
Byte Order: Little Endian
```
uname.processor on powerpc32 has also been adjusted.
|
| | |
|
| |
| |
| |
| |
| | |
Use a wrapper around `mergeDefinitions` to type-check values deeply, so
that e.g. `maintainers = [ 42 ];` is an error.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new derivation should evaluate only if the old derivation does.
Sadly this means that the old derivation cannot depend on the new one
any more, which was used by xorgserver on Darwin. But this is not a
problem as `overrideAttrs` can (and should) usually be used instead.
This change allowed catching an invalid `meta.platforms` in the linux_rpi
kernels, which use `overrideDerivation`.
|
| | |
|
| |
| |
| |
| |
| |
| | |
In the current implementation of Nix, this list would be allocated
over and over. Iirc pennae tried to optimize static list allocation,
but gained no significant performance improvement.
|
| |
| |
| |
| |
| | |
Available since Nix 2.3, which is the Nixpkgs minimum version.
Thanks zimbatm!
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Yes, this function name is inconveniently long, but it is important
for the name to explicitly reference the function and not be mistaken
for the implicit string conversions, which only happen for a smaller
set of values.
|
| | |
|
| | |
|
| |
| |
| |
| | |
No change in behavior.
|
| | |
|
| |
| |
| |
| | |
Expecting no change in behavior.
|
| |
| |
| |
| | |
Expecting no change in behavior.
|
| |
| |
| |
| | |
Expecting no change in behavior.
|
| | |
|
|\ \
| | |
| | | |
ulogd: init at 2.0.8
|
| | |
| | |
| | |
| | |
| | |
| | | |
Heavily based on original work by xvuko
Co-authored-by: xvuko <nix@vuko.pl>
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
This reverts commit c8c538f2ab2432f2dd1eb637657c1bf5b54a147f.
Reason: removal did not follow a deprecation process and it hurts
nixops 1.7 users.
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Pad a version string with zeros to match a given number of components.
|
|\ \ \ |
|
| | | | |
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | | |
garamond-libre: init at 1.4
|
| | |/
| |/| |
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
hercules-ci/lib-modules-doc-default-and-example-error-context
lib.modules: Add error context to rendered default and example attrs
|
| | | |
|
| | | |
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
replaceStrings has been in nix since 2015(nix 1.10)
so it is safe to remove the fallback
https://github.com/nixos/nix/commit/d6d5885c1567454754a0d260521bafa0bd5e7fdb
|
|\ \
| |/
|/|
| |
| | |
h7x4/lib-strings-toInt-broken-for-negative-numbers
lib.strings: fix negative number handling for `toInt` and `toIntBase10`
|
| |
| |
| |
| |
| | |
The previous version would be unstable due to an input validation regex
not expecting a '-' in front of the number.
|
|\ \
| | |
| | | |
doc: auto-generate asserts and attrset library docs
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If all the docs are auto-generated, it should be easier to convert
them to Commonmark.
Co-Authored-By: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-Authored-By: Silvan Mosberger <contact@infinisil.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Render un`_type`d defaults and examples as `literalExpression`s using
`lib.generators.toPretty` so that consumers don't have to reinvent Nix
pretty-printing. `renderOptionValue` is kept internal for now intentionally.
Make `toPretty` print floats as valid Nix values (without a tilde).
Get rid of the now-obsolete `substSpecial` function.
Move towards disallowing evaluation of packages in the manual by
raising a warning on `pkgs.foo.{outPath,drvPath}`; later, this should
throw an error. Instead, module authors should use `literalExpression`
and `mkPackageOption`.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the goal of making `toPretty` suitable for rendering option
values, render derivations as `<derivation foo-1.0>` instead of
`<derivation /nix/store/…-foo-1.0.drv>`.
This is to avoid causing sudden evaluation errors for out-of-tree
projects that have options with `default = pkgs.someUnfreePackage;` and
no `defaultText`.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There's no need to use `unsafeDiscardStringContext` since
https://github.com/NixOS/nix/commit/ee7fe64c0ac00f2be11604a2a6509eb86dc19f0a
(Nix 1.8).
Also the separator can't have a context since `builtins.split` would fail, so
we can assume it doesn't.
|