1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-24 22:50:49 +00:00
Commit graph

131010 commits

Author SHA1 Message Date
John Ericson 341794a4b9 lib/systems: Sort platforms, and space CPUs 2018-05-11 15:02:18 -04:00
John Ericson e98814461d glibc: Remove old-style nullable "cross" variable
Much better to just use {build,host}Platform directly.
2018-05-10 18:05:08 -04:00
John Ericson 1fe81a4bcd lib: Clean up float/fpu options
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.
2018-05-10 18:02:00 -04:00
John Ericson c9f6a82b61 gcc: Factor out "platform flags" 2018-05-10 18:00:57 -04:00
John Ericson a02be2bd85 treewide: Get rid of *Platform.arch
Use `parsed.cpu.name` or `platform.gcc.arch` instead.
2018-05-10 01:37:31 -04:00
John Ericson a31984ecda uclibc: Bump to uclibc-ng 1.0.30 2018-05-10 00:17:44 -04:00
John Ericson d65fe65616 uclibc: Fix eval 2018-05-10 00:17:43 -04:00
John Ericson f063a860d6 xbursttools: Cleanup slightly 2018-05-09 23:40:13 -04:00
John Ericson e42a7a5c0b lib/systems: Add uClibc just like MUSL 2018-05-09 23:39:23 -04:00
John Ericson 3fa0ba9177 lib/systems: Parse more arm cpu types 2018-05-09 18:57:39 -04:00
John Ericson 302c4c5f2d stdenv: Put back isArm, with deprecation notice.
This was always meant to be deprecated rather than removed.
2018-05-07 20:14:52 -04:00
John Ericson b9acfb4ecf treewide: isArm -> isAarch32
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 ba52ae5048)
2018-04-25 15:50:41 -04:00
John Ericson 1a72330ab0 cc-wrapper: Utilize patched cctools ld for more robust macOS Sierra hack
Also fix numberous bugs, such as:

 - Not getting confused on more flags taking file arguments.

 - Ensuring children reexport their children, but the original
   binary/library doesn't.

 - Not spawning children when it turns out we just dynamically link
   under the threshold but our total number of inputs exceeeds it.

 - Children were always named `libunnamed-*`, when that name was
   supposed to be the last resort only.

