Commit Graph

200 Commits

Author SHA1 Message Date
Shea Levy
3027bca02a
binutils: Bump default to 2.30 2018-03-20 17:22:10 -04:00
Shea Levy
ca6710b2e6
binutils: Add 2.30. 2018-02-19 07:57:32 -05: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
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
5b74540c5b treewide: Use depsBuildBuild for buildPackges.stdenv.cc 2017-12-30 22:04:21 -05:00
Ben Gamari
c15c449236 binutils: Always search DT_RPATH 2017-12-29 17:32:28 -05:00
John Ericson
cebe1b4c08 darwin binutils: Better handling of man pages and info 2017-12-13 16:08:18 -05:00
John Ericson
e755a8a27d treewide: Use targetPrefix instead of prefix for platform name prefixes
Certain tools, e.g. compilers, are customarily prefixed with the name of
their target platform so that multiple builds can be used at once
without clobbering each other on the PATH. I was using identifiers named
`prefix` for this purpose, but that conflicts with the standard use of
`prefix` to mean the directory where something is installed. To avoid
conflict and confusion, I renamed those to `targetPrefix`.
2017-11-27 03:15:50 -05:00
Orivej Desh
c76890f2fe binutils: disambiguate ARM targets
https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766

Since [1] libbfd is compiled with support for all available targets. However, it
can not choose whether an ARM ELF file is elf32-littlearm,
elf32-littlearm-symbian, or elf32-littlearm-vxworks, and fails with the "File
format is ambiguous" error.  Here [2] Alan Modra intended to prioritize the
first of the three, but although his patch was merged and reportedly solved the
issue, currently glibc 2.28.1 and 2.29.1 again fail to disambiguate these
targets.  This commit makes it prioritize elf32-littlearm over the other two.

[1] f8741c38cd
[2] https://sourceware.org/ml/binutils/2013-05/msg00271.html
2017-11-19 03:36:53 +00:00
John Ericson
eaacf47ff4 binutils: Make myself a maintainer 2017-11-14 10:51:01 -05:00
John Ericson
f8741c38cd binutils, gdb: Do not expose libbfd or libopcodes, and be multitarget
There are separate derivations for these libraries and we don't want
conflict. Multitarget is generally more useful, and will eventually
speed up cross builds, so why not?!
2017-11-13 08:46:15 -05:00
John Ericson
de28bd4832 bfd, opcodes: Init separate derivations for binutils libraries
On most distros, these are just built and distributed as part of
binutils. We don't use binutils across the board, however, but rather
switch between binutils and a cctools-binutils mashup, and change the
outputs on binutils too. This creates a combinatorial conditional soup
which is hard to maintain.

My hope is to lower the the state space. While my patch isn't the most
maintainable, they make downstream packages become more maintainable to
compensate. The additional derivations themselves are completely
platform-agnostic, always they always supports all possible target
platforms, and always yield "out" and "dev" outputs. That, in turn,
allows downstream packages to not worry about a dependency
shape-shifting under them.

In fact, the actual binutils package can avoid needing multiple outputs
now that these serve the requisite libraries, so that also can become
simpler on all platforms, too, removing the original wart this PR
circumnavigates for now. Actually changing the binutils package to
leverage is a mass rebuild, however, so I'll leave that for a separate
PR.

I do hope to upstream something like my patch too, but until then I'll
make myself maintainer of these derivations
2017-11-13 00:47:37 -05:00
John Ericson
e5567bae2d treewide: Do not limit hardenging because gcc 4.9 in bootstrap
Bootstrap tools has since been bumped
2017-09-14 10:27:13 -04:00
Tuomas Tynkkynen
0c0fad6141 treewide: Consistently call ARM 'arm'
No need for silly differences.
2017-08-24 01:17:01 +03:00
John Ericson
41abe41fd9 binutils: Pass --build --host on non-arm
This is needed for build != host == target builds. Moreoever, we want
to move towards always passing all 3, and the previous change to
unbreak Arm moved us away from that.
2017-08-18 13:00:24 -04:00
Tuomas Tynkkynen
88efc22b44 binutils: Don't pass --host etc. when not cross-compiling
Or linuxHeaders build fails on ARM (non-cross) since e826a6a247:

