Commit Graph

124037 Commits

Author SHA1 Message Date
John Ericson
4d2b763817
Merge pull request #26805 from obsidiansystems/cross-elegant
Make cross compilation elegant
2017-12-30 22:58:02 -05:00
John Ericson
a98e68676d doc: Breaking change release not for dependency propagation logic 2017-12-30 22:42:15 -05:00
John Ericson
8a434b625d doc: Add cross cookbook
An excellent suggestion from @bgamari
2017-12-30 22:42:15 -05:00
John Ericson
edfe42f3ba doc: More information in the setup hook section of the stdenv chapter 2017-12-30 22:42:14 -05:00
John Ericson
b55999b28f doc: Document dontStripHost and dontStripTarget 2017-12-30 22:41:44 -05:00
John Ericson
553fd19e67 Merge branch 'ericson2314-cross-base' into staging 2017-12-30 22:39:19 -05:00
John Ericson
7ffc4e1b2f doc: Add "Specifying Dependencies" section to the stdenv chapter
This accounts for all the new dependencies and propagation logic changes
I'm about to add.

Fixes #1915---with this change I think the distinction is finally clear
enough.
2017-12-30 22:35:59 -05:00
John Ericson
e9a369b2c6 kdoctools: Perl is a propagated *run*-time dep
It was improperly classified a build-time dep to get around the
incorrect propagation logic that was in place before this PR.

Additionally fix some `kdoctools` usage were it is incorrectly used a
run-time dep.
2017-12-30 22:04:23 -05:00
John Ericson
469fd89832 stdenv-setup: Ease the transition with native builds
- All deps go on the PATH

 - CC and Bintools wrappers with their host != depender's host still get their
   setup hooks run.

 - Environment hooks get applied to all packages

This isn't so elegent, but eases the transition on a very significant
PR.
2017-12-30 22:04:23 -05:00
John Ericson
f083248290 linux bootstrap tools cross: Nuke more refs
libgcc.a and similar
2017-12-30 22:04:23 -05:00
John Ericson
e0f1739c75 treewide: Don't use nativePkgs or crossPkgs anymore 2017-12-30 22:04:22 -05:00
John Ericson
046f091e0d treewide: Don't use envHook anymore
This commits needs a MAJOR audit as I oftentimes just guessed which of
`$hostOffset`, `$targetOffset`, or a fixed offset should be used.
2017-12-30 22:04:22 -05:00
John Ericson
a1cdc2011e strip setup hook: Learn about only stripping host/target binaries alone
`dontStrip` is still a catch-all, but `dontStripHost` and
`dontStripTarget` are also now available for finer-grained disabling.
2017-12-30 22:04:22 -05:00
John Ericson
4ad9a97e96 gcc: Don't let solaris hack pollute CC elsehwere 2017-12-30 22:04:22 -05:00
John Ericson
0f5c804631 gcc, binutils: Get rid of 32-bit ARM configure flag exception
Now that we do `--enable-targes=all`, there is no risk of missing the
needed emulation.

This reverts commit ebc9b161cd.
This reverts commit 88efc22b44.
2017-12-30 22:04:22 -05:00
John Ericson
9cda2f5559 gcc: Fix deps, for cross and consistency
Mainly making sure we have tools to build target libs
2017-12-30 22:04:22 -05:00
John Ericson
114a9b6253 gcc: Let cc-wrapper's setup hook define any tool env vars we need 2017-12-30 22:04:21 -05:00
John Ericson
bc23afe5c7 gcc: Add build->build dep for C compilers
5 already had this, but I forgot the other versions.
2017-12-30 22:04:21 -05:00
John Ericson
5b74540c5b treewide: Use depsBuildBuild for buildPackges.stdenv.cc 2017-12-30 22:04:21 -05:00
John Ericson
3a50395ef2 {bintools,cc}-wrapper: extraPackages should be depsTargetTargetPropagated
They are libraries used by programs built with these tools, not used by the
tools themselves.
2017-12-30 22:04:21 -05:00
John Ericson
a036473a0a {bintools,cc}-wrapper: Fix setup hook to respect the role of the cc-compiler
We now have the information to properly determine the role the
cc-wrapper dependency has, by taking advantage of `offset`. No longer
use the soon-to-be-deprecated crossConfig environment variable, the
temp hack used before this change.
2017-12-30 22:04:21 -05:00
John Ericson
7f3ca3e21a stdenv: Fix handling of dependencies and hooks
4 far-reaching changes: Smaller PATH, New vars, different propagation
logic, and different hook logic

