summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* lib: Make `overrideScope'` which takes arguments in the conventional orderJohn Ericson2018-09-24
| | | | | | | | | | | | | | | | | | The `overrideScope` bound by `makeScope` (via special `callPackage`) took an override in the form `super: self { … }`. But this is dangerously close to the `self: super { … }` form used by *everything* else, even other definitions of `overrideScope`! Since that implementation did not even share any code either until I changed it recently in 3cf43547f4be03d1d6eb0bbfc557e2dbc13b4095, this inconsistency is almost certainly an oversight and not intentional. Unfortunately, just as the inconstency is hard to debug if one just assumes the conventional order, any sudden fix would break existing overrides in the same hard-to-debug way. So instead of changing the definition a new `overrideScope'` with the conventional order is added, and old `overrideScope` deprecated with a warning saying to use `overrideScope'` instead. That will hopefully get people to stop using `overrideScope`, freeing our hand to change or remove it in the future.
* androidndk: Add Darwin supportJohn Ericson2018-09-17
| | | | | Also switch Linux to using the official sha1 hashes for consistency. They are gotten from https://developer.android.com/ndk/downloads/.
* Merge pull request #45038 from symphorien/optoptSilvan Mosberger2018-08-30
|\ | | | | module system: rework module merging
| * module system: rework module mergingSymphorien Gibol2018-08-27
| | | | | | | | The asymptotic complexity is now much lower.
* | Nix minimal version: 1.11 -> 2.0Jan Tojnar2018-08-30
| | | | | | | | Placeholders are just too convenient.
* | hurd: cleanup unmaintained targetJörg Thalheim2018-08-28
| | | | | | | | | | | | This has been not touched in 6 years. Let's remove it to cause less problems when adding new cross-compiling infrastructure. This also simplify gcc significantly.
* | Merge remote-tracking branch 'origin/master' into stagingMatthew Bauer2018-08-21
|\ \
| * | function rewritten by @InfinisilAaron Andersen2018-08-21
| | |
| * | as requested:Aaron Andersen2018-08-21
| | | | | | | | | | | | | | | | | | | | | - moved function into strings.nix - renamed function from makePerl5Lib - removed duplicates entries in the resulting value - rewrote the function from scratch after learning a few things (much cleaner now)
| * | lib: Use lib.fixed-points.extends to avoid repetitionJohn Ericson2018-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Another attempt after my sloppy https://github.com/NixOS/nixpkgs/commit/48ccdf322d9e7a68d0caf5833511ee3e53ec7d3a. @Infinisil, thanks again, reverted in https://github.com/NixOS/nixpkgs/commit/4794aa5de233b5bf2d1c3245946379699d023467 and explained my mistakes in https://github.com/NixOS/nixpkgs/commit/48ccdf322d9e7a68d0caf5833511ee3e53ec7d3a#commitcomment-29678643. I start with their work and provide this proof of this commit's correctness: ```nix (lib.fixedPoints.extends (lib.flip g) f) # now ((f: rattrs: self: let super = rattrs self; in super // f self super) (lib.flip g) f) # inline extends (self: let super = f self; in super // (lib.flip g) self super) # beta reduce (self: let super = f self; in super // g super self) # beta reduce (self_: let super = f self_; in super // g super self_) # alpha rename (self_: let super = f self_; in super // g super self_) # original, same ``` Eventually we might harmonize `overrideScope`'s `g` parameter with the general pattern, but I leave that breaking change as a separate step. Best not to refactor and break at once, and at least the abstractions make the oddity clearer.
| * | xfig: 3.2.5b -> 3.2.7aMarkus Kowalewski2018-08-20
| | | | | | | | | | | | | | | init fig2dev as separate package (3.2.7a). fig2dev was included in xfig in the previous version.
* | | [RFC] ppc64le enablement (#45340)CrystalGamma2018-08-21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ppc64le enablement * gcc, glibc: properly handle __float128 * lib/systems, stdenv: syntax cleanup * gcc7: remove ugly hack * gcc: add/update __float128 flags * stdenv: add another pair of quotes for consistency * gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
* | curl: add licenseMarkus Kowalewski2018-08-16
| |
* | Merge pull request #44896 from cdepillabout/vbox-extpackzimbatm2018-08-15
|\ \ | | | | | | add derivation for the virtualbox oracle extension pack
| * | Add the virtualbox-puel license to the licenses file.(cdep)illabout2018-08-08
| |/
* | lib/recursiveUpdateUntil: add a test & release note for fixProfpatsch2018-08-15
| |
* | lib/recursiveUpdateUntil: fix code to match documentationMathijs Kwik2018-08-15
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ nix repl lib Welcome to Nix version 2.0.2. Type :? for help. Loading 'lib'... Added 350 variables. -- this is the exact example from the function's documentation: nix-repl> recursiveUpdateUntil (path: l: r: path == ["foo"]) { # first attribute set foo.bar = 1; foo.baz = 2; bar = 3; } { #second attribute set foo.bar = 1; foo.quz = 2; baz = 4; } { bar = 3; baz = 4; foo = { bar = 1; baz = 2; quz = 2; }; } -- although the documentation says: { foo.bar = 1; # 'foo.*' from the second set foo.quz = 2; # bar = 3; # 'bar' from the first set baz = 4; # 'baz' from the second set }
* systems: fix netbsd triple parsingMatthew Bauer2018-07-28
| | | | | | | | binutils expects x86_64-unknown-netbsd<version> (only 3 parts!). Any other combo seems to fail. Also handle darwin versions similarly. /cc @Ericson2314
* elk: 6.2.4 -> 6.3.2Bas van Dijk2018-07-28
| | | | | | | | | | | | | | | | * The ELK stack is upgraded to 6.3.2. * `elasticsearch6`, `logstash6` and `kibana6` now come with X-Pack which is a suite of additional features. These are however licensed under the unfree "Elastic License". * Fortunately they also provide OSS versions which are now packaged under: `elasticsearch6-oss`, `logstash6-oss` and `kibana6-oss`. Note that the naming of the attributes is consistent with upstream. * The test `nix-build nixos/tests/elk.nix -A ELK-6` will test the OSS version by default. You can also run the test on the unfree ELK using: `NIXPKGS_ALLOW_UNFREE=1 nix-build nixos/tests/elk.nix -A ELK-6 --arg enableUnfree true`
* lib/trivial: move zipIntBits to its own fileProfpatsch2018-07-26
| | | | | The amount of implementation detail really should not be the first thing in a prominent file called `trivial.nix`.
* lib/trivial: unify & improve docstringsProfpatsch2018-07-26
| | | | | | | | | - add section headers - unify comment syntax - add examples Tested with: nix-instantiate --strict --eval ./lib/tests/misc.nix
* systems: Allow detection of powerpc and sparcJohn Q Crosscompiler2018-07-26
|
* treewide: fix build with disallowed aliases (#43872)volth2018-07-21
| | | fixes build with disallowed aliases
* [bot] treewide: remove unused 'inherit' in let blocksvolth2018-07-20
|
* [bot]: remove unreferenced codevolth2018-07-20
|
* licenses: Add CC-BY-NC-4.0André-Patrick Bubel2018-07-16
|
* lib.debug: fix traceValSeqFnMatthieu Coudron2018-07-15
| | | | was calling the wrong parent version.
* Revert "lib: Use lib.fixed-points.extends to avoid repetition"Silvan Mosberger2018-07-12
| | | | This reverts commit 48ccdf322d9e7a68d0caf5833511ee3e53ec7d3a.
* lib: Use lib.fixed-points.extends to avoid repetitionJohn Ericson2018-07-09
|
* lib.concatMap and lib.mapAttrs to be builtinsvolth2018-07-05
|
* lib.generators.toPlist: add floatsMatthew Bauer2018-07-03
| | | | | | | 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.
* lib: add float option typeRichard Marko2018-07-03
|
* linux: translate config to structured configDan Peebles2018-06-30
| | | | | | | | | | | | 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]
* Merge pull request #42669 from obsidiansystems/upstream-plistMatthew Bauer2018-06-28
|\ | | | | Upstream PLIST handling
| * generators: refactor toPlistMatthew Bauer2018-06-28
| | | | | | | | | | | | | | | | Address PR comments Refactors - Rename toPLIST -> toPlist
| * generators: refactor toPLISTMatthew Bauer2018-06-28
| |
| * generators: add PLIST handlingMatthew Bauer2018-06-27
| | | | | | | | /cc @LnL7 @3noch
* | Merge pull request #42138 from NixOS/yegortimoshenko-patch-6xeji2018-06-27
|\ \ | | | | | | lib/modules: decrease mkOptionDefault priority to 1500
| * | lib/modules: bump mkOptionDefault priority to 1500Yegor Timoshenko2018-06-17
| | |
* | | Merge pull request #40418 from oxij/lib/fix-module-aliasesMichael Raskin2018-06-27
|\ \ \ | |_|/ |/| | lib, nixos: fix module aliases in presence of defaults
| * | lib: fix and simplify `doRename`Jan Malakhovski2018-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 = {}; }; }`.
| * | lib: simplify `mkAliasAndWrapDefinitions`Jan Malakhovski2018-06-11
| | |
* | | Merge pull request #42599 from obsidiansystems/xcodever-in-systemMatthew Justin Bauer2018-06-26
|\ \ \ | | | | | | | | xcode: add xcodePlatform to system
| * | | xcode: add xcodePlatform to systemMatthew Bauer2018-06-25
| | | | | | | | | | | | | | | | | | | | This give us a little bit more control over what target we are using. Eventually we can target other things like WatchOS or MacOS.
* | | | Merge pull request #42399 from obsidiansystems/xcodever-in-systemMatthew Justin Bauer2018-06-25
|\| | | | | | | | | | | xcode: add xcodeVer to system
| * | | xcode: add xcodeVer to systemMatthew Bauer2018-06-25
| | | | | | | | | | | | | | | | | | | | This version number controls which xcode version to use when building cross to iOS.
* | | | Mark more unfree licenses as unfree. See also #20256.Théo Zimmermann2018-06-24
|/ / /
* | | android: add ndkVer to resolve ndk ambiguityMatthew Bauer2018-06-22
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | android: Use NDK 17 for aarch32Matthew Bauer2018-06-22
| |/ |/|
* | platforms/raspberrypi: enable kernelAutoModulesBen Wolsieffer2018-06-12
|/