````
  HOSTCC  scripts/basic/fixdep
/nix/store/9glws7v2j28blv1n7azqr3b43qadjd1j-binutils-2.28.1/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: armelf_linux armelf armelfb armelfb_linux
collect2: error: ld returned 1 exit status
````
2017-08-17 18:37:10 +03:00
Tuomas Tynkkynen
d8bea2498d binutils: Add upgrade notes 2017-08-17 18:37:10 +03:00
Tuomas Tynkkynen
390ccbbf29 binutils: 2.28 -> 2.28.1 2017-08-17 18:37:10 +03:00
Tuomas Tynkkynen
f9b2d7b4dd Revert "binutils: 2.28 -> 2.29"
This reverts commit 733e20fee4.

Downgrading to 2.28.1, 2.29 is too buggy.
2017-08-17 18:37:04 +03:00
Tuomas Tynkkynen
23547ac24a Revert "binutils: patch bugs in 2.29"
This reverts commit 0e18f28cec.

Downgrading to 2.28.1, 2.29 is too buggy.
2017-08-17 18:36:58 +03:00
Tuomas Tynkkynen
f660f58c83 Revert "binutils: add missing patches..."
This reverts commit ad83979e59.

Downgrading to 2.28.1, 2.29 is too buggy.
2017-08-17 18:36:38 +03:00
Vladimír Čunát
6899c7fdb9
Merge branch 'master' into gcc-6 2017-08-12 10:09:41 +02:00
Robin Gloster
ad83979e59
binutils: add missing patches... 2017-08-04 08:36:44 +02:00
Robin Gloster
0e18f28cec
binutils: patch bugs in 2.29
All are upstream patches, the last two added by handy to work around
them not applying on the changelog.

2.29.1/2.30 will contain the fixes, too.
2017-08-04 08:22:20 +02:00
Tim Steinbach
733e20fee4
binutils: 2.28 -> 2.29
Binutils 2.29 no longer allows .semver symbols, which is why
we need to patch glibc to avoid them
2017-07-29 13:23:59 -04:00
Eelco Dolstra
a13802b2c8
Merge remote-tracking branch 'origin/master' into gcc-6 2017-07-21 11:05:58 +02:00
John Ericson
95c8277701 misc pkgs: Remove unneeded *Platform == *Platform comparisons
PR #26007 used these to avoid causing a mass rebuild. Now that we know
things work, we do that to clean up.
2017-06-30 10:09:31 -04:00
John Ericson
af8d1a4ace binutils: Fix build != host == target 2017-06-22 17:53:54 -04:00
Robin Gloster
15f6dcb668
Merge remote-tracking branch 'upstream/master' into gcc-6 2017-06-20 11:24:39 +02:00
John Ericson
200ac02d0f binutils: Modernize derivation
No hashes of any sort should be changed
2017-06-06 19:28:16 -04:00
Robin Gloster
da9adb8fab
Merge remote-tracking branch 'upstream/master' into gcc-6 2017-05-20 14:55:44 +02:00
John Ericson
7018dfb9f4 binutils and cctools: Prefix derivation names with target for cross
We want platform triple prefixes and suffixes on derivation names to
be used consistently. The ideom this commit strives for is

 - suffix means build != host, i.e. cross *built* packages. This is
   already done.

 - prefix means build != target, i.e. cross tools. This matches the
   tradition of such binaries themselves being prefixed to disambiguate.]
   Binutils and cctools, as build tools, now use the latter
2017-05-17 15:33:05 -04:00
John Ericson
88ea6463a3 binutils on darwin: Clean up the rats nest
- No more *Cross duplication for binutils on darwin either.
   `cctools_cross` is merged into plain `cctools`, so `buildPackages`
   chains alone are used to disambiguate.

 - Always use a mashup of cctools and actual GNU Binutils as `binutils`.
   Previously, this was only done in the native case as nobody had
   bothered to implement the masher in the cross case. Implemented it
   basically consisted of extending the wrapper to deal with prefixed
   binaries.
