Commit graph

99634 commits

Author SHA1 Message Date
John Ericson 09401d44eb cc-wrapper: Remove unneeded crossAttrs 2017-01-24 11:37:56 -05:00
John Ericson 92edcb7ebb top-level: Lay the groundwork for {build,host,target}Platform
The long term goal is a big replace:
  { inherit system platform; } => buildPlatform
  crossSystem => hostPlatform
  stdenv.cross => targetPlatform
And additionally making sure each is defined even when not cross compiling.

This commit refactors the bootstrapping code along that vision, but leaves
the old identifiers with their null semantics in place so packages can be
modernized incrementally.
2017-01-24 11:37:56 -05:00
David Grayson 5b88f09ec4 coreutils: Fix indentation after removing self in buildPackages commit 2017-01-24 11:37:56 -05:00
John Ericson d27403b17b libiconv: TEMP force building library improperly for target plat like libc 2017-01-24 11:37:56 -05:00
John Ericson 94df8e7e4d openssl: Output-santizing hack properly uses native perl again 2017-01-24 11:37:56 -05:00
John Ericson eee7cafaf7 coreutils: Use buildPackages instead of self hack for native version 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
zimbatm c3e4c2f179 jjtraveler: remove package
The package is a java library that no other project is using and which
upstream source doesn't work.

