nixpkgs/pkgs/development
Domen Kožar f031f3105a
GHC 8.0.2: use -split-sections
-split-sections replaced -split-objs with following upsides:

1) -split-objs adds considerable overhead to compile time

2) combined with stripping, it causes issues when cross-compiling

For upstream see https://ghc.haskell.org/trac/ghc/ticket/8405

This is supported only for Linux/Windows using ld linker.

GHC master also turns on -split-sections by default.

Example using stack:

Without splitting

  $ du /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2
  4       /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/share/bash-completion/completions
  4       /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/share/bash-completion
  4       /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/share
  23416   /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2/bin
  23420   /nix/store/5paayhibayr73zqfaj458g4k4mv108jn-stack-1.3.2

With -split-objs

  $ du /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2
  20632   /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/bin
  4 /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/share/bash-completion/completions
  4 /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/share/bash-completion
  4       /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2/share
  20636   /nix/store/fypymm529adpx71gdzm0851xz42wdbz0-stack-1.3.2

With -split-sections

  $ du /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2
  4       /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/share/bash-completion/completions
  4       /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/share/bash-completion
  4       /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/share
  20672   /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2/bin
  20676   /nix/store/40l6krinx1zx41lr87c4m12hxj4ldf3x-stack-1.3.2

Note: you currently need following overrides to build stack on 802:

   vector-algorithms = dontCheck super.vector-algorithms;
   path-io = doJailbreak super.path-io;
   stack = doJailbreak super.stack;

Note: Should also work on GHC 8.0.1, but I'm being careful here.
      We could backport later on.
2017-02-07 14:21:54 +01:00
..
arduino teensyduino: init at 1.31 (#20807) 2016-12-02 11:31:01 +01:00
beam-modules hexRegistrySnapshot: d58a937 -> e5e494a 2016-11-30 12:16:21 +01:00
bower-modules/generic
compilers Merge branch 'staging' 2017-02-04 21:02:46 +01:00
coq-modules coqPackages.math-classes: init at 2016-06-08 2017-01-27 11:16:30 +00:00
dotnet-modules/patches
eclipse/ecj Remove jdt-sdk 2016-11-03 21:12:39 -04:00
em-modules/generic
go-modules buildGoPackage: reduce the default meta.platforms 2016-12-14 10:26:20 +01:00
guile-modules
haskell-modules GHC 8.0.2: use -split-sections 2017-02-07 14:21:54 +01:00
idris-modules idrisPackages.httpclient: init 2016-12-20 00:28:23 +01:00
interpreters Merge branch 'staging' 2017-02-04 21:02:46 +01:00
libraries Revert "firefox-wrapper: remove gnash support, see #22342" 2017-02-06 21:39:09 -05:00
lisp-modules lispPackages.clx: git-20150117 -> git-20170201 2017-02-05 13:03:03 +01:00
lua-modules
misc loc: 0.3.3 -> 0.3.4 2016-12-08 09:59:47 -05:00
mobile xcodeenv, titaniumenv: fix IPA builds by granting codesign the right permissions 2017-01-27 10:50:36 +01:00
node-packages nodePackages: Add tern (#22418) 2017-02-04 22:18:28 +01:00
ocaml-modules virt-top: init at 1.0.8 (#21536) 2017-02-04 16:07:45 +01:00
perl-modules perl-Compress-Raw-Zlib: try without testing for now 2017-01-08 14:31:55 +01:00
pharo Remove myself from maintainers 2017-01-31 11:00:14 +01:00
pure-modules
python-modules docker_compose: Remove upper bound version limitations 2017-02-05 18:39:30 +01:00
qtcreator qtcreator: 4.2.0 -> 4.2.1 2017-02-03 17:48:17 +03:00
r-modules ~/.nixpkgs -> ~/.config/nixpkgs 2017-02-01 16:07:55 +01:00
ruby-modules bundler: 1.13.7 -> 1.14.3 (#22260) 2017-01-29 22:42:17 +00:00
tools openocd: 0.9.0 -> 0.10.0 2017-02-06 20:19:36 +01:00
web nodePackages: upgrade node2nix to version 1.1.1 and regenerate the package set 2017-01-20 22:05:44 +01:00