2017-05-17 15:33:05 -04:00
Dan Peebles
1a4ca220e1 treewide: fix assorted issues revealed by the meta checker
Turns out a couple of the licenses were wrong, as well as being strings.
2017-04-28 23:07:42 -04:00
John Ericson
4c0d7da183 Get rid of all with { inherit... } and just used let inherit...
The old forms presumably predates, or were made in ignorance of,
`let inherit`. This way is better style as the scoping as more lexical,
something which Nix can (or might already!) take advantage of.
2017-03-30 03:05:05 -04:00
Lancelot SIX
ecd849b267
binutils: 2.27 -> 2.28
See http://lists.gnu.org/archive/html/info-gnu/2017-03/msg00002.html
for release announcement
2017-03-07 12:09:41 +01:00
Vladimír Čunát
e2e270d1e2
binutils: drop the $dev/bin symlink
Fixes #18839.  I suspect I once added this just because of some
deficiencies in an early development version of the multiple-output
framework in stdenv.
2017-02-27 20:08:26 +01:00
Tuomas Tynkkynen
01d03cb5e7 binutils: Fix cross build
Broken after commit 17a344a ("binutils: Add lib output").
2017-02-04 23:39:25 +02:00
Vladimír Čunát
db896154d1
binutils: minimize rebuilds after parent revert
Only revert the addition of the output and only on Darwin.
2017-01-30 14:10:13 +01:00
Robin Gloster
eaa9e01c1d
Revert "binutils: Add lib output"
This reverts commit 17a344a5da.
2017-01-30 13:03:48 +01:00
Eelco Dolstra
17a344a5da
binutils: Add lib output
Some packages depend on libbfd. This prevents them from having all of
binutils in their closure (which is 29 MiB).
2017-01-25 20:12:33 +01:00
Eelco Dolstra
bbc204cd98 binutils: Add lib output
Some packages depend on libbfd. This prevents them from having all of
binutils in their closure (which is 29 MiB).
2016-10-14 18:12:20 +02:00
Tuomas Tynkkynen
89833c0c72 binutils: Shuffle outputs 2016-08-29 14:49:54 +03:00
Lancelot SIX
0c12ae5615
binutils: 2.26.1 -> 2.27
Release announcement at
http://lists.gnu.org/archive/html/info-gnu/2016-08/msg00012.html
2016-08-26 08:51:09 +02:00
Robin Gloster
63c7b4f9a7 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-31 20:51:34 +00:00
Lancelot SIX
281449424f binutils: 2.26 -> 2.26.1
See announcement at
http://lists.gnu.org/archive/html/info-gnu/2016-07/msg00000.html
2016-07-22 10:20:10 +02:00
Robin Gloster
5185bc1773 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-15 14:41:01 +00:00
Tobias Geerinckx-Rice
61ba956cc8
binutils: remove unused pt-pax-flags-20121023.patch 2016-06-22 01:25:26 +02:00
Robin Gloster
d020caa5b2 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-04-18 13:49:22 +00: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
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
Evgeny Egorochkin
5982591afc binutils: cherry-pick a patch from master; this fixes build failure for akonadi; see https://sourceware.org/bugzilla/show_bug.cgi?id=19698 2016-03-29 22:46:22 +03:00
Robin Gloster
f60c9df0ba Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-03-28 15:16:29 +00: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
89742e6b05 binutils: Apply upstream bug fix
This broke syslinux: http://hydra.nixos.org/build/32430411/nixlog/89/raw
2016-02-29 15:33:57 +01:00
Eelco Dolstra
817145ebbc binutils: 2.23.1 -> 2.26
There has been an abortive attempt to upgrade binutils in the past
(see #909). Since we can't stay stuck at 2.23.1 forever, let's try
again.
2016-02-28 01:10:35 +01:00
Robin Gloster
402d57ee8e bootstrap env: disable stackprotector hardening until gcc >=4.9 2016-02-22 18:32:53 +00:00
Vladimír Čunát
ae74c356d9 Merge recent 'staging' into closure-size
Let's get rid of those merge conflicts.
2016-02-03 16:57:19 +01:00
Vladimír Čunát
1f2b819783 binutils: extend meta.platforms to unix to fix #12606
Also refactor meta.
Maybe we could have platforms.all in there, but I leave it here.
2016-01-25 11:18:10 +01:00
Tuomas Tynkkynen
f62dbc0121 binutils: Add platforms
There are some variants of binutils in all-packages.nix that aren't
getting built by Hydra currently.
2016-01-24 08:47:46 +02:00
Tuomas Tynkkynen
ad1eb36dac binutils: Don't use multiple-outputs when cross compiling 2015-10-03 16:43:23 +02:00
Vladimír Čunát
5227fb1dd5 Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
Vladimír Čunát
61596bf405 Merge #8363: pure-darwin stdenv 2015-06-18 22:38:08 +02:00
Jude Taylor
fa9c81f694 pure darwin stdenv 2015-06-18 12:37:41 -07:00
Shea Levy
90fd9a55d9 binutils: don't build with Werror 2015-05-13 18:17:25 +02:00
Vladimír Čunát
bf414c9d4f Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
2015-04-18 11:22:20 +02:00
William A. Kennington III
91221f5941 Revert "binutils: 2.23.1 -> 2.25"
This reverts commit 4adae43646.

This breaks the building of samba and likely other binaries as some
libraries are never linked.
2015-04-08 12:14:08 -07:00
William A. Kennington III
4adae43646 binutils: 2.23.1 -> 2.25 2015-03-26 00:24:17 -07:00
Ambroz Bizjak
ec38dbe64b binutils: Move bison to nativeBuildInputs. 2015-02-05 21:26:24 +01:00
Michael Raskin
d81303813a Merge pull request #3465 from joelteon/picky-binutils
Stop binutils from trying to build on Darwin
2014-09-03 19:57:09 +04:00
Vladimír Čunát
8da52a642a Merge branch 'staging' into v/modular
Conflicts (easy):
	pkgs/development/interpreters/perl/5.10/setup-hook.sh
	pkgs/development/interpreters/perl/5.8/setup-hook.sh
	pkgs/development/libraries/gtk+/2.x.nix
2014-08-31 12:23:18 +02:00
Vladimír Čunát
a70180ba73 mutiout: make it builtin 2014-08-30 08:27:43 +02:00
Vladimír Čunát
fb59f27a43 WIP: getting good 2014-08-27 01:14:09 +02:00
Bjørn Forsman
c9baba9212 Fix many package descriptions
(My OCD kicked in today...)

Remove repeated package names, capitalize first word, remove trailing
periods and move overlong descriptions to longDescription.

I also simplified some descriptions as well, when they were particularly
long or technical, often based on Arch Linux' package descriptions.

I've tried to stay away from generated expressions (and I think I
succeeded).

