Commit graph

99640 commits

Author SHA1 Message Date
John Ericson
76ea89aa78 nixpkgs doc: Talk about nativeBuildInputs and propgatedNativeBuildInputs
Do so in the stdenv section where the other two are discussed. This can be
done without brining up cross-compilation by talking about build-time vs
run-time.
2017-01-24 11:37:56 -05:00
John Ericson
7dc4e43837 nixos doc: Mention cross overhaul in 17.03 release notes 2017-01-24 11:37:56 -05:00
John Ericson
bfb147b6a8 top-level: Only splice as needed for performance 2017-01-24 11:37:56 -05:00
John Ericson
4c17cd555f top-level: Document the {local,cross}System, contrasting with *Platform`
This is an implementation detail of how the bootstrapping chain is chosen,
and thus need not be in the manual.
2017-01-24 11:37:56 -05:00
John Ericson
a1a798f017 top-level: crossSystem is no longer exposed to packages. Use *Platform. 2017-01-24 11:37:56 -05:00
John Ericson
1c0365bd88 cross-stdenv: Inline useless bindings and reindent
Semantics should be unchanged
2017-01-24 11:37:56 -05:00
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