Commit Graph

257 Commits

Author SHA1 Message Date
Matthew Stewart
18f517fbd6 Enable new dtags in a way that works with binutils 2.30.
In 3027bca, binutils was upgraded from 2.28.1 to 2.30. However, in 2.30,
the ldmain.c file within binutils, which the nixpkgs new-dtags.patch
file is meant to modify, was changed in such a way that the patch no
longer works. As a result, the new dtags are not actually enabled, and
binaries are built with RPATH set instead of RUNPATH, thereby preventing
LD_LIBRARY_PATH from overriding this built-in path. This change corrects
this. The patch file is no longer necessary because binutils's ldmain.c
now sets link_info.new_dtags based on the configuration flags.

This was probably not noticed immediately because, when the derivation
is built with nix-build, the fixupPhase runs patchelf --shrink-rpath.
patchelf converts any RPATH in the binary into RUNPATH (unless
--force-rpath is specified).  Of course, if the binary is built without
nix-build (such as in a nix-shell), this never occurs, and any RPATH in
the binary is left in place.
2018-07-24 11:09:36 +03:00
Jörg Thalheim
218298b30f
Merge branch 'master' into unused5 2018-07-21 15:41:22 +01:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
volth
6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
Matthew Justin Bauer
412e823f29
binutils: disable format hardening
This fails for me:

> compressed_output.cc:320:20: error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
>       gold_warning(_("not compressing section data: zlib error"));
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./system.h:40:20: note: expanded from macro '_'
> # define _(String) gettext (String)
>                    ^~~~~~~~~~~~~~~~
> compressed_output.cc:320:20: note: treat the string as an argument to avoid this
>       gold_warning(_("not compressing section data: zlib error"));
>                    ^
>                    "%s",
> ./system.h:40:20: note: expanded from macro '_'
> # define _(String) gettext (String)
                   ^

Disabling format hardening should hopefully be harmless here. If it's a problem we can also make it conditional.

/cc @Ericson2314
2018-06-12 22:54:10 -04:00
John Ericson
ee9dc37e04
Merge pull request #40933 from obsidiansystems/linux-to-darwin
stdenv, binutils: Build cctools targeting macOS on Linux without pointless rebuilds
2018-05-23 11:37:43 -04:00
John Ericson
4ffa8b6125 binutils: Do not needless redownload sources cascading more rebuilds
Unfortunately this is a crude hack that we use the same binutils source
everywhere in the bootstrap chain.
2018-05-23 10:06:08 -04:00
John Ericson
75638e2de9
Merge pull request #40930 from obsidiansystems/binutils-always-patch
binutils: Always apply Aarch64 patch
2018-05-22 13:31:53 -04:00
John Ericson
afc439d57b binutils: Always apply Aarch64 patch
Otherwise various things which depend on `--enable-targets=all`
lib{bfd,opcodes}...like LLVM.
2018-05-21 20:30:25 -04:00
John Ericson
d00cc1242f
Merge pull request #40040 from obsidiansystems/gnu-config-arm
gnu-config: Update, allowing hacks to be removed
2018-05-14 11:20:09 -04:00
John Ericson
f2b575bd7b Merge remote-tracking branch 'upstream/master' into gnu-config-arm 2018-05-14 10:58:15 -04:00
John Ericson
f472dd7652 Revert "Revert "gcc, binutils: Get rid of 32-bit ARM configure flag exception""
And there's more reverts too. The previous commmit
d838afbc9376bdadb8c690eb00b425f3eeccdf2d to gnu-config finally solves
it!

This reverts commit 3ed545ab31.
2018-05-14 10:55:32 -04:00
Matthew Justin Bauer
eeb016e8f0
Merge branch 'staging' into fix-ncurses-darwin-extensions 2018-05-02 15:40:38 -05:00
georgewhewell
e22ba26c7b binutils: apply patch on aarch64 to fix https://sourceware.org/bugzilla/show_bug.cgi?id=22764
(cherry picked from commit 5ce2d3355d)
2018-04-28 19:46:05 +01:00
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
Tuomas Tynkkynen
3c6e077301 Merge remote-tracking branch 'upstream/master' into HEAD
Conflicts:
	pkgs/development/tools/misc/binutils/default.nix
