Profpatsch
62dca7c9ab
lib/trivial: move zipIntBits to its own file
...
The amount of implementation detail really should not be the first thing in a
prominent file called `trivial.nix`.
2018-07-26 20:36:45 +02:00
Profpatsch
af10842940
lib/trivial: unify & improve docstrings
...
- add section headers
- unify comment syntax
- add examples
Tested with:
nix-instantiate --strict --eval ./lib/tests/misc.nix
2018-07-26 20:36:45 +02:00
John Q Crosscompiler
7cc62144b2
systems: Allow detection of powerpc and sparc
2018-07-26 09:33:36 -04:00
volth
cc55a3ebcb
treewide: fix build with disallowed aliases ( #43872 )
...
fixes build with disallowed aliases
2018-07-21 22:03:24 -04:00
volth
6d2857a311
[bot] treewide: remove unused 'inherit' in let blocks
2018-07-20 19:38:19 +00:00
volth
87f5930c3f
[bot]: remove unreferenced code
2018-07-20 18:48:37 +00:00
André-Patrick Bubel
0103ae2f6d
licenses: Add CC-BY-NC-4.0
2018-07-16 14:08:18 +02:00
Matthieu Coudron
5a9ba174bd
lib.debug: fix traceValSeqFn
...
was calling the wrong parent version.
2018-07-15 09:36:08 +09:00
Silvan Mosberger
4794aa5de2
Revert "lib: Use lib.fixed-points.extends to avoid repetition"
...
This reverts commit 48ccdf322d
.
2018-07-12 02:04:06 +02:00
John Ericson
48ccdf322d
lib: Use lib.fixed-points.extends to avoid repetition
2018-07-09 12:33:43 -04:00
volth
e9a6c7cebb
lib.concatMap and lib.mapAttrs to be builtins
2018-07-05 03:08:00 +00:00
Matthew Bauer
dc72e8ac06
lib.generators.toPlist: add floats
...
Nix now supports floats & we can pretty easily map them to Plist’s
<real></real> type. Note that I am unsure how this affects older
version of Nix that may or may not have builtins.isFloat available.
Make sure this satisfies minver.nix’s "1.11" requirement.
2018-07-03 17:14:00 -04:00
Richard Marko
4a310a0404
lib: add float option type
2018-07-03 00:11:11 +02:00
Dan Peebles
ff9999ad1b
linux: translate config to structured config
...
Instead of using a string to describe kernel config, use a nix
attribute set, then converted to a string.
- allows to override the config, aka convert 'yes' into 'modules' or
vice-versa
- while for now merging different configs is still crude (last spec wins),
at least there should be only one CONFIG_XYZ value compared to the current string
config where the first defined would be used and others ignored.
[initial idea by copumpkin in 2016, a major rebase to 2018 by teto]
2018-06-30 16:01:41 +03:00
Matthew Bauer
a44d33aac1
Merge pull request #42669 from obsidiansystems/upstream-plist
...
Upstream PLIST handling
2018-06-28 15:26:31 -04:00
Matthew Bauer
337b58950b
generators: refactor toPlist
...
Address PR comments
Refactors
- Rename toPLIST -> toPlist
2018-06-28 15:24:12 -04:00
Matthew Bauer
d361371d23
generators: refactor toPLIST
2018-06-28 11:11:19 -04:00
Matthew Bauer
3210dd3039
generators: add PLIST handling
...
/cc @LnL7 @3noch
2018-06-27 15:35:07 -04:00
xeji
249be1c560
Merge pull request #42138 from NixOS/yegortimoshenko-patch-6
...
lib/modules: decrease mkOptionDefault priority to 1500
2018-06-27 20:29:39 +02:00
Michael Raskin
b8ffd2459d
Merge pull request #40418 from oxij/lib/fix-module-aliases
...
lib, nixos: fix module aliases in presence of defaults
2018-06-27 09:24:50 +00:00
Matthew Justin Bauer
e4d9ce9061
Merge pull request #42599 from obsidiansystems/xcodever-in-system
...
xcode: add xcodePlatform to system
2018-06-26 10:56:57 -04:00
Matthew Bauer
0bfffbc5e1
xcode: add xcodePlatform to system
...
This give us a little bit more control over what target we are using.
Eventually we can target other things like WatchOS or MacOS.
2018-06-25 22:18:23 -04:00
Matthew Justin Bauer
c16eb04425
Merge pull request #42399 from obsidiansystems/xcodever-in-system
...
xcode: add xcodeVer to system
2018-06-25 21:59:01 -04:00
Matthew Bauer
9b0b31d981
xcode: add xcodeVer to system
...
This version number controls which xcode version to use when building
cross to iOS.
2018-06-25 21:57:24 -04:00
Théo Zimmermann
4033416845
Mark more unfree licenses as unfree. See also #20256 .
2018-06-24 18:31:54 +02:00
Matthew Bauer
c8fd285c8d
android: add ndkVer to resolve ndk ambiguity
...
It wasn’t exactly clear which NDK you were using previously. This adds
an attribute to system that handles what version of the NDK we should
use when building things.
/cc @Ericson2314
2018-06-22 11:06:17 -04:00
Matthew Bauer
cf09ffe9aa
android: Use NDK 17 for aarch32
2018-06-22 09:33:25 -04:00
Yegor Timoshenko
441796cb16
lib/modules: bump mkOptionDefault priority to 1500
2018-06-17 23:29:16 +03:00
Ben Wolsieffer
7cb01d58b2
platforms/raspberrypi: enable kernelAutoModules
2018-06-12 20:44:23 +03:00
Jan Malakhovski
449d43fe01
lib: fix and simplify doRename
...
Before this change `mkRenamedOptionModule` would override option defaults
even when the old option name is left unused. For instance
```nix
{
optios = {
services.name.new = mkOption {
default = { one = {}; };
};
};
imports = [
(mkRenamedOptionModule [ "services" "name" "old" ] [ "services" "name" "new" "two" ])
];
config = {};
}
```
would evaluate to
`{ config.services.name.new = { two = {}; }; }`
when you'd expect it to evaluate to
`{ config.services.name.new = { one = {}; }; }`.
2018-06-11 15:06:27 +00:00
Jan Malakhovski
c0c43e9c07
lib: simplify mkAliasAndWrapDefinitions
2018-06-11 15:06:27 +00:00
Izorkin
35ce5c1c8e
maxscale: init at 2.1.17 ( #33835 )
2018-06-10 22:50:36 +02:00
volth
3c2bbe217c
lib: bitAnd, bitOr, bitXor (bitsize-agnostic fallback function) ( #41491 )
...
* lib: bitAnd, bitOr, bitXor
* lib: test for bitAnd, bitOr, bitXor
* lib: bitsize-agnostic zipIntBits
* lib: bitNot
* lib: bitNot
2018-06-10 21:25:48 +02:00
volth
4e85c4ff27
lib: add groupBy ( #38612 )
2018-06-10 19:31:09 +02:00
Profpatsch
f98272d6e2
Revert "lib: bitAnd, bitOr, bitXor"
2018-06-05 18:45:20 +02:00
Jörg Thalheim
d036073bcf
Merge pull request #41373 from volth/bitwise
...
lib: bitAnd, bitOr, bitXor
2018-06-03 11:38:56 +01:00
volth
078b9b4c2b
lib: test for bitAnd, bitOr, bitXor
2018-06-02 21:13:43 +00:00
volth
0addac3b0a
lib: bitAnd, bitOr, bitXor
2018-06-01 21:36:31 +00:00
Tuomas Tynkkynen
e864247f08
Merge branch 'plat-fix-for-merge-2' into master
2018-06-01 20:08:08 +03:00
Tuomas Tynkkynen
27bb4da344
platforms.nix: More rpi2 cleanup
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
3abdd4f1e3
platforms.nix: Clean up obsolete cruft from raspberrypi2
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
db2988f7bd
platforms.nix: Clean up obsolete cruft from raspberrypi
...
Works fine without, and the 'DRM n' is actually preventing the mainline
VC4 driver from building.
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
96edbe4a0e
linux_rpi: Specify defconfig in kernel expression
...
In particular, now the mainline kernel can be built on the RPi 1 as well
(so kernelBaseConfig should always be a mainline defconfig from now on).
And RPi 2 users can now use linux_rpi without doing the
`nixpkgs.config.platform = lib.systems.platforms.raspberrypi2;` dance.
2018-05-31 18:06:09 +03:00
John Ericson
72fa40f72d
lib: Fix nix-env -qaP -f . --xml --meta
...
A merge undid my fix in d437f2c365
.
2018-05-29 13:06:17 -04:00
Tuomas Tynkkynen
2760b24462
Merge remote-tracking branch 'upstream/master' into staging
2018-05-26 19:01:18 +03:00
Graham Christensen
951e9099c0
Merge pull request #36344 from grahamc/fancy-option-names
...
lib/options: teach showOptions about funny option names
2018-05-25 20:55:17 -04:00
Jan Malakhovski
ad35019501
Merge branch 'master' into staging
...
Fixed conflicts:
- lib/systems/for-meta.nix: in favor of staging
- pkgs/os-specific/darwin/xcode/default.nix: in favor of master
2018-05-26 00:20:17 +00:00
John Ericson
d437f2c365
lib: Fix nix-env -qaP -f . --xml --meta
...
The function value cannot be serialized so nix-env was mad. Turns out we can
just remove it like we do in `lib/systems/inspect.nix`.
2018-05-24 10:43:14 -04:00
Shea Levy
6da6accd30
treewide: Remove uses of builtins.toPath.
...
toPath has confusing semantics and is never necessary; it can always
either just be omitted or replaced by pre-concatenating `/.`. It has
been marked as "!!! obsolete?" for more than 10 years in a C++
comment, hopefully removing it will let us properly deprecate and,
eventually, remove it.
2018-05-22 16:42:02 -04:00
Tuomas Tynkkynen
003473613a
Merge remote-tracking branch 'upstream/master' into staging
...
Conflicts:
pkgs/top-level/all-packages.nix
2018-05-18 03:54:38 +03:00
John Ericson
c5b13f97ff
Merge pull request #40659 from bkchr/androidndk
...
Androidndk
2018-05-17 12:04:14 -04:00
Bastian Köcher
832a8ca087
androidndk: Fix usage as crossSystem
2018-05-17 17:22:27 +02:00
John Ericson
ddbe9191ef
Merge remote-tracking branch 'upstream/master' into staging
...
Keep the dontCheck because the test suite fails, get rid of the LDFLAGS
hack because we don't need it!
2018-05-16 15:16:08 -04:00
Samuel Dionne-Riel
136f1c4706
doc: Fixes documented default option for <name>
for submodules. ( #40464 )
...
Fixes #40463
This is related to change 1d56d0c8a7
2018-05-16 18:11:36 +02:00
John Ericson
f2017c40ae
Merge remote-tracking branch 'upstream/master' into staging
2018-05-14 22:53:10 -04:00
Matthew Justin Bauer
165c151f7a
Merge pull request #34805 from rycee/fix/dorename
...
lib: make use of visible variable in doRename
2018-05-14 18:08:26 -05:00
Frederik Rietdijk
658b7c3f2e
Merge master into staging
2018-05-13 12:13:25 +02:00
John Ericson
2c5d915200
Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into staging
2018-05-13 01:02:09 -04:00
Matthew Justin Bauer
f799042d41
Merge pull request #39447 from oxij/nixos/warn-missing-stateversion
...
nixos: warn on missing `stateVersion`
2018-05-12 14:45:06 -05:00
Jan Malakhovski
4017fdcafd
lib: modules: propagate highestPrio
...
Yeah, it's ugly. But it's the minimal change that doesn't break anything
else.
2018-05-12 19:27:09 +00:00
John Ericson
92b7a814f2
Merge branch 'fix-gcc-with-float'
2018-05-12 15:21:30 -04:00
John Ericson
f2004e6287
lib: Fix float handling for Aarch32
...
Forgot to adjust default so abi with explicit float attr would be used.
2018-05-12 15:18:31 -04:00
John Ericson
6f40d18d44
prebuilt android cc: Edit wrapper to pass the right -m flags for armv7a
...
(cherry picked from commit 827ef09140
)
2018-05-12 15:16:16 -04:00
John Ericson
6a96dc0417
lib/system: Remove float from androideabi
...
There are two different official variations which differ in their float
support, so such a blanket statement is invalid.
`lib.systems.platforms.*android` already handles each case correctly.
Correcting an error in 827ef09140
.
2018-05-11 20:16:28 -04:00
John Ericson
827ef09140
prebuilt android cc: Edit wrapper to pass the right -m flags for armv7a
2018-05-11 19:17:35 -04:00
John Ericson
28bacc2093
lib/systems: Add assertion to "android" ABI
...
This is analogous to the GNU assertion.
2018-05-11 19:03:07 -04:00
John Ericson
f4de669777
lib/systems/inspect: Fix after assertions
...
Function are never equal in Nix, so we need to filter out this attribute
in ABIs.
2018-05-11 19:02:50 -04:00
John Ericson
98a1b89945
Merge pull request #40385 from obsidiansystems/lib-android-platforms
...
lib: Add 32-bit Android platforms
2018-05-11 19:01:22 -04:00
John Ericson
e3f6c6d18d
lib: Add 32-bit Android platforms
2018-05-11 18:41:55 -04:00
John Ericson
81387c2e78
Merge remote-tracking branch 'upstream/master' into staging
2018-05-11 17:12:04 -04:00
John Ericson
0a77a72895
Merge pull request #40378 from obsidiansystems/lib-platform-sort
...
lib/systems: Sort platforms, and space CPUs
2018-05-11 17:10:49 -04:00
John Ericson
341794a4b9
lib/systems: Sort platforms, and space CPUs
2018-05-11 15:02:18 -04:00
John Ericson
ee4b56edd3
Merge remote-tracking branch 'upstream/master' into staging
2018-05-11 14:36:08 -04:00
John Ericson
9e9cdd7027
lib: Add more configure flag helpers
...
Add with/without to match enable/disable, and add
`--{enable,with}-key=value` versions of both.
2018-05-11 17:43:35 +02:00
John Ericson
f18ddabee7
Merge remote-tracking branch 'upstream/master' into lib-float
2018-05-10 18:13:00 -04:00
John Ericson
1fe81a4bcd
lib: Clean up float/fpu options
...
ARM ABIs now have a float field. This is used as a fallback to lessen
our use of `platform.gcc.float`. I didn't know what the MIPs convention
is so I kept using `platform.gcc.float` in that case.
2018-05-10 18:02:00 -04:00
Matthew Justin Bauer
4ec9c4b377
Merge pull request #40255 from matthewbauer/remove-enableIfAvailable
...
treewide: remove lib.meta.enableIfAvailable
2018-05-10 16:00:16 -05:00
John Ericson
67db915a43
Merge remote-tracking branch 'upstream/master' into staging
2018-05-10 16:35:04 -04:00
John Ericson
58b2e875c2
lib/systems: Prohibit "gnu" ABI (*-gnu) with 32-bit ARM
...
It is ambiguous, and therefore banned within GCC.
2018-05-10 15:05:23 -04:00
Frederik Rietdijk
64c8c6dcb3
Merge master into staging
2018-05-10 09:30:56 +02:00
John Ericson
006422d08d
Merge commit 'feb648ce59ffbed94c58133eb7aa2761992a35e1' into staging
2018-05-10 01:55:26 -04:00
John Ericson
c17f79ea3b
Merge remote-tracking branch 'upstream/master' into lib-platform-simplify
2018-05-10 01:40:44 -04:00
John Ericson
feb648ce59
Merge commit '70963b382f3f820ba6d3bc3b3aaf50a2957ec1ff' into lib-platform-simplify
2018-05-10 01:40:38 -04:00
John Ericson
a02be2bd85
treewide: Get rid of *Platform.arch
...
Use `parsed.cpu.name` or `platform.gcc.arch` instead.
2018-05-10 01:37:31 -04:00
John Ericson
3bc923bf5f
Merge remote-tracking branch 'upstream/master' into uclibc
2018-05-10 00:23:12 -04:00
John Ericson
b3ef322770
Merge commit '70963b382f3f820ba6d3bc3b3aaf50a2957ec1ff' into uclibc
2018-05-10 00:18:51 -04:00
John Ericson
f063a860d6
xbursttools: Cleanup slightly
2018-05-09 23:40:13 -04:00
John Ericson
e42a7a5c0b
lib/systems: Add uClibc just like MUSL
2018-05-09 23:39:23 -04:00
John Ericson
0b45f0ebf9
Merge pull request #40261 from obsidiansystems/more-arm
...
lib/systems: Parse more arm cpu types
2018-05-09 20:05:10 -04:00
John Ericson
3fa0ba9177
lib/systems: Parse more arm cpu types
2018-05-09 18:57:39 -04:00
Matthew Bauer
c37b93bd52
treewide: remove lib.meta.enableIfAvailable
2018-05-09 16:21:22 -05:00
Matthew Bauer
8a98cf97e9
lib.makeSearchPath: allow null in search path
...
This makes things match ‘buildInputs’ where inputs are allowed to be
null.
2018-05-09 15:44:06 -05:00
Matthew Bauer
6748534d83
Merge remote-tracking branch 'upstream/master' into staging
2018-05-08 09:36:00 -05:00
Robert Helgesson
08e8701673
lib.types: fix loaOf behavior for long lists
...
Assigning a list of 10 or more elements to an option having the type
`loaOf a` produces a configuration value that is not honoring the
order of the original list. This commit fixes this and a related issue
arising when 10 or more lists are merged into this type of option.
2018-05-07 20:23:52 +02:00
Silvan Mosberger
facd51575e
lib/types: remove unnecessary coerceFunc assertion
2018-05-06 23:58:36 +02:00
Silvan Mosberger
cd5736116c
lib/types: clear up coercedTo description
2018-05-06 23:58:36 +02:00
Silvan Mosberger
b16a69289a
lib/types: Add coercedTo unsound tests
2018-05-06 23:58:36 +02:00
Silvan Mosberger
ef8996f15e
lib/types: Fix coercedTo check
...
Without this change
(coercedTo str toInt int).check "foo"
would evaluate to true, even though
(coercedTo str toInt int).merge {} [{ value = "foo"; }]
will throw an error because "foo" can't be coerced to an int.
2018-05-06 23:58:36 +02:00
Ben Gamari
8b32cfdbc0
lib.systems.gnu: Accept gnueabi as a gnu platform
2018-05-03 17:06:01 -04:00
John Ericson
db4f96b3cb
lib/systems: Fix eval for iphone32* examples
...
Whoops messed up 9a845de873
slightly.
2018-05-01 13:04:57 -04:00