summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* Merge pull request #40659 from bkchr/androidndkJohn Ericson2018-05-17
|\ | | | | Androidndk
| * androidndk: Fix usage as crossSystemBastian Köcher2018-05-17
| |
* | doc: Fixes documented default option for `<name>` for submodules. (#40464)Samuel Dionne-Riel2018-05-16
|/ | | | | Fixes #40463 This is related to change 1d56d0c8a79334cd7149fd580512046558eaac78
* Merge pull request #34805 from rycee/fix/dorenameMatthew Justin Bauer2018-05-14
|\ | | | | lib: make use of visible variable in doRename
| * lib: make use of visible variable in doRenameRobert Helgesson2018-02-10
| | | | | | | | | | | | The `visible` variable was not hooked up previously. It is used to determine whether the renamed option should be shown in the documentation.
* | Merge pull request #39447 from oxij/nixos/warn-missing-stateversionMatthew Justin Bauer2018-05-12
|\ \ | | | | | | nixos: warn on missing `stateVersion`
| * | lib: modules: propagate `highestPrio`Jan Malakhovski2018-05-12
| | | | | | | | | | | | | | | Yeah, it's ugly. But it's the minimal change that doesn't break anything else.
* | | Merge branch 'fix-gcc-with-float'John Ericson2018-05-12
|\ \ \ | |/ / |/| |
| * | lib: Fix float handling for Aarch32John Ericson2018-05-12
| | | | | | | | | | | | Forgot to adjust default so abi with explicit float attr would be used.
| * | prebuilt android cc: Edit wrapper to pass the right -m flags for armv7aJohn Ericson2018-05-12
| | | | | | | | | | | | (cherry picked from commit 827ef0914089e1a2bba140b49e1311eff28cc156)
* | | lib/system: Remove float from androideabiJohn Ericson2018-05-11
| | | | | | | | | | | | | | | | | | | | | | | | 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 827ef0914089e1a2bba140b49e1311eff28cc156.
* | | prebuilt android cc: Edit wrapper to pass the right -m flags for armv7aJohn Ericson2018-05-11
| | |
* | | lib/systems: Add assertion to "android" ABIJohn Ericson2018-05-11
| | | | | | | | | | | | This is analogous to the GNU assertion.
* | | lib/systems/inspect: Fix after assertionsJohn Ericson2018-05-11
| | | | | | | | | | | | | | | Function are never equal in Nix, so we need to filter out this attribute in ABIs.
* | | Merge pull request #40385 from obsidiansystems/lib-android-platformsJohn Ericson2018-05-11
|\| | | | | | | | lib: Add 32-bit Android platforms
| * | lib: Add 32-bit Android platformsJohn Ericson2018-05-11
| | |
* | | Merge pull request #40378 from obsidiansystems/lib-platform-sortJohn Ericson2018-05-11
|\| | | | | | | | lib/systems: Sort platforms, and space CPUs
| * | lib/systems: Sort platforms, and space CPUsJohn Ericson2018-05-11
| | |
* | | lib: Add more configure flag helpersJohn Ericson2018-05-11
| | | | | | | | | | | | | | | Add with/without to match enable/disable, and add `--{enable,with}-key=value` versions of both.
* | | Merge remote-tracking branch 'upstream/master' into lib-floatJohn Ericson2018-05-10
|\ \ \ | |/ / |/| |
| * | Merge pull request #40255 from matthewbauer/remove-enableIfAvailableMatthew Justin Bauer2018-05-10
| |\ \ | | | | | | | | treewide: remove lib.meta.enableIfAvailable
| | * | treewide: remove lib.meta.enableIfAvailableMatthew Bauer2018-05-09
| | | |
| * | | lib/systems: Prohibit "gnu" ABI (*-gnu) with 32-bit ARMJohn Ericson2018-05-10
| | | | | | | | | | | | | | | | It is ambiguous, and therefore banned within GCC.
| * | | Merge remote-tracking branch 'upstream/master' into lib-platform-simplifyJohn Ericson2018-05-10
| |\ \ \
| | * \ \ Merge remote-tracking branch 'upstream/master' into uclibcJohn Ericson2018-05-10
| | |\ \ \
| | | * \ \ Merge pull request #40261 from obsidiansystems/more-armJohn Ericson2018-05-09
| | | |\ \ \ | | | | |/ / | | | |/| | lib/systems: Parse more arm cpu types
| | | * | | lib.makeSearchPath: allow null in search pathMatthew Bauer2018-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes things match ‘buildInputs’ where inputs are allowed to be null.
| | * | | | Merge commit '70963b382f3f820ba6d3bc3b3aaf50a2957ec1ff' into uclibcJohn Ericson2018-05-10
| | |\| | |
| * | | | | Merge commit '70963b382f3f820ba6d3bc3b3aaf50a2957ec1ff' into ↵John Ericson2018-05-10
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | lib-platform-simplify
| | * | | | lib.types: fix loaOf behavior for long listsRobert Helgesson2018-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | lib/types: remove unnecessary coerceFunc assertionSilvan Mosberger2018-05-06
| | | | | |
| | * | | | lib/types: clear up coercedTo descriptionSilvan Mosberger2018-05-06
| | | | | |
| | * | | | lib/types: Add coercedTo unsound testsSilvan Mosberger2018-05-06
| | | | | |
| | * | | | lib/types: Fix coercedTo checkSilvan Mosberger2018-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | lib/systems: Fix eval for iphone32* examplesJohn Ericson2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | Whoops messed up 9a845de873dfcc31f360a08f1b1f786c6f649c7d slightly.
| | * | | | lib/systems: Update iOS examplesJohn Ericson2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commented-out configs are @shlevy's old known-good ones. I changed them as needed to play nice with lib.systems.parse but did not test so leaving them as comments for now.
| | * | | | Merge pull request #39788 from obsidiansystems/aarch32-for-masterJohn Ericson2018-04-30
| | |\ \ \ \ | | | | | | | | | | | | | | lib: Improve deprecation message for `isArm`
| | | * \ \ \ Merge remote-tracking branch 'upstream/master' into aarch32John Ericson2018-04-30
| | | |\ \ \ \
| | * | | | | | treewide: rename version attributesMaximilian Bosch2018-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As suggested in https://github.com/NixOS/nixpkgs/pull/39416#discussion_r183845745 the versioning attributes in `lib` should be consistent to `nixos/version` which implicates the following changes: * `lib.trivial.version` -> `lib.trivial.release` * `lib.trivial.suffix` -> `lib.trivial.versionSuffix` * `lib.nixpkgsVersion` -> `lib.version` As `lib.nixpkgsVersion` is referenced several times in `NixOS/nixpkgs`, `NixOS/nix` and probably several user's setups. As the rename will cause a notable impact it's better to keep `lib.nixpkgsVersion` as alias with a warning yielded by `builtins.trace`.
| | * | | | | | lib: deduplicate version/suffix referencesMaximilian Bosch2018-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic regarding the generated `.version-suffix` file is already defined in `lib/trivial.nix` and shouldn't be duplicated in `nixos/version`.
| | * | | | | | lib/debug: add replacement instructions & release notesProfpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for every deprecated function.
| | * | | | | | lib/debug: document module & functions, prune importsProfpatsch2018-04-27
| | | | | | | |
| | * | | | | | lib/debug: deprecate `traceCallXml`Profpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incompletely documented, and a FIXME/bug that has been there for years.
| | * | | | | | lib/debug: deprecate `addErrorContextToAttrs`Profpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function isn’t used anywhere and `addErrorContext` is an undocumented builtin. The builtin is explicitely qualified at its two uses in the module system.
| | * | | | | | lib/debug: deprecate `traceValIfNot`Profpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function is only used in exactly one module and overly specific (`c` must be a true predicate for `x`, if not, a specific trace is called).
| | * | | | | | lib/debug: deprecate attrNamesToStr, traceXMLVal(Marked)Profpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `attrNamesToStr` is very specific (and pretty trivial), so it doesn’t make sense to have it in the library. `traceXMLVal(Marked)` are just a builtin and `trace` and not very useful in general (trace output should not be parsed anyway).
| | * | | | | | lib/debug: deprecate & modernize showValProfpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code is re-implemented in terms of `generators.toPretty`, but is strictly less general than `traceValSeqN`, so we deprecate it.
| | * | | | | | lib/debug: remove the deprecated strict functionProfpatsch2018-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The grace period was long enough.
| | * | | | | | lib/debug: add traceValFn, traceValSeqFn, traceValSeqNFnProfpatsch2018-04-27
| | | |/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | Being able to modify the value on-the-fly before printing is very useful in practice.
| | * | | | | treewide: isArm -> isAarch32John Ericson2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following legacy packing conventions, `isArm` was defined just for 32-bit ARM instruction set. This is confusing to non packagers though, because Aarch64 is an ARM instruction set. The official ARM overview for ARMv8[1] is surprisingly not confusing, given the overall state of affairs for ARM naming conventions, and offers us a solution. It divides the nomenclature into three levels: ``` ISA: ARMv8 {-A, -R, -M} / \ Mode: Aarch32 Aarch64 | / \ Encoding: A64 A32 T32 ``` At the top is the overall v8 instruction set archicture. Second are the two modes, defined by bitwidth but differing in other semantics too, and buttom are the encodings, (hopefully?) isomorphic if they encode the same mode. The 32 bit encodings are mostly backwards compatible with previous non-Thumb and Thumb encodings, and if so we can pun the mode names to instead mean "sets of compatable or isomorphic encodings", and then voilà we have nice names for 32-bit and 64-bit arm instruction sets which do not use the word ARM so as to not confused either laymen or experienced ARM packages. [1]: https://developer.arm.com/products/architecture/a-profile