Commit graph

455 commits

Author SHA1 Message Date
John Ericson
43d5c5d6db Merge commit '703a9f93c1254f7bdf0350ca0462de0d78033c62' into gcc-simplify-flags 2017-12-05 17:58:16 -05:00
John Ericson
992bd2f6d3 Merge commit 'ab77a6bb1e7d2ff475210ad392f1a9bd1bb6ba3a' into gcc-simplify-flags 2017-12-05 17:41:15 -05:00
John Ericson
93cd0685c5 Merge commit '71186e73455a4e06e96a31da34b76f84e545ba1f' into gcc-simplify-flags 2017-12-05 17:09:41 -05:00
John Ericson
c9ca541994 Merge commit '198dceccbe5414a5fd72ca83624c0cc715db1aad' into gcc-simplify-flags 2017-12-05 16:55:11 -05:00
John Ericson
a3e35fbbe1 gcc: Use platformFlags in crossConfigureFlags
A nice code deduplication
2017-12-05 14:01:18 -05:00
John Ericson
1fe9798ac2 lib, gcc: No inherit (platform) gcc; in {host,build,target}Platform 2017-12-05 13:52:20 -05:00
John Ericson
74cbb5796e gcc: Get rid of crossAttrs.configureFlags 2017-12-04 20:50:59 -05:00
John Ericson
cabfe1885f gcc: Don't try to enable plugins with host != build 2017-12-04 16:27:18 -05:00
John Ericson
2fdca4db69 gcc: Lock down more tools for cross-builds
That is, build != host == target
2017-12-04 16:27:18 -05:00
Tuomas Tynkkynen
703a9f93c1 gcc6: Restore missing platform flags
This was missed in commit 1c1207220f
("gcc: Refactor treatment of configure flags"), all other GCC versions
have it right.
2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
0f249a7354 gccSnapshot: Reduce diff to gcc7 2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
d7a0695c43 gcc7: Reduce diff to gcc6 2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
825b953bf5 gcc48: Reduce diff to gcc49 2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
77b409b2cf gcc49: Reduce diff to gcc5 2017-11-29 23:09:17 +02:00
Tuomas Tynkkynen
aa3d195a30 gcc5: Reduce diff to gcc6 2017-11-29 23:09:16 +02:00
Orivej Desh
d99a2fc093 Merge branch 'master' into staging
* master: (293 commits)
  go_1_9: skip flaky TestServerCancelsReadTimeoutWhenIdle
  qsyncthingtray: fix build
  qt56.qtwebengine: fix build
  stdman: d860212 -> 2017.04.02
  jackett: use mono50
  hg-git: disable with python3
  hg-git: 0.8.5 -> 0.8.10
  xfce4-settings: enable parallel building
  gcc-snapshot: mark as broken
  heaptrack: 2017-02-14 -> 2017-10-30
  nixos-container: Modify existing test to cover show-ip command
  nixos-container: Make show-ip work together with ipv4 + netmask
  linux-copperhead: 4.13.12.a -> 4.13.13.a
  matterbridge: 1.1.0 -> 1.4.1
  nixos/nghttpx: add module for the nghttpx proxy server (#31680)
  mattermost: 4.3.0 -> 4.4.0
  breakpad: delete
  simp_le: 0.2.0 -> 0.6.1
  certbot: 0.11.1 -> 0.19.0
  afl: 2.51b -> 2.52b
  ...
2017-11-17 05:35:09 +00:00
Orivej Desh
e188747d89 gcc-snapshot: mark as broken
It is older than gcc7 and fails to compile due to ucontext_t changes in glibc 2.26.
2017-11-16 20:22:10 +00:00
John Ericson
ab77a6bb1e gcc: Misc indentation and whitespace-in-string fixes 2017-11-14 18:32:50 -05:00
Ben Gamari
1c1207220f gcc: Refactor treatment of configure flags
Previously configureFlags was defined as one giant interpolated string.
Here we refactor this definition to instead use the usual stdenv string
combinators. This seems more in-line with the average nixpkgs expression
and it seems a bit more natural to things of these as lists of flags
rather than monolithic strings.
2017-11-14 16:23:46 -05:00
Piotr Bogdan
7112718a20 gcj: fix build with glibc 2.26 2017-11-09 20:50:21 +00:00
John Ericson
0101856765
Merge pull request #30549 from obsidiansystems/bintools
treewide: Introduce stdenv.cc.bintools
2017-11-08 14:20:48 -05:00
Vladimír Čunát
f04b64c1e9
gcc-4.5: fixup build with glibc-2.26
The older the GCC, the easier the backporting :-)
2017-11-07 15:39:24 +01:00
Vladimír Čunát
54c14e2fa3
gcc-4.8: fix with glibc-2.26 2017-11-07 14:53:10 +01:00
Vladimír Čunát
8da04338d7
gcc-4.9: fixup build with glibc-2.26
Upstream didn't backport this, but fortunately it wasn't too hard.
2017-11-07 12:56:57 +01:00
John Ericson
4d4f94cde4 treewide: Depend on targetPackages.stdenv.cc.bintools instead of binutils directly
One should do this when needed executables at run time. It is more
honest and cross-friendly than refering to binutils directly, if one
neeeds the default binary tools for the target platform, rather than
binutils in particular.
2017-11-05 17:10:53 -05:00
Vladimír Čunát
0c01c58aec
gcc6: fix build with new glibc, by upstream patches 2017-11-05 19:09:53 +01:00
Will Dietz
a4d5586d47 gcc: 5.4.0 -> 5.5.0
Switch to xz since there is no bz2 variant (apparently)
2017-11-01 06:00:28 -05:00
Vladimír Čunát
80c57fd96a
gcj, gccgo: port fixes for 4.9 to 6
Tested that pdftk builds on linux again, and gccgo6 builds hello-world.
The default gcc doesn't rebuild.
2017-09-28 21:52:28 +02:00
John Ericson
1dd63de9a0 Merge some Master PRs into staging
No native hashes should be changed
2017-09-21 20:11:59 -04:00
John Ericson
54282b9610 gcc: Change default of crossStageStatic param to false
This gets us one step closer to removing `gccCrossStageFinal`.