ld-wrapper's own RPATH check hardcodes `.so`, but darwin uses `.dylib`
*and* (in practice due to lousy build systems) `.so`. We don't care
however because we never inject `--rpath` like that in practice on
Darwin. Hopefully someday we won't on linux either.
2018-04-13 13:17:03 -04:00
John Ericson 1001311280 cctools: Add alternative source for sierra hack
Source master rebase of my [PR #34].

Eventually, we might consider doing something for GNU binutils too, in
order that we switch (the normal) ld-wrapper to always use this to
leverage ld to resolve libraries, rather than faking it in bash.

[PR #34]: https://github.com/tpoechtrager/cctools-port/pull/34
2018-04-12 19:16:51 -04:00
John Ericson 01e1722e8f cctools: Make assert meta.broken instead
This more politely expresses the same thing
2018-04-12 19:15:47 -04:00
John Ericson 175d4ab1db lib: Make platform predicates greppable
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 88c04a8b6b)
2018-03-20 12:35:20 -04:00
John Ericson ec2aff0be6 lib: Messed up or operator precedence
Github broke oddly on my previous PR, so I tested and merged by hand.
Otherwise ofborg would have caught this.
2018-03-19 22:25:49 -04:00
John Ericson 192f4144b2 release-lib: Filter supportedSystems with meta.platforms-style patterns
Instead of intersecting system strings, we filter with the sort of
patterns used in `meta.platforms`.

Indicating this change `forTheseSystems` has been renamed to
`forMatchingSystems`, since the given list is now patterns to match, and
not the systems themselves. [Just as with `meta.platforms`, systems
strings are also supported for backwards compatibility.]

This is more flexible, and makes the `forMatchingSystems` and
packagePlatforms` cases more analogous.
2018-03-19 21:32:28 -04:00
John Ericson e547bd0dc4 lib: Factor in tiny bit of meta.platform checking
I need it in stdenv and release-lib, so that seems motivation enough.
2018-03-19 19:29:16 -04:00
John Ericson eae19f3c28 release-lib: Adapt to work with new meta.platforms
`packagePlatforms` now filters `supportedSystems` with the new-style
`meta.platforms`, rather than just plopping it in as is.
2018-03-15 00:44:38 -04:00
John Ericson c26252af3e lib, stdenv: Check meta.platforms against host platform and be open world
First, we need check against the host platform, not the build platform.
That's simple enough.

Second, we move away from exahustive finite case analysis (i.e.
exhaustively listing all platforms the package builds on). That only
work in a closed-world setting, where we know all platforms we might
build one. But with cross compilation, we may be building for arbitrary
platforms, So we need fancier filters. This is the closed world to open
world change.

The solution is instead of having a list of systems (strings in the form
"foo-bar"), we have a list of of systems or "patterns", i.e. attributes
that partially match the output of the parsers in `lib.systems.parse`.
The "check meta" logic treats the systems strings as an exact whitelist
just as before, but treats the patterns as a fuzzy whitelist,
intersecting the actual `hostPlatform` with the pattern and then
checking for equality. (This is done using `matchAttrs`).

The default convenience lists for `meta.platforms` are now changed to be
lists of patterns (usually a single pattern) in
`lib/systems/for-meta.nix` for maximum flexibility under this new
system.

Fixes #30902
2018-03-15 00:44:34 -04:00
John Ericson 4c52e34ca6 stdenv: Clean up check meta args 2018-03-14 18:58:07 -04:00
John Ericson f79f80dbf2 treewide: get rid of platforms.allBut
Negative reasoning like `allBut` is a bad idea with an open world of
platforms. Concretely, if we add a new, quite different sort of
platform, existing packages with `allBut` will claim they work on it
even though they probably won't.
2018-03-14 18:44:42 -04:00
John Ericson 2d1d83d836 pond: Simplify platform logic 2018-03-12 18:55:42 -04:00
John Ericson b152dcf852 pharo: Tighten source and simplify meta.platforms 2018-03-12 18:55:41 -04:00
John Ericson c208ca6387 robo3t: Simplify meta.platforms and don't refer to glibc directly 2018-03-12 18:55:41 -04:00
John Ericson 94cbd14120 nethack: Fix platform logic 2018-03-12 18:55:41 -04:00
John Ericson 59c656a421 dvdisaster: Fix sse2 logic for cross and improved meta.platforms 2018-03-12 18:55:41 -04:00
John Ericson 79d8353b5e treewide: Make shouldUsePackages copypasta use meta.available
The old way depended on old list-of-strings `meta.platforms`, and was
not good for cross.
2018-03-12 18:55:41 -04:00
John Ericson eeb8419c6a ceph: Fix --with-file-aio logic for new meta.platforms and cross 2018-03-12 18:55:41 -04:00
John Ericson dde80d705e qtbase: Fix x86_64-conditional logic
Now works with cross and old and new meta checks alike.
2018-03-12 18:55:41 -04:00
zimbatm 1bc5bf4beb
Merge pull request #36283 from aneeshusa/fix-vagrant-2.0.2
Fix vagrant 2.0.2
2018-03-05 18:03:02 +00:00
Frederik Rietdijk 8bcdb39a27
Merge pull request #27678 from volth/restore-bridge-slaves-dynamically-added-by-libvirt
nixos/networking-scripted: restore bridge slaves dynamically added by…
2018-03-05 17:31:22 +00:00
Franz Pletz 4ff4ef51b7
pythonPackages.wsproto: init at 0.11.0 2018-03-05 18:06:30 +01:00
Franz Pletz 92cbfd8555
pythonPackages.h11: init at 0.7.0 2018-03-05 18:06:29 +01:00
Franz Pletz cda1e6c21b
urbanterror: 4.3.2 -> 4.3.3 for CVE-2017-6903 2018-03-05 18:06:29 +01:00
Franz Pletz 1a0f84d0b8
wireshark: 2.4.4 -> 2.4.5 2018-03-05 18:06:29 +01:00
Franz Pletz d21e682dde
virtmanager: 1.5.0 -> 1.5.1 2018-03-05 18:06:29 +01:00
Graham Christensen bc6e650e94
Merge pull request #36347 from grahamc/fix-null-fields
maintainers: remove null fields
2018-03-05 11:53:06 -05:00
Tim Steinbach 1d1275ef8b
linux: 4.16-rc3 -> 4.16-rc4 2018-03-05 11:30:23 -05:00
Graham Christensen 5e8bdb8972
maintainers: remove null fields 2018-03-05 11:14:35 -05:00
Dino Dai Zovi ddf13e6646 nixos/initrd-network: add udhcpc.extraArgs option (#36305)
This can be used to fix issues where udhcpc times out before
acquiring a lease. For example of these issues, see:

https://bugs.alpinelinux.org/issues/3105#note-8

Signed-off-by: Dino A. Dai Zovi <ddz@theta44.org>
2018-03-05 15:53:59 +00:00
Peter Simons 18055971cb hackage: update database snapshot to latest version 2018-03-05 16:45:07 +01:00
Peter Simons 6568cbc1bb hackage-packages.nix: automatic Haskell package set update
This update was generated by hackage2nix v2.8.2-8-g0aa23ac from Hackage revision
4caf6826b1.
2018-03-05 16:45:01 +01:00
Peter Simons ff45358a3c LTS Haskell 10.8 2018-03-05 16:44:23 +01:00
Peter Simons 3d8694ee2d ghcjs: mark build broken 2018-03-05 16:44:23 +01:00
Peter Simons 1b0c67259e haskell: cosmetic changes to the generic builder 2018-03-05 16:44:23 +01:00
Franz Pletz 830ccafedc
youtubeDL: 2018.02.22 -> 2018.03.03 2018-03-05 15:55:55 +01:00
Franz Pletz ee6394bbba
sslh: 1.19 -> 1.19c 2018-03-05 15:55:39 +01:00
Franz Pletz ad52dee190
mpd: 0.20.15 -> 0.20.18 2018-03-05 15:49:26 +01:00