summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* version.nix: extract revision-fetching functionGraham Christensen2018-10-05
|
* Merge pull request #47683 from NixOS/docs-lib-optionsGraham Christensen2018-10-02
|\ | | | | docs: lib/options.nix function documentation
| * docs: lib/options.nix function documentationTobias Pflug2018-10-02
| |
* | docs: documentation for `cleanSource`Tobias Pflug2018-10-02
|/
* Merge pull request #47238 from obsidiansystems/overrideScope-orderJohn Ericson2018-09-24
|\ | | | | lib: Deprecate `overrideScope` in lieu of `overrideScope'` taking arguments in the conventional order
| * 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.
* | Merge pull request #46336 from Infinisil/overrideExistingJörg Thalheim2018-09-18
|\ \ | | | | | | lib: Improve overrideExisting implementation
| * | lib.overrideExisting: Better exampleSilvan Mosberger2018-09-17
| | |
| * | lib/tests: Add overrideExisting testsSilvan Mosberger2018-09-17
| | |
| * | lib: Improve overrideExisting implementationSilvan Mosberger2018-09-07
| | |
* | | Merge remote-tracking branch 'upstream/master' into ↵John Ericson2018-09-17
|\ \ \ | |_|/ |/| | | | | darwin-android-ndk-for-master
| * | Merge pull request #36287 from shlevy/lib-tests-defaultGraham Christensen2018-09-16
| |\ \ | | | | | | | | lib/tests: Add check-eval.nix to run simple tests.
| | * | lib/tests: Add check-eval.nix to run simple tests.Shea Levy2018-03-04
| | | | | | | | | | | | | | | | | | | | This can be used by evaluation-only tools to validate tests are still working.
| * | | pythonmagick: fix build (#46469)Maximilian Bosch2018-09-10
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original build broke with the following linker issue: ``` CXXLD _PythonMagick.la /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/ld: cannot find -l-L/nix/store/4gh6ynzsd5ndx37hmkl62xa8z30k43y1-imagemagick-6.9.9-34/lib collect2: error: ld returned 1 exit status ``` This happens since `BOOST_PYTHON_LIB` wasn't set properly, however `_PythonMagick.la` was linked with `-l$(BOOST_PYTHON_LIB) $(MAGICK_LIBS)`. With an empty `BOOST_PYTHON_LIB` the linker got confused. To work around this, the `boost` library directory needs to be specified explicitly. To ensure that the changes take effect, the original `configure` script shipped with `$src` needs to be removed and recreated using the `autoreconfHook`. Additionally the `imagemagick` license (https://spdx.org/licenses/ImageMagick.html) needs to be added to `lib/licenses.nix` to document the proper license of `pythonmagick` in the meta section.
| * | lib: move assertMsg and assertOneOf to their own library fileProfpatsch2018-09-06
| | | | | | | | | | | | | | | Since the `assertOneOf` uses `lib.generators`, they are not really trivial anymore and should go into their own library file.
| * | lib/trivial: add a few examples of usage of assertMsg/assertOneOfProfpatsch2018-09-06
| | |
| * | lib/trivial: add assertOneOfProfpatsch2018-09-06
| | |
| * | lib/trivial: add assertMsgProfpatsch2018-09-06
| | |
| * | Merge branch 'no-toPath'Shea Levy2018-09-06
| |\ \
| | * | treewide: Remove uses of builtins.toPath.Shea Levy2018-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Merge pull request #46011 from markuskowa/homepages-2xeji2018-09-03
| |\ \ \ | | | | | | | | | | Cleanup homepage links
| | * | | lsof: add license + update homepageMarkus Kowalewski2018-09-03
| | | | | | | | | | | | | | | | | | | | lib/licenses: add purdue style BSD license
| * | | | lib/trivial.nix: fix missing parensVladimír Čunát2018-09-03
| |/ / / | | | | | | | | | | | | | | | | Broken in 62dca7c9a; the tricky thing is that it depends on nix version. Explanation: https://github.com/NixOS/nix/issues/629
* / / / 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.