Care is taken to avoid a mass rebuild; will clean up with one later.
2017-09-21 15:49:18 -04:00
Vladimír Čunát
16cf448933
gettext, gcc5: enable stackprotector now
This has been forgotten in #29349 ?
2017-09-19 17:52:32 +02:00
Frederik Rietdijk
febd5e323d Merge remote-tracking branch 'upstream/master' into HEAD 2017-09-08 20:48:14 +02:00
Nikolay Amiantov
1704eeb930 gcc7: 7.1.0 -> 7.2.0 2017-09-07 17:04:29 +03:00
Eelco Dolstra
ec8d41f08c
Revert "Merge pull request #28557 from obsidiansystems/binutils-wrapper"
This reverts commit 0a944b345e, reversing
changes made to 61733ed6cc.

I dislike these massive stdenv changes with unclear motivation,
especially when they involve gratuitous mass renames like NIX_CC ->
NIX_BINUTILS. The previous such rename (NIX_GCC -> NIX_CC) caused
months of pain, so let's not do that again.
2017-09-07 12:51:21 +02:00
Frederik Rietdijk
38dc9a870f Merge remote-tracking branch 'upstream/master' into HEAD 2017-09-06 14:01:25 +02:00
Daiderd Jordan
907222098a
clang-stdenv: use libstdcxxHook when targeting linux 2017-09-05 21:37:06 +02:00
John Ericson
6a089581f8 gcc-4.5: Fix typo 2017-09-04 15:53:02 -04:00
Daiderd Jordan
0ea92a3c24
libstdc++: add setup-hook 2017-09-04 21:07:05 +02:00
John Ericson
3f30cffa55 misc pkgs: Use $NIX_BINUTILS for when needed
Certain files are now only there instead of $NIX_CC (some are in both)
2017-09-01 11:44:55 -04:00
Tuomas Tynkkynen
2fc7651b25 Merge remote-tracking branch 'upstream/master' into staging 2017-08-24 02:08:32 +03:00
Tuomas Tynkkynen
0c0fad6141 treewide: Consistently call ARM 'arm'
No need for silly differences.
2017-08-24 01:17:01 +03:00
John Ericson
ebc9b161cd gcc: Add configurePlatforms exception for Arm 32
...just as we did for binutils. When the underlying issue is resolved
(probably with a configure script patch or lib/systems/parse.nix
change), this should be reverted.
2017-08-23 14:38:08 -04:00
John Ericson
71186e7345 gcc: Use configurePlatforms to control --build, --host, and --target 2017-08-23 14:28:59 -04:00
Vladimír Čunát
2afb096e83
gcc-4.5: fix build
It's fallout after output changes #27424.
gnat seems OK now, except that the wrapper is broken, so it's probably
not really usable.
2017-08-23 10:11:21 +02:00
Vladimír Čunát
beaad85500
gcc-4.8: fix build
Problems: building with gcc-6 now, and fallout after output changes #27424.
2017-08-20 11:11:44 +02:00
Vladimír Čunát
956c266fb7
gcc49: remove Darwin patch that's included in 4.9 2017-08-20 10:30:34 +02:00
John Ericson
0a4d102b98 gcc 5: Don't quote propagatedBuildInputs in ?-check for consistency
Forgot to do this in last commit.
2017-08-18 14:09:24 -04:00
John Ericson
b11889e6a4 gcc: Homogenize syntax in one small spot
Less noise in the diff help maintain these behemoths.
2017-08-18 14:03:48 -04:00
Daiderd Jordan
1b89036cdf
gcc7: port darwin changes from 5.x 2017-08-17 21:00:10 +02:00
Daiderd Jordan
261cbdbe19
gcc6: port darwin changes from 5.x 2017-08-17 21:00:05 +02:00
Daiderd Jordan
6e245440d4
gcc: remove CPP workaround 2017-08-16 21:38:41 +02:00
Daiderd Jordan
206faacbcb
gcc: fix clang build
Fixes #27889