Some specifics worth mentioning:
 * cron, has "Vixie Cron" in its description. The "Vixie" part is not
   mentioned anywhere else. I kept it in a parenthesis at the end of the
   description.

 * ctags description started with "Exuberant Ctags ...", and the
   "exuberant" part is not mentioned elsewhere. Kept it in a parenthesis
   at the end of description.

 * nix has the description "The Nix Deployment System". Since that
   doesn't really say much what it is/does (especially after removing
   the package name!), I changed that to "Powerful package manager that
   makes package management reliable and reproducible" (borrowed from
   nixos.org).

 * Tons of "GNU Foo, Foo is a [the important bits]" descriptions
   is changed to just [the important bits]. If the package name doesn't
   contain GNU I don't think it's needed to say it in the description
   either.
2014-08-24 22:31:37 +02:00
Eelco Dolstra
5c53f22492 Revert "binutils: Enable sysroot support"
This reverts commit 773595540b. It
breaks stuff and we don't need it anymore.

http://hydra.nixos.org/build/13517591
2014-08-20 11:13:46 +02:00
Eelco Dolstra
773595540b binutils: Enable sysroot support 2014-08-17 17:25:12 +02:00
Joel Taylor
a232a2d2c5 prevent usage of binutils on darwin 2014-08-04 13:30:05 -07:00
Mateusz Kowalczyk
7a45996233 Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
Ricardo M. Correia
2902c8f628 binutils: Add PaX patch 2014-05-15 13:25:49 +02:00
Eelco Dolstra
1e986d8de3 binutils: Use dynamic instead of shared libraries
This reduces the size of binutils from 29 to 17 MiB.
2014-01-07 15:01:59 +01:00
Eelco Dolstra
4b31f920b6 binutils: Get rid of a redundant copy of gold 2014-01-07 14:55:55 +01:00
Eelco Dolstra
320209a618 Merge deterministicStdenv into the default stdenv
This means that (on Linux) strip uses
"--enable-deterministic-archives" and ld uses the
BFD_DETERMINISTIC_OUTPUT flag.
2014-01-07 13:57:42 +01:00
Vladimír Čunát
2c7c65595d Revert "binutils: minor update 2.23.1 -> .2"
This reverts commit 15f96c840f.
See #909.

