| Commit message (Collapse) | Author | Age |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
This is analogous to the GNU assertion.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Function are never equal in Nix, so we need to filter out this attribute
in ABIs.
|
| |\| | |
| | | | |
| | | | | |
lib: Add 32-bit Android platforms
|
| | | | | |
|
|\| | | | |
|
| |\| | |
| | | | |
| | | | | |
lib/systems: Sort platforms, and space CPUs
|
| | | | | |
|
|\| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add with/without to match enable/disable, and add
`--{enable,with}-key=value` versions of both.
|
| |\ \ \ \
| | |/ / /
| |/| | | |
|
| | |\ \ \
| | | | | |
| | | | | | |
treewide: remove lib.meta.enableIfAvailable
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It is ambiguous, and therefore banned within GCC.
|
|\| | | | | |
|
| |\ \ \ \ \ |
|
| | |\ \ \ \ \ |
|
| | | |\ \ \ \ \
| | | | |_|/ / /
| | | |/| | | | |
lib/systems: Parse more arm cpu types
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This makes things match ‘buildInputs’ where inputs are allowed to be
null.
|
| | |\| | | | | |
|
|\| | | | | | | |
|
| |\ \ \ \ \ \ \
| | | |/ / / / /
| | |/| | / / /
| | |_|_|/ / /
| |/| | | | | |
lib-platform-simplify
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Use `parsed.cpu.name` or `platform.gcc.arch` instead.
|
| | | | | | |
|
| | |/ / /
| |/| | | |
|
| | | | | |
|
|\ \ \ \ \
| | |/ / /
| |/| | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | | |
Whoops messed up 9a845de873dfcc31f360a08f1b1f786c6f649c7d slightly.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| | | | |
| | | | | |
lib: Improve deprecation message for `isArm`
|
| |\ \ \ \
| | |/ / /
| |/| | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
(cherry picked from commit ba52ae50488de85a9cf60a3a04f1c9ca7122ec74)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Should have commited on here and on merged master to begin with, but I
didn't, so instead I cherry-pick.
(cherry picked from commit 88c04a8b6b6714a61c8a28ec8bbd5ecf580ed2c7)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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`.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The logic regarding the generated `.version-suffix` file is already
defined in `lib/trivial.nix` and shouldn't be duplicated in
`nixos/version`.
|
| | | | |
| | | | |
| | | | |
| | | | | |
for every deprecated function.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Incompletely documented, and a FIXME/bug that has been there for years.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`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).
|