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

6026 commits

Author SHA1 Message Date
John Ericson a1a798f017 top-level: crossSystem is no longer exposed to packages. Use *Platform. 2017-01-24 11:37:56 -05:00
John Ericson bf17d6dacf top-level: Introduce buildPackages for resolving build-time deps
[N.B., this package also applies to the commits that follow it in the same
PR.]

In most cases, buildPackages = pkgs so things work just as before. For
cross compiling, however, buildPackages is resolved as the previous
bootstrapping stage. This allows us to avoid the mkDerivation hacks cross
compiling currently uses today.

To avoid a massive refactor, callPackage will splice together both package
sets. Again to avoid churn, it uses the old `nativeDrv` vs `crossDrv` to do
so. So now, whether cross compiling or not, packages with get a `nativeDrv`
and `crossDrv`---in the non-cross-compiling case they are simply the same
derivation. This is good because it reduces the divergence between the
cross and non-cross dataflow. See `pkgs/top-level/splice.nix` for a comment
along the lines of the preceding paragraph, and the code that does this
splicing.

Also, `forceNativeDrv` is replaced with `forceNativePackages`. The latter
resolves `pkgs` unless the host platform is different from the build
platform, in which case it resolves to `buildPackages`. Note that the
target platform is not important here---it will not prevent
`forcedNativePackages` from resolving to `pkgs`.

--------

Temporarily, we make preserve some dubious decisions in the name of preserving
hashes:

Most importantly, we don't distinguish between "host" and "target" in the
autoconf sense. This leads to the proliferation of *Cross derivations
currently used. What we ought to is resolve native deps of the cross "build
packages" (build = host != target) package set against the "vanilla
packages" (build = host = target) package set. Instead, "build packages"
uses itself, with (informally) target != build in all cases.

This is wrong because it violates the "sliding window" principle of
bootstrapping stages that shifting the platform triple of one stage to the
left coincides with the next stage's platform triple. Only because we don't
explicitly distinguish between "host" and "target" does it appear that the
"sliding window" principle is preserved--indeed it is over the reductionary
"platform double" of just "build" and "host/target".

Additionally, we build libc, libgcc, etc in the same stage as the compilers
themselves, which is wrong because they are used at runtime, not build
time. Fixing this is somewhat subtle, and the solution and problem will be
better explained in the commit that does fix it.

Commits after this will solve both these issues, at the expense of breaking
cross hashes. Native hashes won't be broken, thankfully.

--------

Did the temporary ugliness pan out? Of the packages that currently build in
`release-cross.nix`, the only ones that have their hash changed are
`*.gcc.crossDrv` and `bootstrapTools.*.coreutilsMinimal`. In both cases I
think it doesn't matter.

 1. GCC when doing a `build = host = target = foreign` build (maximally
    cross), still defines environment variables like `CPATH`[1] with
    packages.  This seems assuredly wrong because whether gcc dynamically
    links those, or the programs built by gcc dynamically link those---I
    have no idea which case is reality---they should be foreign. Therefore,
    in all likelihood, I just made the gcc less broken.

 2. Coreutils (ab)used the old cross-compiling infrastructure to depend on
    a native version of itself. When coreutils was overwritten to be built
    with fewer features, the native version it used would also be
    overwritten because the binding was tight. Now it uses the much looser
    `BuildPackages.coreutils` which is just fine as a richer build dep
    doesn't cause any problems and avoids a rebuild.

So, in conclusion I'd say the conservatism payed off. Onward to actually
raking the muck in the next PR!

