about summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* Merge pull request #69746 from Infinisil/rem-opt-usage-messageSilvan Mosberger2019-10-02
|\ | | | | lib.mkRemovedOptionModule: Show replacement for option usage too
| * lib.mkRemovedOptionModule: Show replacement for option usage tooSilvan Mosberger2019-09-28
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #70194 from obsidiansystems/lib-more-armMatthew Bauer2019-10-01
|\ \ | | | | | | lib: Add armv7a-linux to doubles.nix
| * | lib: Add armv7a-linux to doubles.nixJohn Ericson2019-10-01
| | | | | | | | | | | | This is needed for android.
* | | mkRemovedOptionModule: assert on removed options (#69419)Silvan Mosberger2019-09-30
|\ \ \ | |_|/ |/| | mkRemovedOptionModule: assert on removed options
| * | mkRemovedOptionModule: assert on removed optionsRobin Gloster2019-09-30
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #69345 from joachifm/feat/split-versionJoachim F2019-09-27
|\ \ \ | |/ / |/| | Replace uses of splitString for splitting version strings
| * | lib: basic tests for lib.versionsJoachim Fasting2019-09-26
| | |
| * | lib/versions: expose splitVersionJoachim Fasting2019-09-26
| | |
* | | licenses: refer to curl using spdxOrivej Desh2019-09-22
| | |
* | | qhull: specify spdx licenseOrivej Desh2019-09-22
|/ /
* | lib: fix typo in 'zipAttrsWith' documentationPeter Simons2019-09-11
| |
* | 20.03 is MarkhorSamuel Leathers2019-09-09
|/ | | | | * Markhor is a spiral horned animal that is on the endangered species list * https://en.wikipedia.org/wiki/Markhor
* Merge master into staging-nextFrederik Rietdijk2019-09-06
|\
| * Merge pull request #67996 from roberth/cleanSourceWith-nameSilvan Mosberger2019-09-06
| |\ | | | | | | lib.cleanSourceWith: Allow name to be set, optional filter, doc
| | * lib.cleanSourceWith: Allow name to be set, optional filter, docRobert Hensing2019-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Fix typo in lists.nixRobert Hensing2019-09-06
| |/
* | Merge branch 'master' into stagingVladimír Čunát2019-09-02
|\|
| * Fix typo in customisation.nixGabriel Féron2019-09-02
| |
| * Merge remote-tracking branch 'upstream/master' into js-unknown-ghcjsJohn Ericson2019-09-02
| |\
| | * Merge lib sort into feature/js-unknown-ghcjsJohn Ericson2019-09-02
| | |\
| | * \ Merge remote-tracking branch 'upstream/master' into feature/js-unknown-ghcjsJohn Ericson2019-09-02
| | |\ \
| | | * | lib/types: Make usage of types.string emit a warningSilvan Mosberger2019-08-31
| | | | |
| * | | | lib: Further clean up systems listJohn Ericson2019-09-02
| | |_|/ | |/| |
| * | | lib: Sort platform predicatesJohn Ericson2019-09-02
| |/ /
| * | Add support for `js-unknown-ghcjs`Moritz Angermann2019-09-02
| | | | | | | | | | | | This adds enough logic to nixpkgs to support the `js-unknown-ghcjs` triple.
* | | Merge staging-next into stagingFrederik Rietdijk2019-08-31
|\ \ \ | | |/ | |/|
| * | Merge pull request #66407 from Infinisil/fix-option-renameSilvan Mosberger2019-08-27
| |\ \ | | | | | | | | lib/modules: Use options `apply` function even if no values are defined
| | * | lib/modules: Use options `apply` function even if no values are definedSilvan Mosberger2019-08-10
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | treewide: remove redundant recvolth2019-08-28
| | | |
* | | | Merge staging-next into stagingFrederik Rietdijk2019-08-28
|\| | |
| * | | lib/options: fix path in commentJan Tojnar2019-08-26
| | | |
| * | | Merge branch 'master' into flip-map-foreachdanbst2019-08-18
| |\ \ \
| * | | | and one more placedanbst2019-08-05
| | | | |
| * | | | Merge branch 'master' into flip-map-foreachDanylo Hlynskyi2019-08-05
| |\ \ \ \ | | | |/ / | | |/| |
| * | | | rename foreach -> forEachdanbst2019-08-05
| | | | |
| * | | | lib: introduce `foreach` = flip mapdanbst2019-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | | | treewide: remove redundant quotesvolth2019-08-26
| |_|/ / |/| | |
* | | | Merge pull request #65728 from Infinisil/types-eithersAaron Andersen2019-08-13
|\ \ \ \ | |_|/ / |/| | | lib/types: Add oneOf, extension of either to a list of types
| * | | lib/types: Add oneOf, extension of either to a list of typesSilvan Mosberger2019-08-06
| | | |
* | | | Merge pull request #65380 from danbst/int-merge-one-optionSilvan Mosberger2019-07-29
|\ \ \ \ | |/ / / |/| | | lib/types: change merge strategy for `str`, `int`, `float`, `path` and `enum`
| * | | lib/types: change merge strategy for `str`, `int`, `float` and `enum`danbst2019-07-25
| |/ / | | | | | | | | | Change to `mergeEqualOption`.
* | | Add RISC-V embedded crossSystemsJay Kruer2019-07-25
| | |
* | | lib: allow sourceByRegex to be composed after cleanSourceWithBas van Dijk2019-07-19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `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 ```
* | make-tarball / lib-tests: reduce duplicationFrederik Rietdijk2019-07-11
| | | | | | | | | | The misc.nix and systems.nix tests were invoked at three different places. Let's not that.
* | Revert "Revert "systems/doubles.nix: add Apple doubles""Matthew Bauer2019-07-10
| | | | | | | | | | | | | | | | | | | | 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.
* | Revert "systems/doubles.nix: add Apple doubles"Frederik Rietdijk2019-07-10
| | | | | | | | | | | | | | | | The lib tests need to be fixed as well. This unbreaks the tarball job. This reverts commit 00ba557856d6217121e50ea69c251e9458d9dc08.
* | systems/doubles.nix: add Apple doublesMatthew Bauer2019-07-08
| | | | | | | | | | | | These are used in cross-compilation to iOS devices and simulators. Fallout from #60349.
* | treewide: remove unused variables (#63177)volth2019-06-16
| | | | | | | | | | | | * treewide: remove unused variables * making ofborg happy
* | Merge pull request #62712 from danbst/module-conflict-namingDanylo Hlynskyi2019-06-13
|\ \ | | | | | | NixOS module system: improve one of error messages