Conflicts (trivial, auto-resolved):
	pkgs/development/tools/misc/binutils/default.nix
2013-09-16 15:53:40 +02:00
Peter Simons
701937b085 binutils: remove unused flex2535, bc, and dejagnu arguments 2013-09-09 10:34:37 +02:00
Vladimír Čunát
c074433fc6 binutils: add support for x86_64 in i686 builds (close #857)
Also some style refactoring around repeating "stdenv.lib.optional*".
The author of the idea is @errge.
2013-09-02 22:03:43 +02:00
Vladimír Čunát
74488e2b58 Merge branch 'x-updates' into stdenv-updates
Conflicts (simple):
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/mesa/default.nix
2013-09-02 15:44:57 +02:00
Petr Rockai
374a27fe8e binutils: Also enable plugins when building with gold. 2013-08-18 21:14:16 +02:00
Vladimír Čunát
8ba92b8895 Merge master into stdenv-updates
Conflicts (simple):
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/tools/package-management/disnix/default.nix
	pkgs/top-level/all-packages.nix
2013-07-08 10:48:05 +02:00
Vladimír Čunát
15f96c840f binutils: minor update 2.23.1 -> .2 2013-06-30 09:00:11 +02:00
Evgeny Egorochkin
0889bbe88f Patch binutils to produce more deterministic output 2013-06-25 11:15:45 +03:00
Shea Levy
6b78544add binutils: enable gold by default
This doesn't change the default but makes gold available to packages
that might want to use it.

Required switching to the gzipped tarball for bison, as xz isn't
available in the early bootstrap.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-04 19:38:46 -04:00
Shea Levy
f8f9f3b1cc binutils_gold: Don't require unneded dependencies.
Based on my scan of the logs they weren't even used when enabled

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-04 18:05:45 -04:00
Lluís Batlle i Rossell
d9f4b0a2e4 binutils: update to 2.23.1, and addition of patch for DT_NEEDED 2012-12-20 23:05:27 +01:00
Eelco Dolstra
891dd9121b * Undo accidental commit.
svn path=/nixpkgs/trunk/; revision=33021
2012-03-12 15:34:00 +00:00
Eelco Dolstra
29df27f469 * Fix some Hydra dependencies that broke due to the Perl upgrade.
svn path=/nixpkgs/trunk/; revision=33020
2012-03-12 15:31:14 +00:00
Yury G. Kudryashov
5b132f6e96 svn merge ^/nixpkgs/trunk
Conflicts: cups, all-packages.nix (gcc45_debug)

svn path=/nixpkgs/branches/stdenv-updates/; revision=31863
2012-01-26 15:27:03 +00:00
Lluís Batlle i Rossell
4a1c721c01 Changing every reference from mips64-linux to mips64el-linux. That's
what the new nix thinks the fuloong is.

Anyone having the old nix should use a nixpkgs previous to this change to build
the new nix. And then, with the new nix, he can use any newer nixpkgs revision.

svn path=/nixpkgs/trunk/; revision=31751
2012-01-21 00:34:51 +00:00
Eelco Dolstra
26affd7238 * Doh!
svn path=/nixpkgs/branches/stdenv-updates/; revision=31699
2012-01-19 15:02:47 +00:00