[1]: https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html
2017-01-24 11:37:56 -05:00
Franz Pletz 7c5324f29a
nftables: disable broken xtables support 2017-01-24 11:47:34 +01:00
Shea Levy 4f9f00fcc9 Add function to build a ghc standalone archive (OSX/iOS only) 2017-01-23 18:35:03 -05:00
Daiderd Jordan 034d39b244
darwin: update shas, some sources where re-released with different metadata 2017-01-23 19:39:03 +01:00
Shea Levy b82d6b3a0a ios-cross: Expose the SDK directory via ccCross 2017-01-23 08:23:43 -05:00
Franz Pletz e10cd27269
Merge branch 'staging' 2017-01-23 11:06:41 +01:00
Tim Steinbach fc8233a64f
kernel: 4.4.43 -> 4.4.44 2017-01-22 12:11:50 -05:00
Franz Pletz b1e9acfb18 Merge pull request #21990 from Mic92/utillinux
utillinux: undo seccomp sandbox and improve purity
2017-01-22 14:15:01 +01:00
Franz Pletz f09c5c9c45
nftables: 0.6 -> 0.7, enable xtables support 2017-01-22 13:01:01 +01:00
Franz Pletz 210f894c12
iptables: split out dev output 2017-01-22 13:01:01 +01:00
Franz Pletz 016a194ac8
conntrack_tools: 1.4.3 -> 1.4.4 2017-01-22 13:01:01 +01:00
Jörg Thalheim 7cb14d4353 Merge pull request #22020 from Mic92/zfs
ZfsUnstable: 0.7.0-rc2 -> 0.7.0-rc3
2017-01-21 23:50:28 +01:00
Franz Pletz 56c6a4391f
zfs: add hint to try unstable version, fix typo 2017-01-21 23:35:55 +01:00
Franz Pletz 61caacbf47
linux: 4.1.36 -> 4.1.38 2017-01-21 20:41:38 +01:00
Franz Pletz ce3b98d08b
linux: 3.18.45 -> 3.18.47 2017-01-21 20:41:36 +01:00
Jörg Thalheim adecd56871
splUnstable: 0.7.0-rc2 -> 0.7.0-rc3 2017-01-21 18:18:33 +01:00
Jörg Thalheim c33e1e06fa
zfsUnstable: 0.7.0-rc2 -> 0.7.0-rc3 2017-01-21 18:18:17 +01:00
Michael Raskin dc6413399c eudev: fix build with a fresh gperf 2017-01-21 08:55:17 +01:00
Daiderd Jordan c7d49e5f69
darwin: fixed eval of frameworks 2017-01-21 01:01:46 +01:00
Robert Helgesson ba4687c3ea
radeontop: 2016-07-04 -> 2016-10-28
This is actually version 1.0 but to support `nix-env -u` we continue
using the release date.
2017-01-20 23:14:53 +01:00
Shea Levy e70dcf6818 ios-cross: Bump sdk version, verify sdk install at build time 2017-01-20 14:10:15 -05:00
Vladimír Čunát 6b6553c768
Merge branch 'staging'
It contains security updates.  I somehow forgot to push this yesterday.
2017-01-20 16:33:59 +01:00
Shea Levy 34c52896d1 linux 4.9.4 -> 4.9.5 2017-01-20 09:36:04 -05:00
Nikolay Amiantov d75a3cfb29 Merge pull request #21995 from abbradar/opencl
Fix OpenCL support
2017-01-20 12:09:17 +03:00
Nikolay Amiantov 05eee18e7a linuxPackages.nvidia_x11: fix OpenCL support
* Move OpenCL .icd file to the right place;
* Remove libOpenCL.so (we use ocl-icd instead).
2017-01-20 03:37:51 +03:00
Robin Gloster a6ebca448e
iproute: update fan patches 2017-01-19 17:28:22 +01:00
Jörg Thalheim 104a37a9fb
util-linux: improve purity by using login from shadow
replacing shutdown in postPatch phase is not necessary as rtcwake was already
patched to use the search path (the only user of shutdown)
2017-01-19 15:13:38 +01:00
Jörg Thalheim 4b9b1fa945
util-linux: remove seccomp sandbox for CVE-2016-2279
the patch for CVE-2016-2779 was reverted by upstream and was not adopted
by any other downstream distributions. Upstream waits for a better fix
in the kernel:
https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-ReleaseNotes
2017-01-19 15:10:18 +01:00
Vladimír Čunát 40003aa2ed
Merge branch 'master' into staging 2017-01-18 15:54:04 +01:00
Tuomas Tynkkynen 9fc3ce73d1 kernel config: Enable BONDING and TMPFS_POSIX_ACL
Yet again something that's lacking on other platforms than x86.
2017-01-18 01:21:08 +02:00
Eelco Dolstra e9109b1b97
linux: 4.4.42 -> 4.4.43 2017-01-17 12:02:46 +01:00
Eelco Dolstra 9a9be9296f
linux: 4.9.3 -> 4.9.4 2017-01-17 12:02:46 +01:00
Tuomas Tynkkynen 08ddb16865 linux_testing: 4.10-rc2 -> 4.10-rc4 2017-01-16 11:41:13 +02:00
Thomas Tuegel 04d11637cb
linux_4_9: enable support for amdgpu on older chipsets
Linux 4.9 includes experimental amdgpu support for AMD Southern Islands
chipsets. (By default, only Sea Islands and newer chipsets are supported.)
Southern Islands chips will still use radeon by default, but daring users may
set `services.xserver.videoDrivers = [ "amdgpu" ];` to try the experimental
driver.
2017-01-15 16:29:50 -06:00
Jörg Thalheim 12b2830446
wireguard: 0.0.20170105 -> 0.0.20170115 2017-01-15 17:33:54 +01:00
Daiderd Jordan d6517b6e5e Merge pull request #21898 from matthewbauer/darwintools
DarwinTools: init at 1
2017-01-15 10:11:39 +01:00
Jörg Thalheim 2ab883c9da
sysdig: patch for linux >= 4.9.1 2017-01-15 00:08:12 +01:00
Tim Steinbach e8d3c74b49
util-linux: 2.28.1 -> 2.29 2017-01-14 12:57:58 -05:00
Tim Steinbach afb73be9f7 busybox: 1.26.1 -> 1.26.2 2017-01-14 17:19:43 +01:00
Tim Steinbach 295337ead5
linux: 4.9.2 -> 4.9.3 2017-01-14 11:02:26 -05:00
Tim Steinbach 9158b89fd3
linux: 4.4.41 -> 4.4.42 2017-01-14 11:01:52 -05:00
Franz Pletz 44efd447b6 Merge pull request #21816 from NeQuissimus/linux_4_8_removal
linux: Remove 4.8
2017-01-12 10:22:29 +01:00
Graham Christensen d20d38e68d
nvidia_x11_legacy340: 340.96 -> 340.101 for CVE-2016-7382, CVE-2016-7389, CVE-2016-8826 2017-01-11 20:11:20 -05:00
Graham Christensen 9837dce6d2
nvidia_x11_legacy304: 304.131 -> 304.134 for CVE-2016-7382, CVE-2016-7389, CVE-2016-8826 2017-01-11 20:11:14 -05:00
Tim Steinbach d483a871d1
linux: Remove 4.8 2017-01-11 16:59:29 -05:00
Jude Taylor 3f49c4f3ce reattach-to-user-namespace: fix version 2017-01-10 12:21:43 -08:00
Jude Taylor f2713ce805 update reattach-to-user-namespace 2017-01-10 11:51:03 -08:00
David McFarland b2da3d3050 amdgpu-pro: 16.40 -> 16.50 (#21502) 2017-01-10 15:24:21 +01:00
Michael Raskin 5b9d80646b mdadm4: init at 4.0
Would be just mdadm: 3.3.4 -> 4.0, but it doesn't look like there are
urgent bugfixes, and it is a major release, and wrong RAID handling
kills data, so let's let the early adopters test it a bit.
2017-01-10 14:09:20 +01:00