Smaller PATH
------------

`buildInputs` no longer go on the PATH at build time, as they cannot be
run when cross compiling and we don't want to special case. Simply make
a `nativeBuildInput` too if one needs them on the PATH. Fixes #21191.

Many new depedendency variables
-------------------------------

See the stdenv chapter of the nixpkgs manual. I pulled out the existing
documentation of dependency specification into a new section, and added
language for these two (and their propagated equivalents) along side
the others'.

More complex propagation logic
------------------------------

Before a propagated*XXX*Input always acted as if it was specified
directly as a *XXX*Input downstream. That's simple enough, but violates
the intended roles of each sort of dep, which has functional and not
just stylistic consequences.

The new algorithm is detailed in the manual, and ensures everything
ends up in the right place. I tried to give both an informal and formal
description, but I suspect in practice it will not make much sense
until one tries cross compiling, after which it will immediately make
sense as the only sane option.

Simplified hook logic
---------------------

Rather than `envHook` and `crossEnvHook`, whose behavior differs
depending on whether we are cross compiling or not, there is now one
hook per sort (or rather non-propagated and propagated pair of sorts)
of dependency. These new hooks have the same meaning regardless of
cross compilation. See the setup hook section of stdenv chapter of the
Nixpkgs manual for more details.
2017-12-30 22:04:21 -05:00
John Ericson
bb18a3b573 top-level: Splice in more package sets for new types of deps
This is done in preparation for the next commit where, among other
changes, I add support for the new `dep*` attributes.
2017-12-30 22:04:20 -05:00
John Ericson
281fb9c222 Merge branch 'bintools-release-note' into ericson2314-cross-base 2017-12-30 19:37:36 -05:00
John Ericson
da48603852
Merge pull request #33188 from obsidiansystems/clean-boost
boost: Clean, reducing duplication
2017-12-30 19:29:03 -05:00
John Ericson
d67e0921e9 doc: Breaking change release note for bintools-wrapper 2017-12-30 19:27:52 -05:00
John Ericson
76b590405a boost: Clean, reducing duplication
This was motivated originally by my cross work, but that goal requires a
few more commits to other things. Still, it's good to start the cleanup
now / get things out of the way.
2017-12-30 19:17:53 -05:00
Frederik Rietdijk
5920579a3d Python: disable user site-packages in setup hook
Wrappers already included `PYTHONNOUSERSITE=1`, but now this env var is
also set in the Python setup hook. This improves purity in case of
non-sandboxes builds and nix-shell.
2017-12-30 17:09:09 +01:00
Frederik Rietdijk
2d0bead714 Merge remote-tracking branch 'upstream/master' into HEAD 2017-12-30 17:04:54 +01:00
Frederik Rietdijk
9d4de1eac8
Merge pull request #32852 from georgewhewell/django-2_0
django: add 2.0 release
2017-12-30 15:30:05 +00:00
Frederik Rietdijk
9ee22e24b3
Merge pull request #33065 from teto/protocol
protocol: init at 20171226
2017-12-30 15:23:52 +00:00
Frederik Rietdijk
9b22100d87
Merge pull request #33104 from kim0/patch-1
electrum-ltc: 2.6.4.2 -> 2.9.3.1
2017-12-30 15:23:23 +00:00
Daiderd Jordan
d2b02d662e
Merge pull request #33179 from LnL7/darwin-libresolv
libresolv: fix library version
2017-12-30 16:01:03 +01:00
Herwig Hochleitner
5fdf1b972a wine: update stable and unstable
2.0.2 -> 2.0.3
2.19 -> 2.20