2018-04-22 22:31:30 +03:00
Ken Micklas
ebc2243778 binutils: Add iOS as a supported platform 2018-04-19 11:37:10 -04:00
georgewhewell
5ce2d3355d binutils: apply patch on aarch64 to fix https://sourceware.org/bugzilla/show_bug.cgi?id=22764 2018-04-17 16:21:28 +01:00
Shea Levy
f8d38c31ae
binutils: Add comment about the limited lifetime of gold-symbol-visibility.patch 2018-03-28 12:40:44 -04:00
Shea Levy
1fa4b7149c
binutils: Revert apparently-broken multiple-definition support in gold.
Fixes llvm at least.
2018-03-20 17:22:10 -04:00
Shea Levy
3027bca02a
binutils: Bump default to 2.30 2018-03-20 17:22:10 -04: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
Vladimír Čunát
6899c7fdb9
Merge branch 'master' into gcc-6 2017-08-12 10:09:41 +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
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
Eelco Dolstra
0e353fdd5a * Don't use substite() here, because the bash binary in the bootstrap
tools (4.1.2) seems to have performance problems doing pattern
  substitutions on large strings (it takes several minutes on
  binutils' Makefile.in).  Bash 4.2 seems to be fine.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31698
2012-01-19 14:55:12 +00:00
Eelco Dolstra
cfde88976b * Streamline the stdenv bootstrap and resulting closure by removing
some redundant builds (e.g., GMP was built three times).
* Updated GMP to 5.0.2.
* Updated PPL to 0.11.2.
* Remove ad hoc flags to build GCC's dependencies statically.
  Instead, use the ‘makeStaticLibraries’ stdenv adapter.
* Build GMP with C++ support by default.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
2011-12-14 14:31:56 +00:00
Shea Levy
cffad35505 The GPL issue does not apply to this version of binutils
svn path=/nixpkgs/branches/stdenv-updates/; revision=30871
2011-12-13 18:13:45 +00:00
Eelco Dolstra
7bbb1ad569 * Revert to binutils 2.21.1. Binutils 2.22 changes the default
handling of dynamic libraries from --copy-dt-needed-entries to
  --no-copy-dt-needed-entries, which breaks stuff (e.g. GCC, see
  http://hydra.nixos.org/build/1608471).  So stick with 2.21.1 for
  now.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30870
2011-12-13 16:47:29 +00:00
Eelco Dolstra
8c23cd086f * binutils 2.22.
svn path=/nixpkgs/branches/stdenv-updates/; revision=30855
2011-12-12 17:14:59 +00:00
Lluís Batlle i Rossell
706b80c282 I wrote bad my attempt at -static-libgcc. Retrying.
svn path=/nixpkgs/branches/stdenv-updates/; revision=30024
2011-10-25 18:52:32 +00:00
Lluís Batlle i Rossell
3fa51ac56a Trying to disable the references to the bootstrap-tools libgcc
svn path=/nixpkgs/branches/stdenv-updates/; revision=30022
2011-10-25 18:35:17 +00:00
Ludovic Courtès
eff71744ea GNU Binutils: Fix URL.
svn path=/nixpkgs/branches/stdenv-updates/; revision=29605
2011-10-03 19:11:09 +00:00
Shea Levy
01df54f5cc Merge from trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=29461
2011-09-23 16:58:45 +00:00
Shea Levy
dcd147a141 Add note in binutils/default.nix to warn about the problematic source tarball
svn path=/nixpkgs/trunk/; revision=29067
2011-09-06 20:47:27 +00:00
Eelco Dolstra
41c9a5ebd3 * Fix the binutils URL.
svn path=/nixpkgs/trunk/; revision=29047
2011-09-05 20:54:53 +00:00
Lluís Batlle i Rossell
58fedb26b4 (binutils in the previous commit) I meant 2.21.1a
svn path=/nixpkgs/branches/stdenv-updates/; revision=28960
2011-09-01 17:38:05 +00:00
Lluís Batlle i Rossell
befe2926a8 Binutils 2.21 tarball is away from the mirrors. I guess we should take 2.21a.
svn path=/nixpkgs/branches/stdenv-updates/; revision=28959
2011-09-01 17:37:50 +00:00
Eelco Dolstra
92bf0b92d3 * Provide "null" defaults for the optional dependencies, otherwise
binutilsCross gives an evaluation error.

svn path=/nixpkgs/trunk/; revision=27138
2011-05-04 12:22:56 +00:00
Rob Vermaas
8f7cab5d5c add some versions of cppunit/boost/protobuf, added binutils with gold, added nlopt
svn path=/nixpkgs/trunk/; revision=27132
2011-05-04 10:03:46 +00:00
Ludovic Courtès
ac9fac1ba1 GNU Binutils 2.21.
svn path=/nixpkgs/branches/stdenv-updates/; revision=25091
2010-12-12 23:35:16 +00:00
Lluís Batlle i Rossell
18372e5a56 Reverting the patch that disabled using the 'binutils snapshot', because it's
needed for the fuloong minipc. It was not enough having the loongson2f patches;
only having the patches, we got troubles building cups with a segfault on the
dynamic loader running their 'genstrings' program.  And if sysvinit needs newer
binutils (I can't remember why, but I wrote it in the all-packages.nix before),
then let's use the snapshot.

As a note about "why this snapshot" (civodul was interested), when I knew that
we needed an unreleased version of binutils I went to download the snapshot of
the day. And it worked. This is all the story.

svn path=/nixpkgs/branches/stdenv-updates/; revision=24229
2010-10-11 23:18:00 +00:00
Lluís Batlle i Rossell
aedebd300f Fixing the binutils expression and patches, so they work fine.
I also added some comments on why these patches.
Now I tested that the patches work.

svn path=/nixpkgs/branches/stdenv-updates/; revision=24165
2010-10-07 22:45:28 +00:00
Lluís Batlle i Rossell
bdb096bb92 Instead of using binutils snapshot for the loongson2f, let's use the released version + patches.
svn path=/nixpkgs/branches/stdenv-updates/; revision=24164
2010-10-07 22:44:18 +00:00
Ludovic Courtès
99d51d0e92 Assorted GNU updates.
svn path=/nixpkgs/branches/stdenv-updates/; revision=21047
2010-04-13 08:37:54 +00:00
Eelco Dolstra
d67f1d269e * binutils creates hard links to the programs in $out/bin in
$out/<platform>/bin.  Because the fixup phase causes those to be
  replaced by identical copies, use symlinks instead of hardlinks.
  This saves about 9 MB.

svn path=/nixpkgs/branches/stdenv-updates/; revision=19549
2010-01-19 17:41:54 +00:00
Ludovic Courtès
9cb2e0aed7 binutils: Apply GNU assembler bug fix.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18815
2009-12-05 14:28:17 +00:00
Lluís Batlle i Rossell
2c7fa189fb Making the definition of the cross compiling target an attribute set.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18378
2009-11-16 23:21:13 +00:00
Lluís Batlle i Rossell
2aba922d30 My first attempt at getting cross compilers in nixpkgs.
My idea is to provide special stdenv expressions that will contain in the path
additional cross compilers. As most expressions for programs accept a stdenv parameter, 
we could substitute this parameter with the special stdenv, which will have a
generic builder that attempts the usual "--target=..." and can additionally
have an env variable like "cross" with the target architecture set.
So, finally we could have additional expressions like this:

bashRealArm = makeOverridable (import ../shells/bash) {
    inherit fetchurl bison;
    stdenv = stdenvCross "armv5tel-unknown-linux-gnueabi";
};

Meanwhile it does not work - I still cannot get the cross-gcc to build.

I think it does not fill the previous expressions with a lot of noise, so I
think it may be a good path to follow.

I only touched some files of the current stdenv: gcc-4.3, kernel headers
2.6.28, glibc 2.9, ...

I tried to use the gcc-cross-wrapper, that may be very outdated. Maybe I will
update it, or update the gcc-wrapper expression to make it fit the cross tools,
but meanwhile I even cannot build gcc, so I have not tested the wrapper.

This new idea on cross compiling is not similar to that of the
nixpkgs/branches/cross-compilation, which mostly added bare new expressions for
anything to be cross compiled, if I understood it correctly.

I cared not to break anything of the usual stdenv in all this work.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18343
2009-11-14 08:11:30 +00:00
Lluís Batlle i Rossell
4b27d28701 Porting changes from stdenv-updates into this branch.
This comes from:
svn diff  ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff
patch -p0 < diff
and then adding into svn all files new from the patch.

trunk@18255 comes from the last time I updated stdenv-updates from trunk.


svn path=/nixpkgs/stdenv-updates2/; revision=18272
2009-11-08 00:32:12 +00:00
Ludovic Courtès
8b87ac3eeb GNU Binutils 2.19.1.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13975
2009-02-03 19:36:56 +00:00
Ludovic Courtès
c0892721d0 GNU Binutils 2.19.
Untested!

svn path=/nixpkgs/branches/stdenv-updates/; revision=13141
2008-10-29 08:57:58 +00:00
Eelco Dolstra
25245042c2 * Turn on ld's --enable-new-dtags option by default to get RUNPATHs
instead of RPATHs.  Borrowed from Gentoo.

svn path=/nixpkgs/branches/stdenv-updates/; revision=11930
2008-05-29 14:16:35 +00:00
Eelco Dolstra
3b1aac231b * Binutils 2.18.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9656
2007-11-12 16:17:54 +00:00
Eelco Dolstra
cba3104ae8 * Give binutils a lower default priority than the gcc wrapper so that
"nix-env -i binutils gcc" will do the Right Thing and not give a
  collision.

svn path=/nixpkgs/trunk/; revision=8624
2007-04-27 23:30:07 +00:00
Eelco Dolstra
60a9aa66bf * Switching.
svn path=/nixpkgs/trunk/; revision=6827
2006-10-24 20:53:54 +00:00
Eelco Dolstra
3389f4bc36 * Copy lots of files to nix.cs.uu.nl.
svn path=/nixpkgs/trunk/; revision=4623
2006-01-30 16:04:03 +00:00
Eelco Dolstra
a450978f26 * Glibc updated to 2.3.5.
* GCC 3.4.4 and 3.3.6.
* Other stdenv packages updated.

svn path=/nixpkgs/trunk/; revision=3188
2005-06-17 10:30:13 +00:00