Silvan Mosberger
cdf79db19d
Module system improvements for NixOS as a submodule ( #75031 )
...
Module system improvements for NixOS as a submodule
2020-01-02 20:38:45 +01:00
Silvan Mosberger
cc81320a46
lib/tests: Add submoduleWith tests
2020-01-02 09:59:35 +01:00
Silvan Mosberger
eec83d41e3
lib/types: Allow paths as submodule values
2020-01-02 09:59:35 +01:00
Silvan Mosberger
5414b4018b
lib/modules: Don't pack submodules specially
...
This has the beneficial side effect of allowing paths to be used as modules in
types.{submodule,submoduleWith}
2020-01-01 01:13:03 +01:00
Silvan Mosberger
5002e6afbc
lib/types: Add types.submoduleWith for more flexibility than types.submodule
2020-01-01 01:13:01 +01:00
Silvan Mosberger
3cc77ce756
lib/modules: Make unifyModuleSyntax fully idempotent
...
Because why not
2019-12-05 05:51:44 +01:00
Silvan Mosberger
aa613427b7
lib/modules: file -> _file for a more idempotent unifyModuleSyntax
...
This will be useful for doing more complicated module evaluations
2019-12-05 05:51:44 +01:00
John Ericson
80524db331
Merge branch 'ghcjs-cross-without-cc-19.09' into ghcjs-cross-without-cc
2019-11-25 14:11:18 +00:00
John Ericson
765d2608b6
Fix lib tests
...
js-ghcjs didn't fit in an existing categor.
2019-11-25 14:09:50 +00:00
John Ericson
6bc456c91c
Merge remote-tracking branch 'upstream/master' into ghcjs-cross-without-cc
2019-11-25 00:23:07 +00:00
John Ericson
c739c420db
Add support for cross compiling to js-ghcjs
...
This platform doesn't have a C compiler, and so relies and the changes
in the previous commit to work.
2019-11-25 00:12:38 +00:00
John Ericson
814f9104d7
Merge pull request #72657 from cleverca22/vc4
...
Initial implementation of vc4 cross-compile
2019-11-24 16:04:15 -05:00
John Ericson
d0d5136cce
Merge remote-tracking branch 'upstream/master' into wrapper-pname-support
2019-11-24 17:25:07 +00:00
John Ericson
84a105254d
lib: Add getName to mirror getVersion
2019-11-24 16:24:50 +00:00
Michael Bishop
4aa1ffae04
initial implementation of vc4 cross-compile
2019-11-19 22:19:15 -04:00
John Ericson
16f0fe7fe3
Merge remote-tracking branch 'upstream/master' into mingw-mcfthreads
2019-11-11 20:48:14 -05:00
John Ericson
91718534f1
lib: Switch to w64 vendor for MinGW
...
It is needed for the `-municode` flag, supposedly.
2019-11-11 00:25:24 -05:00
Matthew Bauer
46f1daead7
Merge pull request #72727 from oxalica/mips-parse
...
lib.systems: handle mips family properly
2019-11-06 10:24:05 -05:00
Chuck
4ded9beea2
Add note: Keep error message in sync with nixos-option
2019-11-04 15:11:45 +01:00
oxalica
c98da73802
lib.systems: remove redundant mapping
2019-11-04 12:13:30 +08:00
oxalica
955d032b47
lib.systems: handle mips family properly
2019-11-03 22:10:06 +08:00
Silvan Mosberger
1230fc8674
Merge pull request #67809 from Infinisil/propagate-override-args
...
lib.makeOverridable: Propagate function arguments
2019-10-22 14:37:40 +02:00
Profpatsch
8252861507
lib/trivial: add pipe
function
...
`pipe` is a useful operator for creating pipelines of functions.
It works around the usual problem of e.g. string operations becoming
deeply nested functions.
In principle, there are four different ways this function could be
written:
pipe val [ f1 .. fn ]
pipe val [ fn .. f1 ]
compose [ f1 .. fn ] val
compose [ fn .. f1 ] val
The third and fourth form mirror composition of functions, they would
be the same as e.g. `(f1 << f2 << f3 .. << fn) val`.
However, it is not clear which direction the list should have (as one
can see in the second form, which is the most absurd.
In order not to confuse users, we decide for the most “intuitive”
form, which mirrors the way unix pipes work (thus the name `pipe`).
The flow of data goes from left to right.
Co-Authored-By: Silvan Mosberger <infinisil@icloud.com>
2019-10-21 13:19:16 +02:00
Silvan Mosberger
2b1e2f2e97
Merge pull request #69746 from Infinisil/rem-opt-usage-message
...
lib.mkRemovedOptionModule: Show replacement for option usage too
2019-10-02 23:11:41 +02:00
Matthew Bauer
bf2e3515a8
Merge pull request #70194 from obsidiansystems/lib-more-arm
...
lib: Add armv7a-linux to doubles.nix
2019-10-01 13:34:27 -04:00
John Ericson
3098d65210
lib: Add armv7a-linux to doubles.nix
...
This is needed for android.
2019-10-01 12:51:57 -04:00
Silvan Mosberger
c75a18fea6
mkRemovedOptionModule: assert on removed options ( #69419 )
...
mkRemovedOptionModule: assert on removed options
2019-09-30 16:39:40 +02:00
Robin Gloster
b08b0bcbbe
mkRemovedOptionModule: assert on removed options
...
We don't want to ignore config that can mess up machines. In general
this should always fail evaluation, as you think you are changing
behaviour and don't, which can easily create run-time errors we can
catch early.
2019-09-30 12:07:13 +02:00
Silvan Mosberger
ebb136da9f
lib.mkRemovedOptionModule: Show replacement for option usage too
...
Previously mkRemovedOptionModule would only show the replacement
instructions when the removed option was *defined*. With this change, it
also does so when an option is *used*.
This is essential for options that are only intended to be used such as
`security.acme.directory`, whose replacement instructions would never
trigger without this change because almost everybody only uses the
option and isn't defining it.
2019-09-28 04:10:22 +02:00
Joachim F
ad773d31e2
Merge pull request #69345 from joachifm/feat/split-version
...
Replace uses of splitString for splitting version strings
2019-09-27 06:19:18 +00:00
Joachim Fasting
2d4352b1ae
lib: basic tests for lib.versions
2019-09-26 17:42:48 +02:00
Joachim Fasting
fd3052901c
lib/versions: expose splitVersion
2019-09-26 17:42:42 +02:00
Orivej Desh
8bec8df663
licenses: refer to curl using spdx
2019-09-22 20:33:44 +00:00
Orivej Desh
698b06dfe4
qhull: specify spdx license
2019-09-22 20:22:23 +00:00
Peter Simons
c82b347947
lib: fix typo in 'zipAttrsWith' documentation
2019-09-11 19:54:36 +02:00
Samuel Leathers
01268fda85
20.03 is Markhor
...
* Markhor is a spiral horned animal that is on the endangered species list
* https://en.wikipedia.org/wiki/Markhor
2019-09-09 11:26:58 -04:00
Frederik Rietdijk
66bc7fc1b3
Merge master into staging-next
2019-09-06 22:46:05 +02:00
Silvan Mosberger
d1bb36d5cb
Merge pull request #67996 from roberth/cleanSourceWith-name
...
lib.cleanSourceWith: Allow name to be set, optional filter, doc
2019-09-06 21:11:12 +02:00
Robert Hensing
a0b743f47c
Fix typo in lists.nix
2019-09-06 20:02:36 +02:00
Silvan Mosberger
a4896cb4aa
lib/makeOverridable: Refactor
...
- Rename ff to result because that's what it is
- Better indentation
- Less parens
- Comment what overrideWith does
2019-09-05 00:57:55 +02:00
Silvan Mosberger
23e72eff41
lib/makeOverridable: Remove unimplemented overrideDerivation for functions
...
- Apparently nobody ever needed this
- We already have enough ways to override things
- Using overrideDerivation is discouraged
2019-09-05 00:57:22 +02:00
Silvan Mosberger
c638dac226
lib/makeOverridable: Propagate function args of the callPackage'd function
...
This allows querying function arguments of things like fetchFromGitHub:
nix-repl> lib.functionArgs pkgs.fetchFromGitHub
{ fetchSubmodules = true; githubBase = true; ... }
2019-09-05 00:57:04 +02:00
Silvan Mosberger
d54bdf5504
lib/makeOverridable: Propagate function arguments to override functions
...
This allows querying the arguments you can .override:
nix-repl> lib.functionArgs pkgs.hello.override
{ fetchurl = false; stdenv = false; }
2019-09-05 00:56:39 +02:00
Silvan Mosberger
e140d709c4
lib/makeOverridable: Abstract result overriding
2019-09-05 00:56:11 +02:00
Silvan Mosberger
a75080f58c
lib/makeOverridable: Deduplicate override definition
...
And call it overrideArgs in the let binding because that's what it does
2019-09-05 00:54:03 +02:00
Robert Hensing
9a2180fa0b
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
2019-09-03 10:36:57 +02:00
Vladimír Čunát
f21211ebfe
Merge branch 'master' into staging
2019-09-02 23:25:24 +02:00
Gabriel Féron
4b5afe54de
Fix typo in customisation.nix
2019-09-02 13:39:40 +02:00
John Ericson
c2b34b2b57
Merge remote-tracking branch 'upstream/master' into js-unknown-ghcjs
2019-09-02 01:57:01 -04:00
John Ericson
a77a2cfe4a
lib: Further clean up systems list
2019-09-02 01:55:38 -04:00