additional comments for the update procedure
2017-12-30 14:58:50 +01:00
Herwig Hochleitner
ea4320d348 wine: remove wrapper for wine64
fix #28486
2017-12-30 14:58:47 +01:00
Herwig Hochleitner
8e0a8d2bd8 webkitgtk: 2.18.3 -> 2.18.4
CVE-2017-7156
CVE-2017-13856
CVE-2017-13866
CVE-2017-13870
2017-12-30 14:52:50 +01:00
Herwig Hochleitner
c36ebca240 dwarf-fortress: 0.44.02 -> 0.44.03 2017-12-30 14:52:50 +01:00
Yegor Timoshenko
d7000b03cd
Merge pull request #33170 from schneefux/pkg.wallabag
wallabag: 2.2.3 -> 2.3.1
2017-12-30 16:25:41 +03:00
Peter Simons
1b33f09aae uhc: disable broken build 2017-12-30 13:54:25 +01:00
Peter Simons
016aa581a7 haskell: extend generic builder to recognize mis-configured Cabal 2.x builds
Cabal 1.x says:

 | Warning: This package indirectly depends on multiple versions of the same
 | package. This is highly likely to cause a compile failure.

But in version 2.x, that warning is split into two lines differently:

 | Warning:
 |     This package indirectly depends on multiple versions of the same package. This is very likely to cause a compile failure.

This commit modifies the call to "egrep" to recognize both versions by virtue
of the "-z" flag, which essentially interprets the whole configure-time output
as one long line.
2017-12-30 13:53:05 +01:00
Peter Simons
a05d950812 haskell-intero-nix-shim: build is broken 2017-12-30 13:53:05 +01:00
Peter Simons
8128c17d44 haskell-vaultenv: build is broken due to "optparse-applicative <0.14" dependency
Ping @lnl7.
2017-12-30 13:53:04 +01:00
Peter Simons
7eeea3d7e2 haskell: configure overrides to fix numerous package builds with GHC 7.10.3 2017-12-30 13:53:04 +01:00
Peter Simons
f84d863793 hackage-packages.nix: automatic Haskell package set update
This update was generated by hackage2nix v2.7.1-1-gc1b61fc from Hackage revision
fa9adf335b.
2017-12-30 13:53:04 +01:00
Peter Simons
0232282eb5 hackage2nix: disable broken Hydra builds
- Ping @khumba for failing "hoppy-runtime":
   https://hydra.nixos.org/build/66704172.

 - Drop "persistent-redis" from the list of maintained packages (@psibi)
   because it continues to fail: https://hydra.nixos.org/build/66704120.
2017-12-30 13:51:48 +01:00
Peter Simons
f5a501074f Drop Haskell package set for GHC 7.8.4.
We support only the last three major releases, i.e. 7.10.x is the latest
compiler we worry about.

The *compiler* is still there, though; it's just the package set that's been
removed.
2017-12-30 13:51:07 +01:00
Peter Simons
af6f4f0849 ghc: drop obsolete version 7.8.3
We have the newer minor release 7.8.4.
2017-12-30 13:51:07 +01:00
Frederik Rietdijk
bb729316dd
Merge pull request #33201 from rnhmjoj/steamcontroller
Add Steam controller userspace driver
2017-12-30 11:55:47 +00:00
rnhmjoj
aa6a18a6d9
steamcontroller: init at 2017-08-11 2017-12-30 12:31:45 +01:00
rnhmjoj
c3b98dcead
pythonpackages.libusb1: init at 1.6.4 2017-12-30 12:31:45 +01:00