See http://www.program-transformation.org/Tools/JJTraveler
2017-01-24 16:34:36 +00:00
zimbatm 31d1a52b0c lucene: 1.4.1 -> 1.4.3 2017-01-24 16:31:39 +00:00
zimbatm 4b284a2bb6 mockobjects: use sha256 hash 2017-01-24 16:28:20 +00:00
zimbatm 7ef36fface jclasslib: use sha256 hash 2017-01-24 16:27:20 +00:00
zimbatm 6f21a99bdd doc/old/cross.txt: md5 -> sha256 2017-01-24 16:26:05 +00:00
zimbatm 1005d786ba libjpeg62: remove
This package has broken upstream url and was only used by warsow
2017-01-24 16:22:25 +00:00
zimbatm 38cc58896c warsow: mark as broken
libjpeg62 is broken as well
2017-01-24 16:16:47 +00:00
zimbatm a17311a33e antlr3: point to version 3.4
This was pointing to a broken upstream URL and is a beta release. No
dependent in the nixpkgs tree.
2017-01-24 16:15:21 +00:00
zimbatm 4958485bc3 ocamlPackages.ocaml_optcomp: update hash to sha256 2017-01-24 16:01:04 +00:00
Jörg Thalheim ca8ab806bb
telegraf: 1.1.2 -> 1.2.0 2017-01-24 16:14:50 +01:00
Vladimír Čunát 30a94deac5
nss: remove parameter that just got unused 2017-01-24 15:56:36 +01:00
Lancelot SIX b00a455752 gnupg21: 2.1.17 -> 2.1.18
See http://lists.gnu.org/archive/html/info-gnu/2017-01/msg00013.html
for release announcement.
2017-01-24 15:51:14 +01:00
zimbatm 36ac7058d2 tetex: fix source urls 2017-01-24 14:46:33 +00:00
Vladimír Čunát f8e39ec13c
nss: fetchpatch -> fetchurl
This isn't a dynamically generated patch, so it's not required,
and the hash was for unmodified patch anyway.
2017-01-24 15:43:53 +01:00
Jean-Pierre PRUNARET fc6622a098 munin: 2.0.29 -> 2.0.30 2017-01-24 15:23:46 +01:00
Jean-Pierre PRUNARET 319879354b munin: fetchurl -> fetchFromGithub 2017-01-24 15:23:43 +01:00
Eelco Dolstra b6adec130b Merge pull request #22093 from taku0/firefox-bin-51.0
firefox-bin: 50.1.0 -> 51.0
2017-01-24 15:17:54 +01:00
Eelco Dolstra c2bd9cad11
sqlite: 3.15.2 -> 3.16.2 2017-01-24 14:54:19 +01:00
Eelco Dolstra 15114fc46a Merge pull request #22092 from taku0/firefox-51.0
firefox: 50.1.0 -> 51.0, firefox-esr: 45.6.0esr -> 45.7.0esr
2017-01-24 14:50:15 +01:00
Eelco Dolstra 2bf0f84f1f
nss: 3.27.2 -> 3.28.1 2017-01-24 14:49:46 +01:00
Kai 25d86bdd10 vnstat service: init (#19809) 2017-01-24 14:45:01 +01:00
romildo e8e5e640bb cbatticon: 1.6.4 -> 1.6.5 2017-01-24 11:43:11 -02:00
romildo c99db543ab xfce4-whiskermenu-plugin: 1.6.1 -> 1.6.2 2017-01-24 11:33:00 -02:00
Bas van Dijk 52d44b76c1 opencv: upgrade from 3.1.0 to 3.2.0 2017-01-24 14:24:05 +01:00
taku0 9c9424d316 firefox: 50.1.0 -> 51.0, firefox-esr: 45.6.0esr -> 45.7.0esr 2017-01-24 22:10:58 +09:00
romildo fee579701d hexchat: 2.12.3 -> 2.12.4
- Update hexchat to version 2.12.4
- Use sources from github, as the source at
http://dl.hexchat.net/hexchat/hexchat-2.12.4.tar.xz contains invalid symbolic
links in the directory 'build-aux'
- Run 'autogen.sh' to generate 'configure' and friends, as they are not
available in the distributed sources from github.
2017-01-24 11:00:41 -02:00
Eelco Dolstra 7bc801e282
curl: Apply upstream patch to fix https hangs
https://github.com/curl/curl/issues/1174

Fixes https://github.com/NixOS/nix/issues/1181.
2017-01-24 13:51:30 +01:00
Sander van der Burg de9a4f5fb4 titaniumenv: add 6.0 SDK + bump kitchensink testcase 2017-01-24 13:22:16 +01:00
Jean-Pierre PRUNARET 11f878a0e5 add a maintainer 2017-01-24 13:05:58 +01:00
Jean-Pierre PRUNARET 86af731cf8 hubicfuse: 2.1.0 -> 3.0.0
* bump version
* fetchurl -> fetchFromGitHub
2017-01-24 13:05:58 +01:00
Eelco Dolstra a82810c7a7
linux: Apply 9p veryloose patch to 4.9 2017-01-24 13:05:02 +01:00
Tristan Helmich b3b300b6ff smokeping: setuid for fping6 2017-01-24 12:40:21 +01:00
Peter Simons 92b1e39e1c Merge pull request #22088 from roberth/fix-haskell-doctest-discover
haskellPackages.doctest-discover: fix
2017-01-24 12:05:47 +01:00
Robert Hensing de8148d74c haskellPackages.doctest-discover: fix 2017-01-24 11:57:09 +01:00
Franz Pletz 7c5324f29a
nftables: disable broken xtables support 2017-01-24 11:47:34 +01:00
Arseniy Seroka 303a5a4e72 Merge pull request #22081 from ericsagnes/pkg-update/groonga
groonga: 6.1.1 -> 6.1.5
2017-01-24 13:28:09 +03:00
Sander van der Burg 4f7fe27065 titaniumenv: use Node.js 4.x for the CLI tools 2017-01-24 10:55:29 +01:00
Jörg Thalheim 4785a19444 Merge pull request #22073 from romildo/upd.pcmanfm
{lib,pcman}fm: 1.2.4 -> 1.2.5
2017-01-24 10:48:56 +01:00
Vladimír Čunát fd26ad6f76
nixos programs.man.enable: improve description 2017-01-24 09:59:54 +01:00
Daiderd Jordan adfb7e1f13
kwm: init at 1.1.4 2017-01-24 08:31:11 +01:00
Kamil Chmielewski f50b61b275 pasystray: 0.5.2 -> 0.6.0 2017-01-24 07:19:04 +01:00
Eric Sagnes 4ef84c3115 groonga: 6.1.1 -> 6.1.5 2017-01-24 13:36:42 +09:00
Benjamin Staffin b2b32eaaff Merge pull request #22080 from benley/exercism
exercism: Broaden platforms to include darwin, etc
2017-01-23 23:20:52 -05:00