| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
* Markhor is a spiral horned animal that is on the endangered species list
* https://en.wikipedia.org/wiki/Markhor
|
|\ |
|
| |\
| | |
| | | |
lib.cleanSourceWith: Allow name to be set, optional filter, doc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change is API-compatible and hash-compatible with the previous
version.
At first I considered to write a rename function too, but adding
it name to cleanSourceWith was a no-brainer for ease of use. It
turns out that a rename function isn't any more useful than
cleanSourceWith.
To avoid having to write the identity predicate when renaming,
the filter is now optional.
builtins.path is supported since Nix 2.0 which is required by nixpkgs
|
| |/ |
|
|\| |
|
| | |
|
| |\ |
|
| | |\ |
|
| | |\ \ |
|
| | | | | |
|
| | |_|/
| |/| | |
|
| |/ / |
|
| | |
| | |
| | |
| | | |
This adds enough logic to nixpkgs to support the `js-unknown-ghcjs` triple.
|
|\ \ \
| | |/
| |/| |
|
| |\ \
| | | |
| | | | |
lib/modules: Use options `apply` function even if no values are defined
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows `apply` functions to return a valid value if they completely
ignore their argument, which is the case for the option renaming
functions like `mkAliasOptionModule`. Therefore this solves issue #63693
|
| | | | |
|
|\| | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | | |
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The main purpose is to bring attention to `flip map`, which improves
code readablity. It is useful when ad-hoc anonymous function
grows two or more lines in `map` application:
```
map (lcfg:
let port = lcfg.port;
portStr = if port != defaultPort then ":${toString port}" else "";
scheme = if cfg.enableSSL then "https" else "http";
in "${scheme}://cfg.hostName${portStr}"
) (getListen cfg);
```
Compare this to `foreach`-style:
```
foreach (getListen cfg) (lcfg:
let port = lcfg.port;
portStr = if port != defaultPort then ":${toString port}" else "";
scheme = if cfg.enableSSL then "https" else "http";
in "${scheme}://cfg.hostName${portStr}"
);
```
This is similar to Haskell's `for` (http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Traversable.html#v:for)
|
| |_|/ /
|/| | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
lib/types: Add oneOf, extension of either to a list of types
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
lib/types: change merge strategy for `str`, `int`, `float`, `path` and `enum`
|
| |/ /
| | |
| | |
| | | |
Change to `mergeEqualOption`.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`sourceByRegex src regexes` should include a source file if one of the
regular expressions `regexes` matches the path of that file relative
to `src`.
However to compute this relative path `sourceByRegex` uses:
```
relPath = lib.removePrefix (toString src + "/") (toString path);
```
Note that `toString path` evaluates to an absolute file somewhere
under `src` and not under `/nix/store`.
The problem is that this doesn't work if `src` is a `cleanSourceWith`
invocation as well because `toString src` will then evaluate to
`src.outPath` which will evaluate to `builtins.filterSource ...` which
evaluates to a path in `/nix/store` which is not a prefix of `path`.
The solution is to replace `src` with `origSrc` where
```
origSrc = if isFiltered then src.origSrc else src;
isFiltered = src ? _isLibCleanSourceWith;
```
Test this by executing the following from the nixpkgs repo:
```
(cat << 'EOI'
let
pkgs = import ./. {};
in pkgs.runCommand "test-sourceByRegex" {
test_sourceByRegex =
let
src1 = pkgs.lib.sourceByRegex ./. [ "^test-sourceByRegex.nix$" ];
src2 = pkgs.lib.sourceByRegex src1 [ "^test-sourceByRegex.nix$" ];
in src2 + "/test-sourceByRegex.nix";
} ''
cp $test_sourceByRegex $out
''
EOI
) > test-sourceByRegex.nix
nix-build test-sourceByRegex.nix
```
|
| |
| |
| |
| |
| | |
The misc.nix and systems.nix tests were invoked at three different
places. Let's not that.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit ce2f74df2cade57e74c235292c8b074281903e71.
Doubles are treated as -darwin here, to provide some consistency.
There is some ambiguity between “x86_64-darwin” and “i686-darwin”
which could refer to binaries linked between iOS simulator or real
macOS binaries. useiOSPrebuilt can be used to determine which to use,
however.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The lib tests need to be fixed as well.
This unbreaks the tarball job.
This reverts commit 00ba557856d6217121e50ea69c251e9458d9dc08.
|
| |
| |
| |
| |
| |
| | |
These are used in cross-compilation to iOS devices and simulators.
Fallout from #60349.
|
| |
| |
| |
| |
| |
| | |
* treewide: remove unused variables
* making ofborg happy
|
|\ \
| | |
| | | |
NixOS module system: improve one of error messages
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The error can be reproduced like:
```
$ nix-instantiate ./nixos -A system --arg configuration '
{ fileSystems."/".device = "nodev";
boot.loader.grub.devices = [ "nodev" ];
containers.t.config.imports = [ <nixpkgs/nixos/modules/virtualisation/amazon-image.nix> ];
}'
```
Previously error was:
```
error: The unique option `containers.t.networking.hostName' is defined multiple times, in `/nix/var/nix/profiles/per-user/root/channels/nixpkgs/nixos/modules/virtualisation/amazon-image.nix' and `module at /home/danbst/dev/nixpkgs/nixos/modules/virtualisation/containers.nix:470'.
(use '--show-trace' to show detailed location information)
```
Now it is:
```
error: The unique option `containers.t.networking.hostName' is defined multiple times, in:
- /nix/var/nix/profiles/per-user/root/channels/nixpkgs/nixos/modules/virtualisation/amazon-image.nix
- module at /home/danbst/dev/nixpkgs/nixos/modules/virtualisation/containers.nix:470.
(use '--show-trace' to show detailed location information)
```
Related: https://github.com/NixOS/nixpkgs/issues/15747
|
| | |
| | |
| | |
| | | |
https://spdx.org/licenses/libpng-2.0.html
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
These were broken by the added system doubles. This just adds those to
the lib-tests.
|
| | |
| | |
| | |
| | | |
it’s powerpc-none not ppc-none
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
in https://github.com/NixOS/nixpkgs/pull/60349, the attr handling was
removed. This means we rely on these double values for determing what
we are compatible with. This adds some of the missing doubles to this
list.
https://hydra.nixos.org/eval/1523389#tabs-removed
|
|\ \ \
| |/ /
|/| | |
check-meta: use system tuple in platforms
|
| | |
| | |
| | |
| | |
| | |
| | | |
This makes things a little bit more convenient. Just pass in like:
$ nix-build ’<nixpkgs>’ -A hello --argstr localSystem x86_64-linux --argstr crossSystem aarch64-linux
|
| | |
| | |
| | |
| | | |
This is unused now.
|
| | |
| | |
| | |
| | | |
This was never listed in doubles.nix! Not sure why?
|
| | |
| | |
| | |
| | | |
Fixes #60345
|