John Ericson
b9acfb4ecf
treewide: isArm -> isAarch32
...
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
(cherry picked from commit ba52ae5048
)
2018-04-25 15:50:41 -04:00
John Ericson
ba52ae5048
treewide: isArm -> isAarch32
...
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.
The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:
```
ISA: ARMv8 {-A, -R, -M}
/ \
Mode: Aarch32 Aarch64
| / \
Encoding: A64 A32 T32
```
At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.
The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.
[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Jan Malakhovski
7438083a4d
tree-wide: disable doCheck
and doInstallCheck
where it fails (the trivial part)
2018-04-25 04:18:46 +00:00
Jan Malakhovski
2afd3c901e
gcc: prepend crossNameAddon
instead of appending it (like binutils does)
2018-04-25 00:41:14 +00:00
Shea Levy
d0a8866622
Merge branch 'binutils-2.30' into staging
2018-03-22 07:28:10 -04:00
Tuomas Tynkkynen
74720a36c7
Merge remote-tracking branch 'upstream/master' into staging
2018-03-21 23:51:55 +02:00
Clemens Fruhwirth
c0cf13e52e
Add space for NIX_CXXSTDLIB_COMPILE+=' ...' as NIX_CXXSTDLIB_COMPILE might not be empty.
2018-03-19 13:18:49 +01:00
Shea Levy
a5d064826b
gcc: Try to fix /bin/sh dependency
2018-03-17 21:58:15 -04:00
Shea Levy
017d678a00
gcc: Add uncommitted patch.
2018-03-16 16:39:55 -04:00
Shea Levy
a1ede569ef
gcc: Unconditionally add some upstream RISC-V patches.
2018-03-16 16:38:32 -04:00
Shea Levy
c69d8bf5e6
treewide: Remove gnat support.
...
See discussion in 6ac7b19c97
.
2018-03-08 13:56:36 -05:00
Tuomas Tynkkynen
34f95d92a2
Merge remote-tracking branch 'upstream/master' into staging
...
Conflicts:
pkgs/applications/misc/pytrainer/default.nix
pkgs/development/tools/pew/default.nix
pkgs/tools/misc/you-get/default.nix
2018-02-28 20:52:49 +02:00
John Ericson
dfc5d7835d
Merge pull request #35247 from telent/mips32
...
lib, treewide: Add missing MIPS arches, and fix existing usage
2018-02-27 14:01:15 -05:00
Shea Levy
4728ef130e
RISC-V: Add upstream gcc patch to fix -pthread.
...
Fixes libmicrohttpd build.
2018-02-26 05:24:36 -05:00
Daniel Barlow
9c50ae6898
lib, treewide: Add missing MIPS arches, and fix existing usage
...
Existing "mips64el" should be "mipsel".
This is just the barest minimum so that nixpkgs can recognize them as
systems - although required for building individual derivations onto
MIPS boards, it is not sufficient if you want to actually build nixos on
those targets
2018-02-23 20:43:42 -05:00
Will Dietz
39f61d5c02
gcc7: fix native and cross-musl build, sync w/gcc6 fixes
2018-02-21 20:55:22 -06:00
Tuomas Tynkkynen
b1916b45a3
Merge remote-tracking branch 'upstream/staging' into gcc-7
...
Conflicts:
pkgs/development/libraries/libidn/default.nix
pkgs/top-level/all-packages.nix
2018-02-15 15:45:37 +02:00
Will Dietz
9bd4e00ce3
gcc6: cross-musl disable libmpx
2018-02-13 09:45:03 -06:00
Will Dietz
7eba45d063
gcc5: patch for musl compat/support
2018-02-13 09:44:52 -06:00
Will Dietz
3b0d3248c9
gcc7: tweak check, target -> host
2018-02-13 09:44:43 -06:00
Will Dietz
f566e3f987
gcc7: more selftest disabling, whenever building cross
2018-02-13 09:44:42 -06:00
Will Dietz
ff9b494103
gcc7: Apply patch to fix selftest w/musl?
2018-02-13 09:44:39 -06:00
Will Dietz
f146a3c316
gcc5, 7: same fixes as gcc6
2018-02-13 09:44:38 -06:00
Will Dietz
fbf41b9ee2
gcc6: try to fix LOCAL_INCLUDE_DIR problem w/musl
2018-02-13 09:44:38 -06:00
Will Dietz
5eea9e82f4
gcc6: try patching MUSL_DYNAMIC_LINKER as well
2018-02-13 09:44:38 -06:00
Will Dietz
ece06deee4
gcc6: try to fix gccCrossStageStati
2018-02-13 09:44:38 -06:00
Will Dietz
15d401dcfa
gcc: disable libsanitizer, libgomp on musl
2018-02-13 09:44:38 -06:00
Ben Gamari
d625f181bd
autoconf: Enable cross-compilation
2018-02-13 09:44:28 -06:00
Franz Pletz
e2c1c76fd0
Merge remote-tracking branch 'origin/master' into gcc-7
2018-01-28 23:17:32 +01:00
Tuomas Tynkkynen
11e98eaae7
gcc7: More resync from gcc6
...
I think I managed to lose these during a merge conflict.
2018-01-28 03:15:05 +02:00
Clemens Fruhwirth
2f83f52ab8
gcc: 7.2.0 -> 7.3.0
2018-01-26 15:59:22 +01:00
Tuomas Tynkkynen
99fc949330
gcc7: Drop flex again
...
I think I lost this during merge conflict resolution
2018-01-26 16:50:13 +02:00
John Ericson
c98e6b6771
gcc, binutils: Narrow down ARM hack so only native builds are affected
2018-01-09 17:25:49 -05:00
Drew Hess
3ed545ab31
Revert "gcc, binutils: Get rid of 32-bit ARM configure flag exception"
...
This commit breaks native armv7l-linux builds. Revert it until it can
be root-caused. This reversion does not affect other platforms or
cross-compiling.
This reverts commit 0f5c804631
.
2018-01-08 20:03:33 -08:00
Vladimír Čunát
1fcd92ce92
Merge branch 'master' into staging
...
A few thousand rebuilds from master, again.
Hydra: ?compare=1422362
2017-12-31 09:53:49 +01: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
Dmitry Kalinkin
6d9769663d
cc-wrapper: allow compilers to specify unsupported hardening modes
...
Fixes: 0fd7ef61b2 ('clang_34: Disable hardening bits (#28543 )')
2017-12-30 12:23:25 -05:00
John Ericson
5db559f855
Merge branch 'mingw32-w64-fix' into ericson2314-cross-base
2017-12-29 15:46:02 -05:00
John Ericson
52a4a7c3bb
Merge pull request #33167 from bnikolic/mingw32-w64-fix
...
Mingw_w64 fix to get cross-compilation working again
2017-12-29 15:44:17 -05:00
John Ericson
bc3a6e260a
Merge commit '3afe325a3e2f906ba512fb7a2f28f79496711592' into mingw32-w64-fix
2017-12-29 15:28:56 -05:00
John Ericson
5d336d36bb
Merge commit 'e82bd498d1a2a28fb20249569a6f49fcaab9aca8' into mingw32-w64-fix
2017-12-29 15:28:49 -05:00
John Ericson
169227bfd2
Merge commit '3a59cd87f26cc59c91fb821749b1ec0d64922f87' into mingw32-w64-fix
2017-12-29 14:24:10 -05:00
John Ericson
2365e2ffcd
Merge commit '51948eab9415fde1825dea5c7d31b99b2e1a0fdb' into mingw32-w64-fix
2017-12-29 14:23:05 -05:00
Bojan Nikolic
771bae04e8
gcc: Enable SSP and shared libs in the final stage for MinGW
...
Hardening on by default now that we don't use the cross wrapper. In
turn, hardening requires libssp in particular.
2017-12-29 13:27:02 -05:00
John Ericson
12e0672d88
gcc: Adjust builder.sh to find some things in bintools-wrapper instead
2017-12-13 16:08:19 -05:00
John Ericson
4e4520a0f3
gcc: Don't choke if there is no lib output
2017-12-10 17:36:15 -05:00
John Ericson
3afe325a3e
Merge commit '43d5c5d6db3ce33f3cf1d17ba43c7374257466ec' into gcc-modernize-builder
2017-12-07 02:19:04 -05:00
John Ericson
e82bd498d1
Merge commit '992bd2f6d34b2f560fc17df6fa3708fcade1abac' into gcc-modernize-builder
2017-12-07 02:13:24 -05:00
John Ericson
3a59cd87f2
Merge commit '93cd0685c5ac4d8f21d8586d3e5c45cd7394fab9' into gcc-modernize-builder
2017-12-07 01:49:31 -05:00
John Ericson
51948eab94
gcc: Fix after merge
...
- NIX_CC_CROSS is now completely gone!
- NIX_CC is defined reliably, so no manual def needed
- stdenv.ccCross -> stdenv.cc, also removing need for "or" fallback
2017-12-07 01:42:43 -05:00
John Ericson
974b9201a5
Merge commit 'c9ca54199409324101bdee38f5b16e7656a16a22' into gcc-modernize-builder
2017-12-07 01:42:35 -05:00
John Ericson
d96cf0f46c
gcc: Handle CPATH
and LIBRARY_PATH
purely in Nix
2017-12-06 19:12:51 -05:00
John Ericson
d4595b38e9
gcc: Modernize builder.sh for Cross
...
Instead of `NIX_CC` vs `NIX_CC_CROSS` spagetti, unconditionally use
`NIX_BUILD_CC` and `NIX_CC` in a consistent manner.
2017-12-06 19:12:50 -05:00
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
Robin Gloster
5185bc1773
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-07-15 14:41:01 +00:00
Vladimír Čunát
d3e599c9e1
Merge #16355 : gcc: darwin support
2016-06-23 12:16:40 +02:00
Matthew Bauer
f05bb6d23f
gcc: fix darwin building
...
- disable bootstrap builds on Darwin
- remove xcrun calls
- check if patchelf is available before using
- apply darwin patch for gcc4.9
- fixes #16047
- fixes #14812
2016-06-19 23:07:10 -05:00
Robin Gloster
06ed235347
gcc6: disable format hardening flag
2016-06-14 11:45:47 +00:00
Vladimír Čunát
ab450c0909
gcc: fixup the tarball job after merging #15867
...
The evaluation problem happened in while checking find-tarballs.nix
http://hydra.nixos.org/build/36754203/nixlog/1/raw
(it didn't seem worth digging into why exactly)
2016-06-11 09:59:39 +02:00
Tuomas Tynkkynen
a06a405d0b
cross GCC: Fix some paths to libc headers (after multiple outputs)
...
It's not completely clear to me why the path to libc headers is set
differently when cross building...
2016-06-11 04:15:17 +03:00
Tuomas Tynkkynen
5fe4076683
gcc: Pass --with-mpc in crossAttrs
...
Just for consistency, it should be already coming from buildInputs
anyway.
2016-06-10 16:17:30 +03:00
Vladimír Čunát
46f22d89b9
Merge #15867 : glibc, gcc: fixes for ARM targets
...
... needed after closure-size merge (#7701 )
2016-06-10 09:57:17 +02:00
Vladimír Čunát
772c92ba5c
gcc: maintenance 5.3 -> 5.4
2016-06-09 13:22:09 +02:00
Eric Litak
fa4fcaf6b4
darwin output paths
2016-05-31 16:28:05 -07:00
Eric Litak
89c9a8896b
same changes to the rest. 4.5 has inf recursion still, 4.6 too old for glibc2.23
2016-05-31 16:28:05 -07:00
Eric Litak
527f619aae
same changes to gcc6
2016-05-31 16:28:05 -07:00
Eric Litak
7399d0949c
fixing libcCross related flags
...
(excluding darwin and mingw for now)
2016-05-31 16:28:04 -07:00
Robin Gloster
2d382f3d98
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-05-30 19:39:34 +00:00
Vladimír Čunát
c4661e9643
Merge: make dev output references explicit
...
This is a rebase of most commits from #14766 ,
resolving conflicts and a few other evaluation problems.
2016-05-22 12:09:23 +02:00
Vladimír Čunát
70cecb9cbd
gcc: fix #15033 : avoid lib64/ symlink to 32-bit lib/
...
This was caused by me in 90ee003240
.
2016-05-22 12:03:12 +02:00
Tuomas Tynkkynen
e254750560
GCC: explicitly use some dev outputs
2016-05-19 10:04:41 +02:00
Tuomas Tynkkynen
3f8b08f506
treewide: Make explicit that 'dev' output of mpfr is used
2016-05-19 10:00:49 +02:00
Tuomas Tynkkynen
47c45e2041
treewide: Make explicit that 'dev' output of gmp is used
2016-05-19 10:00:36 +02:00
Franz Pletz
f8d481754c
Merge remote-tracking branch 'origin/master' into hardened-stdenv
2016-05-18 17:10:02 +02:00
Peter Simons
8e462995ba
Bring my stdenv.lib.maintainers user name in line with my github nick.
2016-05-16 22:49:55 +02:00
Vladimír Čunát
72acb24c1f
Merge #15084 : gcc: add 6.1.0
2016-05-07 15:20:19 +02:00
Tuomas Tynkkynen
980bca286e
gcc 4.5, 4.6: Remove broken update-gcc.sh symlinks
2016-05-03 21:29:16 +03:00
Robin Gloster
c92bca56f8
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-05-02 22:58:02 +00:00
David Guibert
58e0c4bcd9
gcc: add 6.1.0
2016-04-28 11:13:26 +02:00
Vladimír Čunát
90ee003240
gcc: fix mingw build after closure-size merge
...
This may also (help to) fix also other less usual configurations.
2016-04-20 16:39:23 +02:00
Robin Gloster
d020caa5b2
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-04-18 13:49:22 +00:00
Michael Raskin
909a46ff77
Fix gccgo by un-splitting lib output (like gcj)
2016-04-16 08:42:20 +02:00
Michael Raskin
cd5b677576
gcc49 (gcj): do not create separate lib output (cyclical dependency), fix ecj1 linking. Does not affect the hash of normal gcc49
2016-04-13 18:46:14 +02:00
Robin Gloster
3e68106afd
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-04-07 21:52:26 +00:00
Vladimír Čunát
d1df28f8e5
Merge 'staging' into closure-size
...
This is mainly to get the update of bootstrap tools.
Otherwise there were mysterious segfaults:
https://github.com/NixOS/nixpkgs/pull/7701#issuecomment-203389817
2016-04-07 14:40:51 +02:00
Robin Gloster
9893a43dc3
gfortran-darwin: disable format hardening
2016-04-05 16:43:31 +00:00
Vladimír Čunát
ab15a62c68
Merge branch 'master' into closure-size
...
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Eelco Dolstra
60f07e8e10
Revert "gcc: Use the pre-C++11 ABI by default"
...
This reverts commit 83011723af
. This
never worked because gcc's setup hook is never actually sourced. I
could fix this but since nobody complained, we probably don't need it.
2016-03-31 12:30:54 +02:00
Robin Gloster
7dea0e91ac
gcc/isl: move bootstrap hardening flags to new bootstrap env
2016-03-28 19:17:23 +00:00
Robin Gloster
f60c9df0ba
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-03-28 15:16:29 +00:00
Vladimír Čunát
09af15654f
Merge master into closure-size
...
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
2016-03-08 09:58:19 +01:00
Franz Pletz
aff1f4ab94
Use general hardening flag toggle lists
...
The following parameters are now available:
* hardeningDisable
To disable specific hardening flags
* hardeningEnable
To enable specific hardening flags
Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.
cc-wrapper supports the following flags:
* fortify
* stackprotector
* pie (disabled by default)
* pic
* strictoverflow
* format
* relro
* bindnow
2016-03-05 18:55:26 +01:00
Eelco Dolstra
62c562a522
gcc: Remove 4.3 and 4.4
...
GCC 4.3 was used by only one package ("self"), which I've marked as
broken.
2016-03-02 18:01:17 +01:00
Eelco Dolstra
83011723af
gcc: Use the pre-C++11 ABI by default
2016-02-28 17:54:11 +01:00
Robin Gloster
3b4765c9e5
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-02-28 16:32:57 +00:00
zimbatm
17348dc094
Remove all dots at end of descriptions
...
Specially crafted for @JagaJaga
find pkgs -name "*.nix" -exec \
sed -e 's|\(description.*\)\.";|\1";|g' -i {} \;
2016-02-27 17:30:29 +00:00