This works properly now that LD_DYLD_PATH is fixed
2017-08-13 17:58:18 +02:00
Daiderd Jordan
d93c636737
Revert "gcc: fix clang build"
This fixes the gcc build but results in a gcc that doesn't generate
valid binaries.

gcc -o hello hello.c
./hello
Killed: 9

This reverts commit 2adf36ab8c.
2017-08-09 21:37:29 +02:00
Daiderd Jordan
2adf36ab8c
gcc: fix clang build 2017-08-08 23:22:24 +02:00
Silvan Mosberger
f5fa5fa4d6 pkgs: refactor needless quoting of homepage meta attribute (#27809)
* pkgs: refactor needless quoting of homepage meta attribute

A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.

* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit

* Fixed some instances
2017-08-01 22:03:30 +02:00
Eelco Dolstra
07176ed6f1
gcc: 6.3.0 -> 6.4.0 2017-07-04 18:39:18 +02:00
Ross MacLeod
198dceccbe gcc5: set --build and --host in the case where those differ and make sure to have a build cc-wrapper around as well 2017-06-22 17:53:55 -04:00
John Ericson
12795a7068 misc: Remove almost all uses of stdenv.{ccCross,binutils} 2017-06-22 17:53:52 -04:00
John Ericson
7a13457253 gcc 7: Remove cross arguments and don't use stdenv.is*
These changes were already done for the older GCCs, but 7 slipped
through the cracks.
2017-06-08 14:08:31 -04:00
John Ericson
35ed21d096 gcc*: Replace stdenv.is* with {host,target}Platform.is*
Host everywhere would be guaranteed to preserve the old semantics,
but in a few places it doesn't matter in practice, target is used
instead for clarity.
2017-06-06 19:28:16 -04:00
Ross MacLeod
e854685d65 gcc*: Remove cross argument and instead use hostPlatform and targetPlatform 2017-06-06 19:28:16 -04:00
Nikolay Amiantov
0dc5473730 gcc7: init at 7.1.0 2017-06-04 00:38:30 +03:00
John Ericson
eaa509f33a stdenv: Rename isGNU to isHurd as GNU is a userland
Elsewhere, things called GNU indeed includes GNU/Linux or GNU/Hurd, but this
predicate was defined excluding Linux regardless of userland.
2017-05-22 13:55:26 -04:00
John Ericson
20fa6fd871 gcc: When cross compiling, always expect prefixed binutils
Previously this was just done on Darwin.
2017-05-17 15:33:05 -04:00
John Ericson
761af14778 Merge pull request #25227 from obsidiansystems/cross-purge-binutilsCross
Purge binutilsCross
2017-04-26 09:09:06 -04:00
John Ericson
295315cc87 binutilsCross: Remove and use binutils instead always
See previous commit for what was done to `binutils` to make this
possible.

There were some uses of `forcedNativePackages` added. The
combination of overrides with that attribute is highly spooky: it's
often important that if an overridden package comes from it, the
replaced arguments for that package come from it. Long term this
package set and all the spookiness should be gone and irrelevant:

  "Move along, nothing to see here!"

No hashes should be changed with this commit
2017-04-25 21:36:19 -04:00
John Ericson
75441dd64a Merge pull request #25194 from obsidiansystems/host-target-unconfuse
stdenv.cross is a silly attribute that needs to go leaving the well-defined hostPlatform and targetPlatform. This PR doesn't remove it, but changes its definition: before it tracked the target platform which is sometimes more useful for compilers, and now it tracks the host platform which is more useful for everything else. Most usages are libraries, falling in the "everything else" category, so changing the definition makes sense to appease the majority. The few compiler (gcc in particular) uses that exist I remove to use targetPlatform --- preserving correctness and becoming more explicit in the process.

I would also update the documentation aside mentioning stdenv.cross as deprecated, but the definition given actually erroneously assumes this PR is already merged!
2017-04-24 19:07:48 -04:00
John Ericson
a7068ace35 Rewrite a few stdenv.cross uses that *should* be targetPlatform
The previous commit redefines `stdenv.cross` for the sake of normal
libaries, the most common use-case of that attribute. Some compilers
however relied on the old definition so we have them use
`targetPlatform` instead. This special casing is fine because we
eventually want to remove `stdenv.cross` and use either `hostPlatform`
or `targetPlatform` instead.
2017-04-24 16:31:45 -04:00
Vladimír Čunát
f7a4f146c9
Merge branch 'master' into staging
This includes a fix for a bad merge.
2017-04-14 19:22:02 +02:00
Vladimír Čunát
1a1f2262b4
Merge #24637: gcc: include dylibs for darwin build 2017-04-14 10:53:16 +02:00
Eelco Dolstra
d3c737a080
gcc-snapshot: 7-20161211 -> 7-20170409 2017-04-13 13:07:45 +02:00
Dan Peebles
0cacae6a5f gcc6: fix for LLVM 4.0 2017-04-06 23:20:35 -04:00
Daiderd Jordan
9896cf1028
gcc: include dylibs for darwin build 2017-04-04 23:53:39 +02:00
Dan Peebles
a2a82db7cf gfortran/gcc: simplify & clean up on Darwin
This should eliminate the branched logic for gfortran on Darwin, as well
as preventing accidental inclusion of impure paths in gcc and gfortran
builds.
2017-03-21 01:36:28 -04:00
Dan Peebles
6ea3eefdfc gcc5: fix for libc++ 3.8 and above
This is in preparation for the big Darwin LLVM 4.0 stdenv switchover
2017-03-19 16:22:12 -04:00
Michael Raskin
24060a83e2 Merge pull request #21233 from rardiol/gcc-snapshot
gcc-snapshot: init at 7-20161211
2017-03-18 17:46:09 +01:00
Eelco Dolstra
42574f52b9
Remove references to $NIX_STRIP_DEBUG
This was removed in 3ea1c30846.
2017-02-05 11:08:32 +01:00
Eelco Dolstra
953fe37009
gcc: 6.2.0 -> 6.3.0 2016-12-21 15:48:25 +01:00
Ricardo Ardissone
df1412c990 gcc-snapshot: init at 7-20161211 2016-12-17 12:30:32 -02:00
Eelco Dolstra
ad8f31df7f gcc_multi: Move $out/lib64/* to $lib/lib64
This prevents VirtualBox from having a copy of gcc in its closure.
2016-09-20 16:42:30 +02:00
Vladimír Čunát
06839f5a40 fix some evaluation problems after 8610a34474
/cc #18327.
2016-09-17 02:26:49 +02:00
Vladimír Čunát
5de2857a54 gcc*: use stdenv.cc.libc instead of stdenv.libc
The latter doesn't exist on Linux.
2016-09-16 23:23:33 +02:00
Matthew Bauer
8610a34474
gcc: use special native system headers for darwin
Darwin systems need to be able to find CoreFoundation headers as well as
libc headers. Somehow, gcc doesn't accept any "framework" parameters
that would normally be used to include CoreFoundation in this
situation.

HACK: Instead, this adds a derivation that combines the two. The result
works but probably not a good long term solution.

ALTERNATIVES: Maybe sending patches in to GCC to allow
"native-system-framework" configure flag to get this found.
2016-09-15 17:58:09 -05:00
Matthew Bauer
c7e0fbcbc8
gcc4.6: remove from tree
This isn't available from all-packages, so I think it's okay to
remove. It's unclear how to keep this updated with the changes.
2016-09-15 17:58:08 -05:00
Matthew Bauer
f760e980f0
gcc4.5: allow empty libc-ldflags 2016-09-15 17:56:51 -05:00
Matthew Bauer
cf004ae56e
gcc: add --with-native-system-header-dir for clang
gcc needs to be able find system headers. Without this, gcc fails to build because
/usr/include is not available.

Note: stdenv.libc should be available for all stdenv's, I think.
2016-09-15 17:56:50 -05:00
Matthew Bauer
f2e753a90c
gcc: fix gmp, mpfr includes
This should get gcc48, gcc5, and gcc6 working again.

Also: use makeLibraryPath, and makeSearchPathOutput for LIBRARY_PATH and
CPATH. This is a refactor but it also fixes an issue with zlib.
2016-09-15 17:56:50 -05:00
Matthew Bauer
45cd1ea620
gcc: --enable-bootstrap on Darwin
This seems to be working now. ISL needs to be disable for it to build
completely though.
2016-09-15 17:54:01 -05:00
Kirill Boltaev
0f37287df5 treewide: explicitly specify gtk version 2016-09-13 21:09:24 +03:00
Vladimír Čunát
001bde3df0 gcc45, gnat, ghdl: fix up the builds
Some parts are slightly puzzling, but it seems to work and it didn't
seem economical to put more effort into it.
2016-09-10 00:32:13 +02:00
Tuomas Tynkkynen
0cfb79afac gcc6: Unify some differences with gcc5
In particular, fixes build with the new shuffled outputs.
2016-08-30 23:00:13 +03:00
obadz
3de6e5be50 Merge branch 'master' into staging
Conflicts:
      pkgs/applications/misc/navit/default.nix
      pkgs/applications/networking/mailreaders/alpine/default.nix
      pkgs/applications/networking/mailreaders/realpine/default.nix
      pkgs/development/compilers/ghc/head.nix
      pkgs/development/libraries/openssl/default.nix
      pkgs/games/liquidwar/default.nix
      pkgs/games/spring/springlobby.nix
      pkgs/os-specific/linux/kernel/perf.nix
      pkgs/servers/sip/freeswitch/default.nix
      pkgs/tools/archivers/cromfs/default.nix
      pkgs/tools/graphics/plotutils/default.nix
2016-08-27 23:54:54 +01:00
Robin Gloster
ddcf70482c
gcc6: 6.1.0 -> 6.2.0 2016-08-25 00:00:48 +00:00
obadz
0e8d2725dc Merge branch 'master' into staging 2016-08-23 18:50:06 +01:00
Tuomas Tynkkynen
984e04d733 treewide: Make explicit that 'dev' output of mpfr is used 2016-08-23 03:52:07 +03:00
Tuomas Tynkkynen
c08364b887 treewide: Make explicit that 'dev' output of gmp is used 2016-08-23 03:52:05 +03:00
Robin Gloster
b7787d932e Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-08-12 09:46:53 +00:00
obadz
1cd9c58834 Merge pull request #17461 from rasendubi/powerpc
cross-compilation: fixes for powerpc-linux-uclibc
2016-08-11 00:51:51 +01:00
Lancelot SIX
8420753239
gcc49: 4.9.3 -> 4.9.4
Bugfix release of the 4.9 branch. See
http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00001.html for
announcement
2016-08-05 00:01:15 +02:00
Alexey Shmalko
a9bc2d530b
gcc: disable libsanitizer for uclibc
libsanitizer requires header files which are not present in uclibc.

Also, libsanitizer is disabled with uclibc for buildroot[1] and
openwrt[2].

[1]: https://git.busybox.net/buildroot/commit/?id=554e29e267e6b36a0fd78c82cbad2c82d939eb7f
[2]: 5f372a8ca0
2016-08-03 03:32:30 +03:00