diff options
Diffstat (limited to 'pkgs/development/compilers')
48 files changed, 716 insertions, 136 deletions
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix index 1c915fb5a1d21..bcdeb2f19e818 100644 --- a/pkgs/development/compilers/aldor/default.nix +++ b/pkgs/development/compilers/aldor/default.nix @@ -45,7 +45,6 @@ stdenv.mkDerivation { and powerful properties of functional, object-oriented and aspect-oriented styles. ''; - maintainers = [ stdenv.lib.maintainers.simons ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index 280ed1803449d..51b3cf11823f1 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -2,22 +2,22 @@ stdenv.mkDerivation rec { name = "ats2-${version}"; - version = "0.2.4"; + version = "0.2.7"; src = fetchurl { url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; - sha256 = "0dx3r2vxmarj3aqm0xlcmls1h08pll9y9k4820df41awyrwmfvcy"; + sha256 = "1w9cncahv0vkqsj4vlfnn7bn61jvgxgjhk7wbppcm3yhb48pkmda"; }; buildInputs = [ gmp ]; setupHook = ./setup-hook.sh; - meta = { + meta = with stdenv.lib; { description = "Functional programming language with dependent types"; homepage = "http://www.ats-lang.org"; - license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice ttuegel ]; }; } diff --git a/pkgs/development/compilers/bupc/default.nix b/pkgs/development/compilers/bupc/default.nix new file mode 100644 index 0000000000000..f22549d06e63c --- /dev/null +++ b/pkgs/development/compilers/bupc/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, perl, coreutils }: + +stdenv.mkDerivation rec { + name = "berkeley_upc-2.22.0"; + + src = fetchurl { + url = "http://upc.lbl.gov/download/release/${name}.tar.gz"; + sha256 = "041l215x8z1cvjcx7kwjdgiaf9rl2d778k6kiv8q09bc68nwd44m"; + }; + + postPatch = '' + patchShebangs . + ''; + + # Used during the configure phase + ENVCMD = "${coreutils}/bin/env"; + + nativeBuildInputs = [ coreutils ]; + buildInputs = [ perl ]; + + meta = with stdenv.lib; { + description = "A compiler for the Berkely Unified Parallel C language"; + longDescription = '' + Unified Parallel C (UPC) is an extension of the C programming language + designed for high performance computing on large-scale parallel + machines.The language provides a uniform programming model for both + shared and distributed memory hardware. The programmer is presented with + a single shared, partitioned address space, where variables may be + directly read and written by any processor, but each variable is + physically associated with a single processor. UPC uses a Single Program + Multiple Data (SPMD) model of computation in which the amount of + parallelism is fixed at program startup time, typically with a single + thread of execution per processor. + ''; + homepage = http://upc.lbl.gov/; + license = licenses.mit; + platforms = with platforms; [ linux ]; + maintainers = with maintainers; [ zimbatm ]; + }; +} diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix index d9e7cc5073053..65200dce71ef2 100644 --- a/pkgs/development/compilers/chez/default.nix +++ b/pkgs/development/compilers/chez/default.nix @@ -3,39 +3,32 @@ stdenv.mkDerivation rec { name = "chez-scheme-${version}"; version = "9.4-${dver}"; - dver = "20160501"; + dver = "20160507"; src = fetchgit { url = "https://github.com/cisco/chezscheme.git"; - rev = "8343b7172532a00d2d19914206fcf83c93798c80"; - sha256 = "1jq55sdk468lckccfnqh0iv868bhw6yb9ba9bakqg2pfydb8r4qf"; + rev = "65df1d1f7c37f5b5a93cd7e5b475dda9dbafe03c"; + sha256 = "024x79xcdqp665xjyccpn02w6dmdvnhw0h0vdc42g9s5wv5ry92m"; fetchSubmodules = true; }; enableParallelBuilding = true; buildInputs = [ ncurses libX11 ]; - /* Chez uses a strange default search path, which completely - ** ignores the installation prefix for some reason, and instead - ** defaults to {/usr,/usr/local,$HOME}/lib for finding the .boot - ** file. + /* We patch out a very annoying 'feature' in ./configure, which + ** tries to use 'git' to update submodules. ** - ** Also, we patch out a very annoying 'feature' in ./configure, too, - ** which tries to use 'git' to update submodules. - ** - ** Finally, we have to also fix a few occurrences to tools with - ** absolute paths in some helper scripts, otherwise the build will - ** fail on NixOS or in any chroot build. + ** We have to also fix a few occurrences to tools with absolute + ** paths in some helper scripts, otherwise the build will fail on + ** NixOS or in any chroot build. */ patchPhase = '' - substituteInPlace ./c/scheme.c \ - --replace "/usr/lib/csv" "$out/lib/csv" - substituteInPlace ./configure \ --replace "git submodule init && git submodule update || exit 1" "" substituteInPlace ./workarea \ - --replace "/bin/ln" "${coreutils}/bin/ln" + --replace "/bin/ln" "${coreutils}/bin/ln" \ + --replace "/bin/cp" "${coreutils}/bin/cp" substituteInPlace ./makefiles/installsh \ --replace "/usr/bin/true" "${coreutils}/bin/true" diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix index 900cb92ab8075..ec33869761be5 100644 --- a/pkgs/development/compilers/dev86/default.nix +++ b/pkgs/development/compilers/dev86/default.nix @@ -1,27 +1,20 @@ { stdenv, fetchurl }: -stdenv.mkDerivation { - name = "dev86-0.16.19"; +stdenv.mkDerivation rec { + name = "dev86-${version}"; + version = "0.16.21"; src = fetchurl { - url = http://www.debath.co.uk/dev86/Dev86src-0.16.19.tar.gz; - sha256 = "33398b87ca85e2b69e4062cf59f2f7354af46da5edcba036c6f97bae17b8d00e"; + url = "http://v3.sk/~lkundrak/dev86/Dev86src-${version}.tar.gz"; + sha256 = "154dyr2ph4n0kwi8yx0n78j128kw29rk9r9f7s2gddzrdl712jr3"; }; hardeningDisable = [ "format" ]; makeFlags = "PREFIX=$(out)"; - # Awful hackery to get dev86 to compile with recent gcc/binutils. - # See http://bugs.gentoo.org/214964 for some inconclusive - # discussion. - preBuild = - '' - substituteInPlace makefile.in --replace "-O2" "" --replace "-O" "" - ''; - meta = { description = "Linux 8086 development environment"; - homepage = http://www.debath.co.uk/; + homepage = http://v3.sk/~lkundrak/dev86/; }; } diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 87211ff6e6ed0..360273a7eca96 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -1,5 +1,11 @@ { lib, stdenv, buildEnv, haskell, nodejs, fetchurl, fetchpatch, makeWrapper }: +# To update: +# 1) Update versions in ./update-elm.rb and run it. +# 2) Checkout elm-reactor and run `elm-package install -y` inside. +# 3) Run ./elm2nix.rb in elm-reactor's directory. +# 4) Move the resulting 'package.nix' to 'packages/elm-reactor-elm.nix'. + let makeElmStuff = deps: let json = builtins.toJSON (lib.mapAttrs (name: info: info.version) deps); @@ -61,9 +67,6 @@ let in elmPkgs // { inherit elmPkgs; elmVersion = elmRelease.version; - - # To unbreak elm-compiler - language-ecmascript = self.language-ecmascript_0_17_0_2; }; }; in hsPkgs.elmPkgs // { diff --git a/pkgs/development/compilers/elm/packages/elm-compiler.nix b/pkgs/development/compilers/elm/packages/elm-compiler.nix index 38913e501b05e..ac0e2c2363225 100644 --- a/pkgs/development/compilers/elm/packages/elm-compiler.nix +++ b/pkgs/development/compilers/elm/packages/elm-compiler.nix @@ -7,11 +7,11 @@ }: mkDerivation { pname = "elm-compiler"; - version = "0.16"; + version = "0.17"; src = fetchgit { url = "https://github.com/elm-lang/elm-compiler"; - sha256 = "b3bcdca469716f3a4195469549a9e9bc53a6030aff132ec620b9c93958a5ffe6"; - rev = "df86c1c9b3cf06de3ccb78f26b4d2fac0129ce5a"; + sha256 = "185mh53yyxh9m0z8808fxpds3vqyrbhahf587nnw6qzyzv63m7px"; + rev = "c9c7e72c424a13255f8ee84c719f7ef48b689c1a"; }; isLibrary = true; isExecutable = true; diff --git a/pkgs/development/compilers/elm/packages/elm-make.nix b/pkgs/development/compilers/elm/packages/elm-make.nix index 923caf8e4c864..862adb460e3e2 100644 --- a/pkgs/development/compilers/elm/packages/elm-make.nix +++ b/pkgs/development/compilers/elm/packages/elm-make.nix @@ -1,22 +1,22 @@ { mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base, binary , blaze-html, blaze-markup, bytestring, containers, directory , elm-compiler, elm-package, fetchgit, filepath, mtl -, optparse-applicative, stdenv, text, time +, optparse-applicative, stdenv, text, time, raw-strings-qq }: mkDerivation { pname = "elm-make"; - version = "0.16"; + version = "0.17"; src = fetchgit { url = "https://github.com/elm-lang/elm-make"; - sha256 = "fc0a6ed08b236dfab43e9af73f8e83a3b88a155695a9671a2b291dc596a75116"; - rev = "54e0b33fea0cd72400ac6a3dec7643bf1b900741"; + sha256 = "0y8a67y8jhnhbcqzgjymyf1ffs75vyfpyb8as2bi0mkhb7fvzi6q"; + rev = "5f7b74567c43eff341048c7caceb247b51cdb8bb"; }; isLibrary = false; isExecutable = true; executableHaskellDepends = [ aeson ansi-terminal ansi-wl-pprint base binary blaze-html blaze-markup bytestring containers directory elm-compiler - elm-package filepath mtl optparse-applicative text time + elm-package filepath mtl optparse-applicative text time raw-strings-qq ]; jailbreak = true; homepage = "http://elm-lang.org"; diff --git a/pkgs/development/compilers/elm/packages/elm-package.nix b/pkgs/development/compilers/elm/packages/elm-package.nix index db57df970eed8..5d2b4f8baba99 100644 --- a/pkgs/development/compilers/elm/packages/elm-package.nix +++ b/pkgs/development/compilers/elm/packages/elm-package.nix @@ -6,11 +6,11 @@ }: mkDerivation { pname = "elm-package"; - version = "0.16"; + version = "0.17"; src = fetchgit { url = "https://github.com/elm-lang/elm-package"; - sha256 = "836789a823ab1d97a37907396856d8808c5573e295315c0a55e5bb44915fba4b"; - rev = "6305a7954a45d1635d6a7185f2dcf136c376074f"; + sha256 = "1x9jczby38ax3rbjq6hbyr593dhxazm39gy9jv00k6508dzvfg2l"; + rev = "fc0924210fe5a7c0af543769b1353dbb2ddf2f0c"; }; isLibrary = true; isExecutable = true; diff --git a/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix b/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix index e75744013c48c..a84f9e48ba032 100644 --- a/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix +++ b/pkgs/development/compilers/elm/packages/elm-reactor-elm.nix @@ -1,18 +1,22 @@ { - "evancz/virtual-dom" = { - version = "2.1.0"; - sha256 = "0x072vk2x9md5pxwc3f3v7gm738wr996d54avzzadfvj3qcjxpfs"; + "elm-lang/virtual-dom" = { + version = "1.0.0"; + sha256 = "0pa8k04g9yfixahsb30j0rbhfh6hwdh7xmm2fvk0hkidw7b4xg57"; }; "evancz/elm-markdown" = { - version = "2.0.0"; - sha256 = "1x1kvwag7idxif4gsznnx0lp1c49dl9pin3aj0dq21lzradggn3g"; + version = "3.0.0"; + sha256 = "0r3hcim4mpn46ahv1q6sjp6i2viyp7jik6i71xgwmvfb9drns2p6"; + }; + "elm-lang/html" = { + version = "1.0.0"; + sha256 = "16cr01yxkpkmgbgclp2p80nd62a6fjw3qipzjsgksrhwv9vv4gm4"; }; - "evancz/elm-html" = { - version = "4.0.2"; - sha256 = "05hzsnsqp2krd9s4xjwhmvyafpky4dc40bbk9sgsr301450cfgw6"; + "elm-lang/svg" = { + version = "1.0.0"; + sha256 = "0c29y6c58x2sq1bl29z1hr5gi2rlza8clk7ssgzmsf4xbvcczbjx"; }; "elm-lang/core" = { - version = "3.0.0"; - sha256 = "18pdsnz05pjhdv575l3bqzrjd7780zgpcklg4c6lvwwcanpg42pk"; + version = "4.0.0"; + sha256 = "04qgzgv90qyhjk55yw4szy50h2dqdlm0a2padbgn02yf4bb1b4nw"; }; } diff --git a/pkgs/development/compilers/elm/packages/elm-reactor.nix b/pkgs/development/compilers/elm/packages/elm-reactor.nix index 90fdb68480ca0..18bb428a7a6a9 100644 --- a/pkgs/development/compilers/elm/packages/elm-reactor.nix +++ b/pkgs/development/compilers/elm/packages/elm-reactor.nix @@ -1,22 +1,22 @@ { mkDerivation, base, blaze-html, blaze-markup, bytestring, cmdargs , directory, elm-compiler, fetchgit, filepath, fsnotify, mtl , snap-core, snap-server, stdenv, text, time, transformers -, websockets, websockets-snap +, websockets, websockets-snap, elm-package, file-embed }: mkDerivation { pname = "elm-reactor"; - version = "0.16"; + version = "0.17"; src = fetchgit { url = "https://github.com/elm-lang/elm-reactor"; - sha256 = "55605b8443dad20c78e297ce35a603cb107b0c1e57bf1c4710faaebc60396de0"; - rev = "b03166296d11e240fa04cdb748e1f3c4af7afc83"; + sha256 = "14hb16qwx1f4bfngh87pwjavgz6njbwdxlsy218rw3xydy3s1cn3"; + rev = "4781ad2fbb6cbcde0d659dec293bbed9c847ba71"; }; isLibrary = false; isExecutable = true; executableHaskellDepends = [ base blaze-html blaze-markup bytestring cmdargs directory elm-compiler filepath fsnotify mtl snap-core snap-server text time - transformers websockets websockets-snap + transformers websockets websockets-snap elm-package file-embed ]; jailbreak = true; homepage = "http://elm-lang.org"; diff --git a/pkgs/development/compilers/elm/packages/elm-repl.nix b/pkgs/development/compilers/elm/packages/elm-repl.nix index 656fd18c72139..4be7b023fa0fe 100644 --- a/pkgs/development/compilers/elm/packages/elm-repl.nix +++ b/pkgs/development/compilers/elm/packages/elm-repl.nix @@ -5,11 +5,11 @@ }: mkDerivation { pname = "elm-repl"; - version = "0.16"; + version = "0.17"; src = fetchgit { url = "https://github.com/elm-lang/elm-repl"; - sha256 = "36d50cf1f86815900afd4b75da6e5cd15008b2652e97ffed0f321a28e6442874"; - rev = "265de7283488964f44f0257a8b4a055ad8af984d"; + sha256 = "1mxg99w36b8i43kl1nxp7fd86igi5wyj08m9mraiq58vpcgyqnzq"; + rev = "95b4555cff6b6e2a55a4ea3dab00bfb39dfebf0d"; }; isLibrary = false; isExecutable = true; diff --git a/pkgs/development/compilers/elm/packages/release.nix b/pkgs/development/compilers/elm/packages/release.nix index b1826260f8f52..742ada2481eb0 100644 --- a/pkgs/development/compilers/elm/packages/release.nix +++ b/pkgs/development/compilers/elm/packages/release.nix @@ -1,6 +1,6 @@ { callPackage }: { - version = "0.16.0"; + version = "0.17.0"; packages = { elm-compiler = callPackage ./elm-compiler.nix { }; elm-package = callPackage ./elm-package.nix { }; diff --git a/pkgs/development/compilers/elm/update-elm.rb b/pkgs/development/compilers/elm/update-elm.rb index 363655415a95a..53dd0f88fa02a 100755 --- a/pkgs/development/compilers/elm/update-elm.rb +++ b/pkgs/development/compilers/elm/update-elm.rb @@ -1,12 +1,12 @@ #!/usr/bin/env ruby # Take those from https://github.com/elm-lang/elm-platform/blob/master/installers/BuildFromSource.hs -$elm_version = "0.16.0" -$elm_packages = { "elm-compiler" => "0.16", - "elm-package" => "0.16", - "elm-make" => "0.16", - "elm-reactor" => "0.16", - "elm-repl" => "0.16" +$elm_version = "0.17" +$elm_packages = { "elm-compiler" => "0.17", + "elm-package" => "0.17", + "elm-make" => "0.17", + "elm-reactor" => "0.17", + "elm-repl" => "0.17" } for pkg, ver in $elm_packages diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix index 1c549907c31d3..85d8d37b21ce9 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix @@ -33,8 +33,8 @@ stdenv.mkDerivation { for f in $(find $out); do if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then - patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \ - --set-rpath $out/lib:${gcc.lib or gcc}/lib:${ncurses.out}/lib \ + patchelf --set-interpreter ${getLib glibc}/lib/ld-linux.so.2 \ + --set-rpath $out/lib:${getLib gcc}/lib:${ncurses.out}/lib \ "$f" || true fi done diff --git a/pkgs/development/compilers/gcc/4.5/update-gcc.sh b/pkgs/development/compilers/gcc/4.5/update-gcc.sh deleted file mode 120000 index 907772b2af8af..0000000000000 --- a/pkgs/development/compilers/gcc/4.5/update-gcc.sh +++ /dev/null @@ -1 +0,0 @@ -../4.4/update-gcc.sh \ No newline at end of file diff --git a/pkgs/development/compilers/gcc/4.6/update-gcc.sh b/pkgs/development/compilers/gcc/4.6/update-gcc.sh deleted file mode 120000 index 907772b2af8af..0000000000000 --- a/pkgs/development/compilers/gcc/4.6/update-gcc.sh +++ /dev/null @@ -1 +0,0 @@ -../4.4/update-gcc.sh \ No newline at end of file diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 823b104e6e415..bc6c64eb70949 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -517,7 +517,7 @@ stdenv.mkDerivation ({ compiler used in the GNU system including the GNU/Linux variant. ''; - maintainers = with stdenv.lib.maintainers; [ viric simons ]; + maintainers = with stdenv.lib.maintainers; [ viric peti ]; # gnatboot is not available out of linux platforms, so we disable the darwin build # for the gnat (ada compiler). diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 736b4e59e6d88..7e6da2dc93e48 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -524,7 +524,7 @@ stdenv.mkDerivation ({ compiler used in the GNU system including the GNU/Linux variant. ''; - maintainers = with stdenv.lib.maintainers; [ viric simons ]; + maintainers = with stdenv.lib.maintainers; [ viric peti ]; # gnatboot is not available out of linux platforms, so we disable the darwin build # for the gnat (ada compiler). diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index f54ca3040421d..fe48cdfd4855c 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -518,7 +518,7 @@ stdenv.mkDerivation ({ compiler used in the GNU system including the GNU/Linux variant. ''; - maintainers = with stdenv.lib.maintainers; [ viric simons ]; + maintainers = with stdenv.lib.maintainers; [ viric peti ]; # gnatboot is not available out of linux platforms, so we disable the darwin build # for the gnat (ada compiler). diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix new file mode 100644 index 0000000000000..6ca0f2f59f44b --- /dev/null +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -0,0 +1,538 @@ +{ stdenv, fetchurl, noSysDirs +, langC ? true, langCC ? true, langFortran ? false +, langObjC ? stdenv.isDarwin +, langObjCpp ? stdenv.isDarwin +, langJava ? false +, langAda ? false +, langVhdl ? false +, langGo ? false +, profiledCompiler ? false +, staticCompiler ? false +, enableShared ? true +, texinfo ? null +, perl ? null # optional, for texi2pod (then pod2man); required for Java +, gmp, mpfr, libmpc, gettext, which +, libelf # optional, for link-time optimizations (LTO) +, isl ? null # optional, for the Graphite optimization framework. +, zlib ? null, boehmgc ? null +, zip ? null, unzip ? null, pkgconfig ? null +, gtk ? null, libart_lgpl ? null +, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null +, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null +, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, x11Support ? langJava +, gnatboot ? null +, enableMultilib ? false +, enablePlugin ? true # whether to support user-supplied plug-ins +, name ? "gcc" +, cross ? null +, binutilsCross ? null +, libcCross ? null +, crossStageStatic ? true +, gnat ? null +, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd +, stripped ? true +, gnused ? null +, binutils ? null +, cloog # unused; just for compat with gcc4, as we override the parameter on some places +}: + +assert langJava -> zip != null && unzip != null + && zlib != null && boehmgc != null + && perl != null; # for `--enable-java-home' +assert langAda -> gnatboot != null; +assert langVhdl -> gnat != null; + +# LTO needs libelf and zlib. +assert libelf != null -> zlib != null; + +# Make sure we get GNU sed. +assert stdenv.isDarwin -> gnused != null; + +# Need c++filt on darwin +assert stdenv.isDarwin -> binutils != null; + +# The go frontend is written in c++ +assert langGo -> langCC; + +with stdenv.lib; +with builtins; + +let version = "6.1.0"; + + # Whether building a cross-compiler for GNU/Hurd. + crossGNU = cross != null && cross.config == "i586-pc-gnu"; + + enableParallelBuilding = true; + + patches = + [ ../use-source-date-epoch.patch ] + ++ optional (cross != null) ../libstdc++-target.patch + ++ optional noSysDirs ../no-sys-dirs.patch + # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its + # target libraries and tools. + ++ optional langAda ../gnat-cflags.patch + ++ optional langFortran ../gfortran-driving.patch; + + javaEcj = fetchurl { + # The `$(top_srcdir)/ecj.jar' file is automatically picked up at + # `configure' time. + + # XXX: Eventually we might want to take it from upstream. + url = "ftp://sourceware.org/pub/java/ecj-4.3.jar"; + sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx"; + }; + + # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a + # binary distribution here to allow the whole chain to be bootstrapped. + javaAntlr = fetchurl { + url = http://www.antlr.org/download/antlr-4.4-complete.jar; + sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz"; + }; + + xlibs = [ + libX11 libXt libSM libICE libXtst libXrender libXrandr libXi + xproto renderproto xextproto inputproto randrproto + ]; + + javaAwtGtk = langJava && x11Support; + + /* Platform flags */ + platformFlags = let + gccArch = stdenv.platform.gcc.arch or null; + gccCpu = stdenv.platform.gcc.cpu or null; + gccAbi = stdenv.platform.gcc.abi or null; + gccFpu = stdenv.platform.gcc.fpu or null; + gccFloat = stdenv.platform.gcc.float or null; + gccMode = stdenv.platform.gcc.mode or null; + withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; + withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; + withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; + withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else ""; + withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; + withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; + in + withArch + + withCpu + + withAbi + + withFpu + + withFloat + + withMode; + + /* Cross-gcc settings */ + crossMingw = cross != null && cross.libc == "msvcrt"; + crossDarwin = cross != null && cross.libc == "libSystem"; + crossConfigureFlags = let + gccArch = stdenv.cross.gcc.arch or null; + gccCpu = stdenv.cross.gcc.cpu or null; + gccAbi = stdenv.cross.gcc.abi or null; + gccFpu = stdenv.cross.gcc.fpu or null; + gccFloat = stdenv.cross.gcc.float or null; + gccMode = stdenv.cross.gcc.mode or null; + withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; + withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; + withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; + withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else ""; + withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; + withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; + in + "--target=${cross.config}" + + withArch + + withCpu + + withAbi + + withFpu + + withFloat + + withMode + + (if crossMingw && crossStageStatic then + " --with-headers=${libcCross}/include" + + " --with-gcc" + + " --with-gnu-as" + + " --with-gnu-ld" + + " --with-gnu-ld" + + " --disable-shared" + + " --disable-nls" + + " --disable-debug" + + " --enable-sjlj-exceptions" + + " --enable-threads=win32" + + " --disable-win32-registry" + else if crossStageStatic then + " --disable-libssp --disable-nls" + + " --without-headers" + + " --disable-threads " + + " --disable-libgomp " + + " --disable-libquadmath" + + " --disable-shared" + + " --disable-libatomic " + # libatomic requires libc + " --disable-decimal-float" # libdecnumber requires libc + else + (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot" + else " --with-headers=${libcCross}/include") + + # Ensure that -print-prog-name is able to find the correct programs. + (stdenv.lib.optionalString (crossMingw || crossDarwin) ( + " --with-as=${binutilsCross}/bin/${cross.config}-as" + + " --with-ld=${binutilsCross}/bin/${cross.config}-ld" + )) + + " --enable-__cxa_atexit" + + " --enable-long-long" + + (if crossMingw then + " --enable-threads=win32" + + " --enable-sjlj-exceptions" + + " --enable-hash-synchronization" + + " --disable-libssp" + + " --disable-nls" + + " --with-dwarf2" + + # I think noone uses shared gcc libs in mingw, so we better do the same. + # In any case, mingw32 g++ linking is broken by default with shared libs, + # unless adding "-lsupc++" to any linking command. I don't know why. + " --disable-shared" + + # To keep ABI compatibility with upstream mingw-w64 + " --enable-fully-dynamic-string" + else (if cross.libc == "uclibc" then + # In uclibc cases, libgomp needs an additional '-ldl' + # and as I don't know how to pass it, I disable libgomp. + " --disable-libgomp" else "") + + " --enable-threads=posix" + + " --enable-nls" + + " --disable-decimal-float") # No final libdecnumber (it may work only in 386) + ); + stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; + crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; + + bootstrap = cross == null; + +in + +# We need all these X libraries when building AWT with GTK+. +assert x11Support -> (filter (x: x == null) ([ gtk libart_lgpl ] ++ xlibs)) == []; + +stdenv.mkDerivation ({ + name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; + + builder = ../builder.sh; + + src = fetchurl { + url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; + sha256 = "0ld3y4rgimyqgx1nwvzqyl5gr4wzc0ch4akkvsqp3fgbmdfcii09"; + }; + + inherit patches; + + outputs = [ "out" "lib" "man" "info" ]; + setOutputFlags = false; + NIX_NO_SELF_RPATH = true; + + libc_dev = stdenv.cc.libc_dev; + + postPatch = + if (stdenv.isGNU + || (libcCross != null # e.g., building `gcc.crossDrv' + && libcCross ? crossConfig + && libcCross.crossConfig == "i586-pc-gnu") + || (crossGNU && libcCross != null)) + then + # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not + # in glibc, so add the right `-I' flags to the default spec string. + assert libcCross != null -> libpthreadCross != null; + let + libc = if libcCross != null then libcCross else stdenv.glibc; + gnu_h = "gcc/config/gnu.h"; + extraCPPDeps = + libc.propagatedBuildInputs + ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross + ++ stdenv.lib.optional (libpthread != null) libpthread; + extraCPPSpec = + concatStrings (intersperse " " + (map (x: "-I${x}/include") extraCPPDeps)); + extraLibSpec = + if libpthreadCross != null + then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" + else "-L${libpthread}/lib"; + in + '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." + sed -i "${gnu_h}" \ + -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' + + echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." + sed -i "${gnu_h}" \ + -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' + + echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..." + sed -i "${gnu_h}" \ + -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g' + '' + else if cross != null || stdenv.cc.libc != null then + # On NixOS, use the right path to the dynamic linker instead of + # `/lib/ld*.so'. + let + libc = if libcCross != null then libcCross else stdenv.cc.libc; + in + '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..." + for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h + do + grep -q LIBC_DYNAMIC_LINKER "$header" || continue + echo " fixing \`$header'..." + sed -i "$header" \ + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g' + done + '' + else null; + + inherit noSysDirs staticCompiler langJava crossStageStatic + libcCross crossMingw; + + nativeBuildInputs = [ texinfo which gettext ] + ++ (optional (perl != null) perl) + ++ (optional javaAwtGtk pkgconfig); + + buildInputs = [ gmp mpfr libmpc libelf ] + ++ (optional (isl != null) isl) + ++ (optional (zlib != null) zlib) + ++ (optionals langJava [ boehmgc zip unzip ]) + ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs)) + ++ (optionals (cross != null) [binutilsCross]) + ++ (optionals langAda [gnatboot]) + ++ (optionals langVhdl [gnat]) + + # The builder relies on GNU sed (for instance, Darwin's `sed' fails with + # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. + ++ (optional stdenv.isDarwin gnused) + ++ (optional stdenv.isDarwin binutils) + ; + + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; + + preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) '' + export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` + export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" + export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" + export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" + '' + stdenv.lib.optionalString stdenv.isDarwin '' + if SDKROOT=$(/usr/bin/xcrun --show-sdk-path); then + configureFlagsArray+=(--with-native-system-header-dir=$SDKROOT/usr/include) + makeFlagsArray+=( \ + CFLAGS_FOR_BUILD=-F$SDKROOT/System/Library/Frameworks \ + CFLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ + FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \ + ) + fi + ''; + + dontDisableStatic = true; + + configureFlags = " + ${if stdenv.isSunOS then + " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + + # On Illumos/Solaris GNU as is preferred + " --with-gnu-as --without-gnu-ld " + else ""} + --enable-lto + ${if enableMultilib then "--enable-multilib --disable-libquadmath" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if enablePlugin then "--enable-plugin" else "--disable-plugin"} + ${optionalString (isl != null) "--with-isl=${isl}"} + ${if langJava then + "--with-ecj-jar=${javaEcj} " + + + # Follow Sun's layout for the convenience of IcedTea/OpenJDK. See + # <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>. + "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre " + else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} + --with-gmp=${gmp} + --with-mpfr=${mpfr} + --with-mpc=${libmpc} + ${if libelf != null then "--with-libelf=${libelf}" else ""} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-static + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ++ optional langObjC "objc" + ++ optional langObjCpp "obj-c++" + ++ optionals crossDarwin [ "objc" "obj-c++" ] + ) + ) + } + ${if (stdenv ? glibc && cross == null) + then " --with-native-system-header-dir=${stdenv.glibc.dev}/include" + else ""} + ${if langAda then " --enable-libada" else ""} + ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + ${if !bootstrap then "--disable-bootstrap" else ""} + ${if cross == null then platformFlags else ""} + "; + + targetConfig = if cross != null then cross.config else null; + + buildFlags = if bootstrap then + (if profiledCompiler then "profiledbootstrap" else "bootstrap") + else ""; + + installTargets = + if stripped + then "install-strip" + else "install"; + + crossAttrs = let + xgccArch = stdenv.cross.gcc.arch or null; + xgccCpu = stdenv.cross.gcc.cpu or null; + xgccAbi = stdenv.cross.gcc.abi or null; + xgccFpu = stdenv.cross.gcc.fpu or null; + xgccFloat = stdenv.cross.gcc.float or null; + xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else ""; + xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else ""; + xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else ""; + xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else ""; + xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else ""; + in { + AR = "${stdenv.cross.config}-ar"; + LD = "${stdenv.cross.config}-ld"; + CC = "${stdenv.cross.config}-gcc"; + CXX = "${stdenv.cross.config}-gcc"; + AR_FOR_TARGET = "${stdenv.cross.config}-ar"; + LD_FOR_TARGET = "${stdenv.cross.config}-ld"; + CC_FOR_TARGET = "${stdenv.cross.config}-gcc"; + NM_FOR_TARGET = "${stdenv.cross.config}-nm"; + CXX_FOR_TARGET = "${stdenv.cross.config}-g++"; + # If we are making a cross compiler, cross != null + NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else ""; + dontStrip = true; + configureFlags = '' + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""} + --with-gmp=${gmp.crossDrv} + --with-mpfr=${mpfr.crossDrv} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ) + ) + } + ${if langAda then " --enable-libada" else ""} + --target=${stdenv.cross.config} + ${xwithArch} + ${xwithCpu} + ${xwithAbi} + ${xwithFpu} + ${xwithFloat} + ''; + buildFlags = ""; + }; + + + # Needed for the cross compilation to work + AR = "ar"; + LD = "ld"; + # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 + CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; + + # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find + # the library headers and binaries, regarless of the language being + # compiled. + + # Note: When building the Java AWT GTK+ peer, the build system doesn't + # honor `--with-gmp' et al., e.g., when building + # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just + # add them to $CPATH and $LIBRARY_PATH in this case. + # + # Likewise, the LTO code doesn't find zlib. + + CPATH = concatStrings + (intersperse ":" (map (x: x + "/include") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread + ++ optional (libpthreadCross != null) libpthreadCross + + # On GNU/Hurd glibc refers to Mach & Hurd + # headers. + ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" ) + libcCross.propagatedBuildInputs))); + + LIBRARY_PATH = concatStrings + (intersperse ":" (map (x: x + "/lib") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread))); + + EXTRA_TARGET_CFLAGS = + if cross != null && libcCross != null + then "-idirafter ${libcCross}/include" + else null; + + EXTRA_TARGET_LDFLAGS = + if cross != null && libcCross != null + then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + + (optionalString (libpthreadCross != null) + " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") + else null; + + passthru = + { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; }; + + inherit enableParallelBuilding enableMultilib; + + inherit (stdenv) is64bit; + + meta = { + homepage = http://gcc.gnu.org/; + license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}" + + (if stripped then "" else " (with debugging info)"); + + longDescription = '' + The GNU Compiler Collection includes compiler front ends for C, C++, + Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well + as libraries for these languages (libstdc++, libgcj, libgomp,...). + + GCC development is a part of the GNU Project, aiming to improve the + compiler used in the GNU system including the GNU/Linux variant. + ''; + + maintainers = with stdenv.lib.maintainers; [ viric peti ]; + + # gnatboot is not available out of linux platforms, so we disable the darwin build + # for the gnat (ada compiler). + platforms = + stdenv.lib.platforms.linux ++ + stdenv.lib.platforms.freebsd ++ + optionals (langAda == false) stdenv.lib.platforms.darwin; + }; +} + +// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { + makeFlags = [ "all-gcc" "all-target-libgcc" ]; + installTargets = "install-gcc install-target-libgcc"; +} + +# Strip kills static libs of other archs (hence cross != null) +// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } + +// optionalAttrs (enableMultilib) { dontMoveLib64 = true; } +) diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix index 3ad872518f9e5..81bdebdcbd475 100644 --- a/pkgs/development/compilers/ghc/6.10.2-binary.nix +++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl, libedit, ncurses, gmp}: +{stdenv, lib, fetchurl, perl, libedit, ncurses, gmp}: stdenv.mkDerivation rec { version = "6.10.2"; @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { '' else ""); configurePhase = '' - ./configure --prefix=$out --with-gmp-libraries=${gmp.out}/lib --with-gmp-includes=${gmp.dev or gmp}/include + ./configure --prefix=$out --with-gmp-libraries=${lib.getLib gmp}/lib --with-gmp-includes=${lib.getDev gmp}/include ''; # Stripping combined with patchelf breaks the executables (they die @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { # No building is necessary, but calling make without flags ironically # calls install-strip ... - buildPhase = "true"; + dontBuild = true; # The binaries for Darwin use frameworks, so fake those frameworks, # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix index 5c33a193c5013..6ee447be6507e 100644 --- a/pkgs/development/compilers/ghc/6.12.3.nix +++ b/pkgs/development/compilers/ghc/6.12.3.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. inherit (ghc.meta) license; broken = true; # broken by gcc 5.x: http://hydra.nixos.org/build/33627548 diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix index c03cfbaaaddac..77e5229a2a0ae 100644 --- a/pkgs/development/compilers/ghc/7.0.4-binary.nix +++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix @@ -99,7 +99,7 @@ stdenv.mkDerivation rec { # No building is necessary, but calling make without flags ironically # calls install-strip ... - buildPhase = "true"; + dontBuild = true; postInstall = '' diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix index 9152210b420d5..7442c5ca53c82 100644 --- a/pkgs/development/compilers/ghc/7.0.4.nix +++ b/pkgs/development/compilers/ghc/7.0.4.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.marcweber stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons + stdenv.lib.maintainers.peti ]; platforms = ["x86_64-linux" "i686-linux"]; # Darwin is not supported. inherit (ghc.meta) license; diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix index d7f1e064030b4..aaf76d2ae40c8 100644 --- a/pkgs/development/compilers/ghc/7.10.2.nix +++ b/pkgs/development/compilers/ghc/7.10.2.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index ce62a1277d364..2bed6d1487ad6 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix index a08745732f887..06f7cb9af2c4a 100644 --- a/pkgs/development/compilers/ghc/7.2.2.nix +++ b/pkgs/development/compilers/ghc/7.2.2.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.marcweber stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons + stdenv.lib.maintainers.peti ]; platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. inherit (ghc.meta) license; diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix index cf21a61b1b39c..c9f281980d95a 100644 --- a/pkgs/development/compilers/ghc/7.4.2-binary.nix +++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix @@ -101,7 +101,7 @@ stdenv.mkDerivation rec { # No building is necessary, but calling make without flags ironically # calls install-strip ... - buildPhase = "true"; + dontBuild = true; preInstall = stdenv.lib.optionalString stdenv.isDarwin '' mkdir -p $out/lib/ghc-7.4.2 diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix index bf48e50b6b73e..c74461a064e6c 100644 --- a/pkgs/development/compilers/ghc/7.4.2.nix +++ b/pkgs/development/compilers/ghc/7.4.2.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.marcweber stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons + stdenv.lib.maintainers.peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix index af9fd3f8d93c0..6ee629cc98042 100644 --- a/pkgs/development/compilers/ghc/7.6.3.nix +++ b/pkgs/development/compilers/ghc/7.6.3.nix @@ -75,7 +75,7 @@ in stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.marcweber stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons + stdenv.lib.maintainers.peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/7.8.3.nix b/pkgs/development/compilers/ghc/7.8.3.nix index 706899a8f7ba0..55f8655c70093 100644 --- a/pkgs/development/compilers/ghc/7.8.3.nix +++ b/pkgs/development/compilers/ghc/7.8.3.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix index cdcc2cf0e75eb..6e10b1443c8f1 100644 --- a/pkgs/development/compilers/ghc/7.8.4.nix +++ b/pkgs/development/compilers/ghc/7.8.4.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation (rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix index 656dedc922d88..dcbdee46da897 100644 --- a/pkgs/development/compilers/ghc/8.0.1.nix +++ b/pkgs/development/compilers/ghc/8.0.1.nix @@ -7,12 +7,12 @@ let in stdenv.mkDerivation rec { - version = "8.0.0.20160421"; + version = "8.0.1"; name = "ghc-${version}"; src = fetchurl { - url = "https://downloads.haskell.org/~ghc/8.0.1-rc4/${name}-src.tar.xz"; - sha256 = "183p1ilk8rlndi1vmg2vmlx00s18q3j31kin85qpbvicsxb8j1j1"; + url = "https://downloads.haskell.org/~ghc/8.0.1/${name}-src.tar.xz"; + sha256 = "1lniqy29djhjkddnailpaqhlqh4ld2mqvb1fxgxw1qqjhz6j1ywh"; }; patches = [ @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 00de233c0ec29..79234fd55abe1 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -72,7 +72,7 @@ in stdenv.mkDerivation rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ]; + maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; inherit (ghc.meta) license platforms; }; diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 3161b9f70b7a0..5b6af31d684f1 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go # Find the loader dynamically - LOADER="$(find ${libc.out or libc}/lib -name ld-linux\* | head -n 1)" + LOADER="$(find ${lib.getLib libc}/lib -name ld-linux\* | head -n 1)" # Replace references to the loader find src/cmd -name asm.c -exec sed -i "s,/lib/ld-linux.*\.so\.[0-9],$LOADER," {} \; diff --git a/pkgs/development/compilers/go/1.6.nix b/pkgs/development/compilers/go/1.6.nix index 3462cbe47b690..71f427d466457 100644 --- a/pkgs/development/compilers/go/1.6.nix +++ b/pkgs/development/compilers/go/1.6.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, tzdata, iana_etc, go_1_4, runCommand , perl, which, pkgconfig, patch, fetchpatch , pcre -, Security, Foundation }: +, Security, Foundation, bash }: let goBootstrap = runCommand "go-bootstrap" {} '' @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { # I'm not sure what go wants from its 'src', but the go installation manual # describes an installation keeping the src. preUnpack = '' + topdir=$PWD mkdir -p $out/share cd $out/share ''; @@ -94,14 +95,22 @@ stdenv.mkDerivation rec { sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd + + sed -i '1 a\exit 0' misc/cgo/errors/test.bash + + mkdir $topdir/dirtyhacks + cat <<EOF > $topdir/dirtyhacks/clang + #!${bash}/bin/bash + $(type -P clang) "\$@" 2> >(sed '/ld: warning:.*ignoring unexpected dylib file/ d' 1>&2) + exit $? + EOF + chmod +x $topdir/dirtyhacks/clang + PATH=$topdir/dirtyhacks:$PATH ''; patches = [ ./remove-tools-1.5.patch - ] - # -ldflags=-s is required to compile on Darwin, see - # https://github.com/golang/go/issues/11994 - ++ stdenv.lib.optional stdenv.isDarwin ./strip.patch; + ]; GOOS = if stdenv.isDarwin then "darwin" else "linux"; GOARCH = if stdenv.isDarwin then "amd64" diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix index c63cb85f5f176..1465206484d4c 100644 --- a/pkgs/development/compilers/gprolog/default.nix +++ b/pkgs/development/compilers/gprolog/default.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { declarativity of logic programming. ''; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ stdenv.lib.maintainers.peti ]; platforms = stdenv.lib.platforms.gnu; }; } diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix index 091b81b164161..213447bb7ec4f 100644 --- a/pkgs/development/compilers/jhc/default.nix +++ b/pkgs/development/compilers/jhc/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; - [ aforemny simons thoughtpolice ]; + [ aforemny peti thoughtpolice ]; }; } diff --git a/pkgs/development/compilers/julia/0003-no-ldconfig.patch b/pkgs/development/compilers/julia/0003-no-ldconfig.patch index d490b70492786..06d1a57ed6278 100644 --- a/pkgs/development/compilers/julia/0003-no-ldconfig.patch +++ b/pkgs/development/compilers/julia/0003-no-ldconfig.patch @@ -21,9 +21,9 @@ index 22015ff..2821192 100644 - FILE *ldc = popen("/sbin/ldconfig -r", "r"); -#endif + FILE *ldc = popen("true", "r"); + if (ldc == NULL) return; // ignore errors in running ldconfig (other than whatever might have been printed to stderr) while (!feof(ldc)) { - ssize_t n = getline(&line, &sz, ldc); -- 2.5.2 diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index 9e90ecfbe2165..1dc6805bcd3ba 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -33,10 +33,10 @@ let sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"; }; - libuvVersion = "9ab431a88fe255dd21e19a11f7fa2dd95774abf4"; + libuvVersion = "efb40768b7c7bd9f173a7868f74b92b1c5a61a0e"; libuv = fetchurl { url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}"; - sha256 = "1bh973lbrzrjk7pcjbjnh4n92qldi81ql3aqsclywn2yg07a36h5"; + sha256 = "1znkxyv1cy9pjap7afypipzsn04533ni3pqjd191fdgw2sv9cal7"; }; rmathVersion = "0.1"; @@ -48,12 +48,12 @@ in stdenv.mkDerivation rec { pname = "julia"; - version = "0.4.2"; + version = "0.4.5"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz"; - sha256 = "04i5kjji5553lkdxz3wgflg1mav5ivwy2dascjy8jprqpq33aknk"; + sha256 = "09gc6yf3v4in0qwhrbgjrjgvblp941di0mli4zax22mvf4dzc7s4"; }; prePatch = '' diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix index b6d917865d838..00c4730cf85ff 100644 --- a/pkgs/development/compilers/julia/git.nix +++ b/pkgs/development/compilers/julia/git.nix @@ -164,7 +164,7 @@ stdenv.mkDerivation rec { description = "High-level performance-oriented dynamical language for technical computing"; homepage = "http://julialang.org/"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ]; + maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 7ba6b56a8f38c..0eb427754b38b 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -18,42 +18,42 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "76"; - build = "00"; + update = "92"; + build = "14"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; repover = "jdk8u${update}-b${build}"; paxflags = if stdenv.isi686 then "msp" else "m"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "1bzwrm18vdd531xxin7pzsc5dx2ybkdgdxz6jp2ki19ka6pmk1l7"; + sha256 = "05ly2v3b6vr3sxa27m7ahlp8w4w1q68rki2dfczrklcdq4l61g0r"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "044gyb7hgrahlr78vah9r3wfv6w569ihqzwqplwzr6m0l1s52994"; + sha256 = "1zb7gvj1b1q3pvq5x7ac98k5dk83m7849ngcy1swfwj18g8i4k9p"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "1if70s9wjsvmrdj92ky88ngpmigi9c5gfpkilpydzdibs38f05f8"; + sha256 = "057qrhm9gbz672qgb85al9p3qvgvbviadppf5a9b8hp5sg322f35"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "0fl852x25cjzz3lrhjnhj59qbb4m3ywwc2f9vbj6mqdnpzl7cg83"; + sha256 = "0s9h61jw42nbvrw24qaizp7pp063ala37sjgl547zfglhk1dlzi8"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "11ql3p5fsizrn1fiylfkgrw0lgf6snwyich18hggsmd00bhvv3ah"; + sha256 = "0sgyjdmxsrdj8b8y2ri3c70x9l9m777v559cq8rmaz1jpc9lld4s"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "1d2q4bbvlz557caqciwpd5ms9f14bjk8jl5zlfflqnww9b097qy4"; + sha256 = "12aajlswn5nkm4nbrdh3jff2sz81wdczrgliwd5lnqfnh73sbbkp"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "0nrd4c77ggxkyv2271k30afbjjcp0kybc8gcypmhy8by54w4ap0j"; + sha256 = "133r5wicgva6mklrlnvb09p9izyw0fj281s51kndf3ba3zzggvv3"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "11idvkzk4nqhhw4xq5pl03g4gwnaiq021xxj2yx54rixr59zl0q6"; + sha256 = "1rmk868qg7kgv7f5lhj1b7wdnql0bj2bfqd2lg9ci64418j8x8bn"; }; openjdk8 = stdenv.mkDerivation { name = "openjdk-8u${update}b${build}"; diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index fe5b3b7125883..775971821aaef 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -106,7 +106,8 @@ let result = stdenv.mkDerivation rec { mv $sourceRoot $out fi - for file in $out/* + shopt -s extglob + for file in $out/!(*src.zip) do if test -f $file ; then rm $file @@ -164,8 +165,10 @@ let result = stdenv.mkDerivation rec { EOF # Oracle Java Mission Control needs to know where libgtk-x11 and related is - wrapProgram "$out/bin/jmc" \ - --suffix-each LD_LIBRARY_PATH ':' "${rpath}" \ + if test -n "$installjdk"; then + wrapProgram "$out/bin/jmc" \ + --suffix-each LD_LIBRARY_PATH ':' "${rpath}" + fi ''; inherit installjdk pluginSupport; diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix index 0a9792f2b4a64..d6d783b8a309f 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "91"; + patchVersion = "92"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "0lndni81vfpz2l6zb8zsshaavk0483q5jc8yzj4fdjv6wnshbkay"; - sha256_x86_64 = "0lkm3fz1vdi69f34sysavvh3abx603j1frc9hxvr08pwvmm536vg"; + sha256_i686 = "095j2hh2xas05jajy4qdj9hxq3k460x4m12rcaxkaxw754imj0vj"; + sha256_x86_64 = "11wrqd3qbkhimbw9n4g9i0635pjhhnijwxyid7lvjv26kdgg58vr"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 946205011f2b7..893b6efea77a8 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.3.4"; + version = "1.3.5"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "0zx6z43xfnw1b6v5d3bpjrwgqs14wxlji22nl0lr4wmzbfbzvqli"; + sha256 = "0p3f9bvwdcl84n1l6imww547bdbfsbkvad8iad43jcb2hrpy3wf8"; }; patchPhase = '' diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix index 954ef69246235..0507e5a3c92c2 100644 --- a/pkgs/development/compilers/swi-prolog/default.nix +++ b/pkgs/development/compilers/swi-prolog/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation { license = "LGPL"; hydraPlatforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ stdenv.lib.maintainers.peti ]; }; } diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix index 2482f2ac13167..021efbba34c1b 100644 --- a/pkgs/development/compilers/yap/default.nix +++ b/pkgs/development/compilers/yap/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { description = "A ISO-compatible high-performance Prolog compiler"; license = stdenv.lib.licenses.artistic2; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ stdenv.lib.maintainers.peti ]; platforms = stdenv.lib.platforms.linux; broken = !stdenv.is64bit; # the linux 32 bit build fails. }; |