diff options
Diffstat (limited to 'pkgs/development/compilers')
65 files changed, 503 insertions, 663 deletions
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix index 1e7791c84c44..9629d4eface1 100644 --- a/pkgs/development/compilers/arachne-pnr/default.nix +++ b/pkgs/development/compilers/arachne-pnr/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "arachne-pnr-${version}"; - version = "2017.12.06"; + version = "2018.01.10"; src = fetchFromGitHub { owner = "cseed"; repo = "arachne-pnr"; - rev = "a32dd2c137b2bb6ba6704b25109790ac76bc2f45"; - sha256 = "16pfm8spcm3nsrdsjdj22v7dddnwzlhbj1y71wflvvb84xnbga2y"; + rev = "24f6b9c341910f6aaca1498872fe2e99ff8210cf"; + sha256 = "0jd91hx16jx0p0jiqhgh1kbh59k82i4979f4xp4wzc249br7lxlv"; }; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/chicken/setup-hook.sh b/pkgs/development/compilers/chicken/setup-hook.sh index d7f28539dc64..b0d9b53b5378 100644 --- a/pkgs/development/compilers/chicken/setup-hook.sh +++ b/pkgs/development/compilers/chicken/setup-hook.sh @@ -4,4 +4,4 @@ addChickenRepositoryPath() { export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH" } -envHooks=(${envHooks[@]} addChickenRepositoryPath) +addEnvHooks "$targetOffset" addChickenRepositoryPath diff --git a/pkgs/development/compilers/colm/default.nix b/pkgs/development/compilers/colm/default.nix index ee9224b380c8..06c4b62e2946 100644 --- a/pkgs/development/compilers/colm/default.nix +++ b/pkgs/development/compilers/colm/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { description = "A programming language for the analysis and transformation of computer languages"; homepage = http://www.colm.net/open-source/colm; license = licenses.gpl2; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = platforms.unix; maintainers = with maintainers; [ pSub ]; }; } diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix index 17d91f36875c..0681e8210a6a 100644 --- a/pkgs/development/compilers/coreclr/default.nix +++ b/pkgs/development/compilers/coreclr/default.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://dotnet.github.io/core/; + homepage = https://dotnet.github.io/core/; description = ".NET is a general purpose development platform"; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ kuznero ]; diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix index 875e60dd6dc5..e8e6b5224de9 100644 --- a/pkgs/development/compilers/dmd/default.nix +++ b/pkgs/development/compilers/dmd/default.nix @@ -3,10 +3,10 @@ , curl, tzdata, gdb, darwin , callPackage , bootstrapVersion ? false -, version ? "2.075.1" -, dmdSha256 ? "0kq6r8rcghvzk5jcphg89l85rg734s29bssd2rcw3fygx0k9a9k5" -, druntimeSha256 ? "0idn2v1lmp7hl637g3i7pdfj9mjk4sclkz4cm77nl8873k2fhk8j" -, phobosSha256 ? "1a7q5fd15yspgs5plxgx54jyrcwgzlyw3rahmz04jd2s5h56dj04" +, version ? "2.078.0" +, dmdSha256 ? "1ia4swyq0xqppnpmcalh2yxywdk2gv3kvni2abx1mq6wwqgmwlcr" +, druntimeSha256 ? "0inyvcjc5qn8277d1zlfvgdgiss86rkjg9mhkw5l31hix8yan372" +, phobosSha256 ? "1vb5xnysja9l8hvv9gy4c05vihmblz7ga005761jbazxkmlfirj4" }: let @@ -125,10 +125,6 @@ let # Use proper C++ compiler substituteInPlace ${dmdPath}/posix.mak \ --replace g++ $CXX - - # TODO - substituteInPlace druntime/src/core/memory.d \ - --replace "assert(z is null);" "//assert(z is null);" '' + stdenv.lib.optionalString (!bootstrapVersion) '' diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index af33039d341a..5c1f931da9a2 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -1,4 +1,4 @@ -# Temporaririly avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it +# Temporarily avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it { stdenv, fetchurl, mono, pkgconfig, dotnetbuildhelpers, autoconf, automake, which }: diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix index b70d3649bb9a..01463f091c29 100644 --- a/pkgs/development/compilers/gambit/default.nix +++ b/pkgs/development/compilers/gambit/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "gambit-${version}"; - version = "4.8.8-415-g29ed48bb"; + version = "4.8.8-427-g37b111a5"; bootstrap = import ./bootstrap.nix ( pkgs ); src = fetchgit { url = "https://github.com/feeley/gambit.git"; - rev = "29ed48bb688e8302d2430b5d24a2fc7c2039aeec"; - sha256 = "1h3kmczvjir0pi6cmqa2bsc09n68jhw0bxq7m6w4b1f0xvgvn3fr"; + rev = "37b111a5ca3aeff9dc6cb8be470277a8c1e80f24"; + sha256 = "14l7jql9nh7bjs6c822a17rcp9583l6bb5kiq95allgyf229vy50"; }; buildInputs = [ openssl git autoconf bootstrap ]; diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix index a29f856a6cc1..6b2718f5e692 100644 --- a/pkgs/development/compilers/gcc/4.5/default.nix +++ b/pkgs/development/compilers/gcc/4.5/default.nix @@ -229,11 +229,22 @@ stdenv.mkDerivation ({ inherit noSysDirs profiledCompiler staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ optional (perl != null) perl; - buildInputs = [ gmp mpfr libmpc libelf ] - ++ (optional (ppl != null) ppl) + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (ppl != null) ppl) ++ (optional (cloogppl != null) cloogppl) ++ (optional (zlib != null) zlib) ++ (optional langJava boehmgc) @@ -247,7 +258,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -314,56 +325,9 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # Needed for the cross compilation to work - AR = "ar"; - LD = "ld"; - CC = "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. # diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 162da9e0613b..0105a159877a 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -267,6 +267,7 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ (optional (perl != null) perl) ++ (optional javaAwtGtk pkgconfig); @@ -299,7 +300,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -397,57 +398,12 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; buildFlags = ""; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # 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"; + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the # library headers and binaries, regarless of the language being compiled. diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 621c45cdff38..1b1492686d0e 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -262,12 +262,23 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ (optional (perl != null) perl) ++ (optional javaAwtGtk pkgconfig); - buildInputs = [ gmp mpfr libmpc libelf ] - ++ (optional (cloog != null) cloog) + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (cloog != null) cloog) ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) @@ -298,7 +309,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -395,57 +406,12 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; buildFlags = ""; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # 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"; + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the # library headers and binaries, regarless of the language being compiled. diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 709e87c34454..0636ce7381ae 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -49,9 +49,6 @@ assert libelf != null -> zlib != null; # Make sure we get GNU sed. assert hostPlatform.isDarwin -> gnused != null; -# Need c++filt on darwin -assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null; - # The go frontend is written in c++ assert langGo -> langCC; @@ -277,17 +274,27 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ (optional (perl != null) perl) ++ (optional javaAwtGtk pkgconfig); - buildInputs = [ gmp mpfr libmpc libelf ] - ++ (optional (isl != null) isl) + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools]) - ++ (optionals (buildPlatform != hostPlatform) [buildPackages.stdenv.cc]) ++ (optionals langAda [gnatboot]) ++ (optionals langVhdl [gnat]) @@ -311,7 +318,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -404,57 +411,12 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; buildFlags = ""; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # 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"; + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the # library headers and binaries, regarless of the language being compiled. diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 33a034adf667..2614e96e1b7c 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -49,9 +49,6 @@ assert libelf != null -> zlib != null; # Make sure we get GNU sed. assert hostPlatform.isDarwin -> gnused != null; -# Need c++filt on darwin -assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null; - # The go frontend is written in c++ assert langGo -> langCC; @@ -276,12 +273,23 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ (optional (perl != null) perl) ++ (optional javaAwtGtk pkgconfig); - buildInputs = [ gmp mpfr libmpc libelf ] - ++ (optional (isl != null) isl) + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) @@ -313,7 +321,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -405,57 +413,12 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; buildFlags = ""; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # 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"; + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the # library headers and binaries, regarless of the language being compiled. diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 291ec944b554..9ce3808b73f2 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -50,9 +50,6 @@ assert libelf != null -> zlib != null; # Make sure we get GNU sed. assert hostPlatform.isDarwin -> gnused != null; -# Need c++filt on darwin -assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null; - # The go frontend is written in c++ assert langGo -> langCC; @@ -273,12 +270,23 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ (optional (perl != null) perl) ++ (optional javaAwtGtk pkgconfig); - buildInputs = [ gmp mpfr libmpc libelf flex ] - ++ (optional (isl != null) isl) + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf flex + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) @@ -306,7 +314,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -399,57 +407,12 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; buildFlags = ""; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # 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"; + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the # library headers and binaries, regarless of the language being compiled. diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index e8668712e2ea..c1306d374d5d 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -50,9 +50,6 @@ assert libelf != null -> zlib != null; # Make sure we get GNU sed. assert hostPlatform.isDarwin -> gnused != null; -# Need c++filt on darwin -assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null; - # The go frontend is written in c++ assert langGo -> langCC; @@ -260,12 +257,23 @@ stdenv.mkDerivation ({ inherit noSysDirs staticCompiler langJava libcCross crossMingw; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ texinfo which gettext ] ++ (optional (perl != null) perl) ++ (optional javaAwtGtk pkgconfig); - buildInputs = [ gmp mpfr libmpc libelf flex ] - ++ (optional (isl != null) isl) + # For building runtime libs + depsBuildTarget = + if hostPlatform == buildPlatform then [ + targetPackages.stdenv.cc.bintools # newly-built gcc will be used + ] else assert targetPlatform == hostPlatform; [ # build != host == target + stdenv.cc + ]; + + buildInputs = [ + gmp mpfr libmpc libelf flex + targetPackages.stdenv.cc.bintools # For linking code at run-time + ] ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)) @@ -293,7 +301,7 @@ stdenv.mkDerivation ({ # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = # TODO(@Ericson2314): Figure out what's going wrong with Arm - if hostPlatform == targetPlatform && targetPlatform.isArm + if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isArm then [] else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; @@ -386,57 +394,12 @@ stdenv.mkDerivation ({ /* For cross-built gcc (build != host == target) */ crossAttrs = { - AR_FOR_BUILD = "ar"; - AS_FOR_BUILD = "as"; - LD_FOR_BUILD = "ld"; - NM_FOR_BUILD = "nm"; - OBJCOPY_FOR_BUILD = "objcopy"; - OBJDUMP_FOR_BUILD = "objdump"; - RANLIB_FOR_BUILD = "ranlib"; - SIZE_FOR_BUILD = "size"; - STRINGS_FOR_BUILD = "strings"; - STRIP_FOR_BUILD = "strip"; - CC_FOR_BUILD = "gcc"; - CXX_FOR_BUILD = "g++"; - - AR = "${targetPlatform.config}-ar"; - AS = "${targetPlatform.config}-as"; - LD = "${targetPlatform.config}-ld"; - NM = "${targetPlatform.config}-nm"; - OBJCOPY = "${targetPlatform.config}-objcopy"; - OBJDUMP = "${targetPlatform.config}-objdump"; - RANLIB = "${targetPlatform.config}-ranlib"; - SIZE = "${targetPlatform.config}-size"; - STRINGS = "${targetPlatform.config}-strings"; - STRIP = "${targetPlatform.config}-strip"; - CC = "${targetPlatform.config}-gcc"; - CXX = "${targetPlatform.config}-g++"; - - AR_FOR_TARGET = "${targetPlatform.config}-ar"; - AS_FOR_TARGET = "${targetPlatform.config}-as"; - LD_FOR_TARGET = "${targetPlatform.config}-ld"; - NM_FOR_TARGET = "${targetPlatform.config}-nm"; - OBJCOPY_FOR_TARGET = "${targetPlatform.config}-objcopy"; - OBJDUMP_FOR_TARGET = "${targetPlatform.config}-objdump"; - RANLIB_FOR_TARGET = "${targetPlatform.config}-ranlib"; - SIZE_FOR_TARGET = "${targetPlatform.config}-size"; - STRINGS_FOR_TARGET = "${targetPlatform.config}-strings"; - STRIP_FOR_TARGET = "${targetPlatform.config}-strip"; - CC_FOR_TARGET = "${targetPlatform.config}-gcc"; - CXX_FOR_TARGET = "${targetPlatform.config}-g++"; - dontStrip = true; buildFlags = ""; }; - NIX_BUILD_BINTOOLS = buildPackages.stdenv.cc.bintools; - NIX_BUILD_CC = buildPackages.stdenv.cc; - - # 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"; + ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the # library headers and binaries, regarless of the language being compiled. diff --git a/pkgs/development/compilers/gerbil/default.nix b/pkgs/development/compilers/gerbil/default.nix index 622107c75345..9bd23aebfc43 100644 --- a/pkgs/development/compilers/gerbil/default.nix +++ b/pkgs/development/compilers/gerbil/default.nix @@ -1,25 +1,27 @@ { stdenv, fetchurl, fetchgit, gambit, coreutils, rsync, bash, - openssl, zlib, sqlite, libxml2, libyaml, libmysql, lmdb, leveldb }: + openssl, zlib, sqlite, libxml2, libyaml, mysql, lmdb, leveldb }: # TODO: distinct packages for gerbil-release and gerbil-devel stdenv.mkDerivation rec { name = "gerbil-${version}"; - version = "0.12-DEV-836-gcde6802"; + version = "0.12-DEV-1030-gbbed3bc"; src = fetchgit { url = "https://github.com/vyzo/gerbil.git"; - rev = "2904b0014fac344409d0ae2ba5835d0e67ac83b5"; - sha256 = "1nnirqdd11n6pkvidnf8pb39m45jjnpmwj2qy62di024r7ha3y18"; + rev = "bbed3bc4cf7bcaa64eaabdf097192bfcc2bfc928"; + sha256 = "1dc0j143j860yq72lfjp71fin7hpsy1426azz7rl1szxvjfb7h4r"; }; buildInputs = [ gambit coreutils rsync bash - openssl zlib sqlite libxml2 libyaml libmysql lmdb leveldb + openssl zlib sqlite libxml2 libyaml mysql.connector-c lmdb leveldb ]; + NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ]; + postPatch = '' echo '(define (gerbil-version-string) "v${version}")' > src/gerbil/runtime/gx-version.scm @@ -36,6 +38,9 @@ stdenv.mkDerivation rec { # Enable all optional libraries substituteInPlace "src/std/build-features.ss" --replace '#f' '#t' + # gxprof testing uses $HOME/.cache/gerbil/gxc + export HOME=$$PWD + # Build, replacing make by build.sh ( cd src && sh build.sh ) diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix index fb2e1a2a2595..03831f3b6b6f 100644 --- a/pkgs/development/compilers/ghc/6.10.2-binary.nix +++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix @@ -4,6 +4,9 @@ , enableIntegerSimple ? false }: +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + stdenv.mkDerivation rec { version = "6.10.2"; @@ -93,6 +96,8 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/6.10.4.nix b/pkgs/development/compilers/ghc/6.10.4.nix index c56762edd24e..0308edbd56c0 100644 --- a/pkgs/development/compilers/ghc/6.10.4.nix +++ b/pkgs/development/compilers/ghc/6.10.4.nix @@ -1,12 +1,15 @@ {stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; + stdenv.mkDerivation rec { version = "6.10.4"; name = "ghc-${version}"; src = fetchurl { - url = "${meta.homepage}/dist/${version}/${name}-src.tar.bz2"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; sha256 = "d66a8e52572f4ff819fe5c4e34c6dd1e84a7763e25c3fadcc222453c0bd8534d"; }; @@ -22,6 +25,8 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix index a46ef66a8cb7..16d6d39e95f4 100644 --- a/pkgs/development/compilers/ghc/6.12.3.nix +++ b/pkgs/development/compilers/ghc/6.12.3.nix @@ -1,12 +1,15 @@ {stdenv, fetchurl, ghc, perl, gmp, ncurses}: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; + stdenv.mkDerivation rec { version = "6.12.3"; name = "ghc-${version}"; src = fetchurl { - url = "http://darcs.haskell.org/download/dist/${version}/${name}-src.tar.bz2"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; sha256 = "0s2y1sv2nq1cgliv735q2w3gg4ykv1c0g1adbv8wgwhia10vxgbc"; }; @@ -33,6 +36,8 @@ stdenv.mkDerivation rec { # that in turn causes GHCi to abort stripDebugFlags=["-S" "--keep-file-symbols"]; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix index c518c67d16b1..d9b4ff167825 100644 --- a/pkgs/development/compilers/ghc/7.0.4-binary.nix +++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix @@ -3,6 +3,9 @@ , ncurses5, gmp, libiconv }: +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + let libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp @@ -131,6 +134,8 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; + passthru = { targetPrefix = ""; }; + meta.license = stdenv.lib.licenses.bsd3; meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; } diff --git a/pkgs/development/compilers/ghc/7.0.4.nix b/pkgs/development/compilers/ghc/7.0.4.nix index 9d052ddb246f..0f560313007f 100644 --- a/pkgs/development/compilers/ghc/7.0.4.nix +++ b/pkgs/development/compilers/ghc/7.0.4.nix @@ -1,11 +1,14 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses, libiconv }: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; + stdenv.mkDerivation rec { version = "7.0.4"; name = "ghc-${version}"; src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; sha256 = "1a9b78d9d66c9c21de6c0932e36bb87406a4856f1611bf83bd44539bdc6ed0ed"; }; @@ -42,6 +45,8 @@ stdenv.mkDerivation rec { # that in turn causes GHCi to abort stripDebugFlags=["-S" "--keep-file-symbols"]; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.10.3-binary.nix b/pkgs/development/compilers/ghc/7.10.3-binary.nix index 84b6157c8656..c56798e31ae4 100644 --- a/pkgs/development/compilers/ghc/7.10.3-binary.nix +++ b/pkgs/development/compilers/ghc/7.10.3-binary.nix @@ -1,9 +1,12 @@ { stdenv , fetchurl, perl , ncurses5, gmp, libiconv -, gcc +, gcc, llvm_35 }: +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + let libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp @@ -40,6 +43,7 @@ stdenv.mkDerivation rec { or (throw "cannot bootstrap GHC on this platform")); nativeBuildInputs = [ perl ]; + buildInputs = stdenv.lib.optionals stdenv.targetPlatform.isArm [ llvm_35 ]; # Cannot patchelf beforehand due to relative RPATHs that anticipate # the final install location/ @@ -148,6 +152,8 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; + passthru = { targetPrefix = ""; }; + meta.license = stdenv.lib.licenses.bsd3; meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "armv7l-linux"]; } diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index d573a22e0ae8..3fb70c31a7c2 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -1,14 +1,28 @@ -{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils -, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour +{ stdenv, targetPackages +, buildPlatform, hostPlatform, targetPlatform - # If enabled GHC will be build with the GPL-free but slower integer-simple +# build-tools +, bootPkgs, hscolour, llvm_35 +, coreutils, fetchurl, fetchpatch, perl +, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, libxml2, libxslt + +, libiconv ? null, ncurses + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null }: +assert !enableIntegerSimple -> gmp != null; + let inherit (bootPkgs) ghc; + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; + docFixes = fetchurl { url = "https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3a.patch"; sha256 = "1j45z4kcd3w1rzm4hapap2xc16bbh942qnzzdbdjcwqznsccznf0"; @@ -18,10 +32,10 @@ in stdenv.mkDerivation rec { version = "7.10.3"; - name = "ghc-${version}"; + name = "${targetPrefix}ghc-${version}"; src = fetchurl { - url = "https://downloads.haskell.org/~ghc/${version}/${name}-src.tar.xz"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; sha256 = "1vsgmic8csczl62ciz51iv8nhrkm72lyhbz7p7id13y2w7fcx46g"; }; @@ -30,7 +44,7 @@ stdenv.mkDerivation rec { ./relocation.patch ]; - buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ]; + buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ] ++ stdenv.lib.optionals targetPlatform.isArm [ llvm_35 ]; enableParallelBuilding = true; @@ -58,11 +72,11 @@ stdenv.mkDerivation rec { # required, because otherwise all symbols from HSffi.o are stripped, and # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; postInstall = '' # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc # Patch scripts to include "readelf" and "cat" in $PATH. for i in "$out/bin/"*; do @@ -73,7 +87,7 @@ stdenv.mkDerivation rec { ''; passthru = { - inherit bootPkgs; + inherit bootPkgs targetPrefix; }; meta = { diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix index dd3b5cb2ebcb..cb8470bcff12 100644 --- a/pkgs/development/compilers/ghc/7.2.2.nix +++ b/pkgs/development/compilers/ghc/7.2.2.nix @@ -1,16 +1,20 @@ { stdenv, fetchurl, ghc, perl, ncurses, libiconv - # If enabled GHC will be build with the GPL-free but slower integer-simple +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null }: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; +assert !enableIntegerSimple -> gmp != null; + stdenv.mkDerivation rec { version = "7.2.2"; name = "ghc-${version}"; src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; sha256 = "0g87d3z9275dniaqzkf56qfgzp1msd89nqqhhm2gkc6iga072spz"; }; @@ -51,6 +55,8 @@ stdenv.mkDerivation rec { # that in turn causes GHCi to abort stripDebugFlags=["-S" "--keep-file-symbols"]; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix index 3cb28e2c8207..70c8797c264e 100644 --- a/pkgs/development/compilers/ghc/7.4.2-binary.nix +++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix @@ -3,6 +3,9 @@ , ncurses5, gmp, libiconv }: +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + let libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp @@ -133,6 +136,8 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; + passthru = { targetPrefix = ""; }; + meta.license = stdenv.lib.licenses.bsd3; meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; } diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix index e5bc4724c9eb..6f30b03efb91 100644 --- a/pkgs/development/compilers/ghc/7.4.2.nix +++ b/pkgs/development/compilers/ghc/7.4.2.nix @@ -1,17 +1,21 @@ { stdenv, fetchurl, ghc, perl, ncurses, libiconv - # If enabled GHC will be build with the GPL-free but slower integer-simple +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null }: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; +assert !enableIntegerSimple -> gmp != null; + stdenv.mkDerivation rec { version = "7.4.2"; name = "ghc-${version}"; src = fetchurl { - url = "http://haskell.org/ghc/dist/7.4.2/${name}-src.tar.bz2"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; sha256 = "0vc3zmxqi4gflssmj35n5c8idbvyrhd88abi50whbirwlf4i5vpj"; }; @@ -52,6 +56,8 @@ stdenv.mkDerivation rec { # that in turn causes GHCi to abort stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix index fde4ca2aa37d..78202297686e 100644 --- a/pkgs/development/compilers/ghc/7.6.3.nix +++ b/pkgs/development/compilers/ghc/7.6.3.nix @@ -1,10 +1,14 @@ { stdenv, fetchurl, ghc, perl, ncurses, libiconv - # If enabled GHC will be build with the GPL-free but slower integer-simple +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null }: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; +assert !enableIntegerSimple -> gmp != null; + let # The "-Wa,--noexecstack" options might be needed only with GNU ld (as opposed # to the gold linker). It prevents binaries' stacks from being marked as @@ -18,7 +22,7 @@ in stdenv.mkDerivation rec { name = "ghc-${version}"; src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; sha256 = "1669m8k9q72rpd2mzs0bh2q6lcwqiwd1ax3vrard1dgn64yq4hxx"; }; @@ -78,6 +82,8 @@ in stdenv.mkDerivation rec { # that in turn causes GHCi to abort stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/7.8.4-binary.nix b/pkgs/development/compilers/ghc/7.8.4-binary.nix index 9525536ef0dd..58a9370b3213 100644 --- a/pkgs/development/compilers/ghc/7.8.4-binary.nix +++ b/pkgs/development/compilers/ghc/7.8.4-binary.nix @@ -3,6 +3,9 @@ , ncurses5, gmp, libiconv }: +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + let libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp @@ -146,6 +149,8 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; + passthru = { targetPrefix = ""; }; + meta.license = stdenv.lib.licenses.bsd3; meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; } diff --git a/pkgs/development/compilers/ghc/7.8.4.nix b/pkgs/development/compilers/ghc/7.8.4.nix index 5a380c75c69f..b5e2ac256a7a 100644 --- a/pkgs/development/compilers/ghc/7.8.4.nix +++ b/pkgs/development/compilers/ghc/7.8.4.nix @@ -1,16 +1,20 @@ { stdenv, fetchurl, ghc, perl, ncurses, libiconv - # If enabled GHC will be build with the GPL-free but slower integer-simple +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null }: +# TODO(@Ericson2314): Cross compilation support +assert stdenv.targetPlatform == stdenv.hostPlatform; +assert !enableIntegerSimple -> gmp != null; + stdenv.mkDerivation (rec { version = "7.8.4"; name = "ghc-${version}"; src = fetchurl { - url = "http://www.haskell.org/ghc/dist/7.8.4/${name}-src.tar.xz"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; sha256 = "1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3"; }; @@ -49,6 +53,8 @@ stdenv.mkDerivation (rec { # that in turn causes GHCi to abort stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + passthru = { targetPrefix = ""; }; + meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix index d475e3438b4b..bb706aa6bbc3 100644 --- a/pkgs/development/compilers/ghc/8.0.2.nix +++ b/pkgs/development/compilers/ghc/8.0.2.nix @@ -1,21 +1,33 @@ -{ stdenv, lib, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils -, hscolour, patchutils, sphinx +{ stdenv, targetPackages +, buildPlatform, hostPlatform, targetPlatform - # If enabled GHC will be build with the GPL-free but slower integer-simple +# build-tools +, bootPkgs, hscolour, llvm_37 +, coreutils, fetchurl, fetchpatch, patchutils, perl, sphinx + +, libiconv ? null, ncurses + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp -, cross ? null + enableIntegerSimple ? false, gmp ? null }: +assert !enableIntegerSimple -> gmp != null; + let inherit (bootPkgs) ghc; + + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; in stdenv.mkDerivation rec { version = "8.0.2"; - name = "ghc-${version}"; + name = "${targetPrefix}ghc-${version}"; src = fetchurl { - url = "https://downloads.haskell.org/~ghc/8.0.2/${name}-src.tar.xz"; + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; sha256 = "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"; }; @@ -23,7 +35,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch ++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch; - buildInputs = [ ghc perl hscolour sphinx ]; + buildInputs = [ ghc perl hscolour sphinx ] ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64) [ llvm_37 ]; enableParallelBuilding = true; @@ -47,19 +59,20 @@ stdenv.mkDerivation rec { "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" - ] ++ + ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [ # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space"; + "--disable-large-address-space" + ]; # required, because otherwise all symbols from HSffi.o are stripped, and # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; postInstall = '' - paxmark m $out/lib/${name}/bin/{ghc,haddock} + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc # Patch scripts to include "readelf" and "cat" in $PATH. for i in "$out/bin/"*; do @@ -70,7 +83,7 @@ stdenv.mkDerivation rec { ''; passthru = { - inherit bootPkgs; + inherit bootPkgs targetPrefix; }; meta = { diff --git a/pkgs/development/compilers/ghc/8.2.1-binary.nix b/pkgs/development/compilers/ghc/8.2.1-binary.nix index 1242c6ae1b0f..8a08ab4b9862 100644 --- a/pkgs/development/compilers/ghc/8.2.1-binary.nix +++ b/pkgs/development/compilers/ghc/8.2.1-binary.nix @@ -1,8 +1,11 @@ { stdenv -, fetchurl, perl, gcc +, fetchurl, perl, gcc, llvm_39 , ncurses5, gmp, libiconv }: +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + let libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp @@ -43,6 +46,7 @@ stdenv.mkDerivation rec { or (throw "cannot bootstrap GHC on this platform")); nativeBuildInputs = [ perl ]; + buildInputs = stdenv.lib.optionals (stdenv.targetPlatform.isArm || stdenv.targetPlatform.isAarch64) [ llvm_39 ]; # Cannot patchelf beforehand due to relative RPATHs that anticipate # the final install location/ @@ -151,6 +155,8 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; + passthru = { targetPrefix = ""; }; + meta.license = stdenv.lib.licenses.bsd3; meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "armv7l-linux" "aarch64-linux"]; } diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 736a6edc365b..0e87ea68649e 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -1,18 +1,40 @@ -{ stdenv, lib, fetchurl, bootPkgs, perl, ncurses, libiconv, binutils, coreutils -, autoconf, automake, happy, alex, python3, sphinx, hscolour -, buildPlatform, targetPlatform , selfPkgs, cross ? null +{ stdenv, targetPackages +, buildPlatform, hostPlatform, targetPlatform +, selfPkgs, cross ? null - # If enabled GHC will be build with the GPL-free but slower integer-simple +# build-tools +, bootPkgs, alex, happy, hscolour, llvm_39 +, autoconf, automake, coreutils, fetchurl, perl, python3, sphinx + +, libiconv ? null, ncurses + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null }: +assert !enableIntegerSimple -> gmp != null; + let inherit (bootPkgs) ghc; + + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; +in +stdenv.mkDerivation (rec { version = "8.2.2"; + name = "${targetPrefix}ghc-${version}"; + + src = fetchurl { + url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv"; + }; + + postPatch = "patchShebangs ."; - commonBuildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ]; - commonPreConfigure = '' + preConfigure = '' sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" @@ -20,21 +42,11 @@ let export NIX_LDFLAGS+=" -no_dtrace_dof" '' + stdenv.lib.optionalString enableIntegerSimple '' echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk + '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + sed 's|#BuildFlavour = quick-cross|BuildFlavour = perf-cross|' mk/build.mk.sample > mk/build.mk ''; -in stdenv.mkDerivation (rec { - inherit version; - name = "ghc-${version}"; - src = fetchurl { - url = "https://downloads.haskell.org/~ghc/8.2.2/${name}-src.tar.xz"; - sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv"; - }; - - postPatch = "patchShebangs ."; - - preConfigure = commonPreConfigure; - - buildInputs = commonBuildInputs; + buildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ] ++ stdenv.lib.optionals (targetPlatform.isArm || targetPlatform.isAarch64) [ llvm_39 ]; enableParallelBuilding = true; @@ -46,32 +58,34 @@ in stdenv.mkDerivation (rec { "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + ] ++ stdenv.lib.optional stdenv.isArm [ + "LD=${stdenv.cc}/bin/ld.gold" ]; # required, because otherwise all symbols from HSffi.o are stripped, and # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; checkTarget = "test"; postInstall = '' - paxmark m $out/lib/${name}/bin/{ghc,haddock} + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc # Patch scripts to include "readelf" and "cat" in $PATH. for i in "$out/bin/"*; do test ! -h $i || continue egrep --quiet '^#!' <(head -n 1 $i) || continue - sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i + sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i done ''; outputs = [ "out" "doc" ]; passthru = { - inherit bootPkgs; + inherit bootPkgs targetPrefix; } // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) { crossCompiler = selfPkgs.ghc.override { cross = targetPlatform; @@ -87,31 +101,23 @@ in stdenv.mkDerivation (rec { }; } // stdenv.lib.optionalAttrs (cross != null) { - name = "${cross.config}-ghc-${version}"; - - preConfigure = commonPreConfigure + '' - sed 's|#BuildFlavour = quick-cross|BuildFlavour = perf-cross|' mk/build.mk.sample > mk/build.mk - ''; - configureFlags = [ - "CC=${stdenv.ccCross}/bin/${cross.config}-cc" - "LD=${stdenv.binutils}/bin/${cross.config}-ld" - "AR=${stdenv.binutils}/bin/${cross.config}-ar" - "NM=${stdenv.binutils}/bin/${cross.config}-nm" - "RANLIB=${stdenv.binutils}/bin/${cross.config}-ranlib" + "CC=${stdenv.cc}/bin/${cross.config}-cc" + "LD=${stdenv.cc.bintools}/bin/${cross.config}-ld" + "AR=${stdenv.cc.bintools}/bin/${cross.config}-ar" + "NM=${stdenv.cc.bintools}/bin/${cross.config}-nm" + "RANLIB=${stdenv.cc.bintools}/bin/${cross.config}-ranlib" "--target=${cross.config}" "--enable-bootstrap-with-devel-snapshot" ] ++ # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space"; - - buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutils ]; + stdenv.lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space"; - dontSetConfigureCross = true; + configurePlatforms = []; passthru = { inherit bootPkgs cross; - cc = "${stdenv.ccCross}/bin/${cross.config}-cc"; - ld = "${stdenv.binutils}/bin/${cross.config}-ld"; + cc = "${stdenv.cc}/bin/${cross.config}-cc"; + ld = "${stdenv.cc}/bin/${cross.config}-ld"; }; }) diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 3f5dfa65958f..9b4c932eb115 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,21 +1,45 @@ -{ stdenv, lib, fetchgit, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils -, autoconf, automake, happy, alex, python3, buildPlatform, targetPlatform +{ stdenv, targetPackages +, buildPlatform, hostPlatform, targetPlatform , selfPkgs, cross ? null - # If enabled GHC will be build with the GPL-free but slower integer-simple +# build-tools +, bootPkgs, alex, happy +, autoconf, automake, coreutils, fetchgit, perl, python3 + +, libiconv ? null, ncurses + +, # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. -, enableIntegerSimple ? false, gmp + enableIntegerSimple ? false, gmp ? null + , version ? "8.5.20171209" }: +assert !enableIntegerSimple -> gmp != null; + let inherit (bootPkgs) ghc; - commonBuildInputs = [ ghc perl autoconf automake happy alex python3 ]; - rev = "4335c07ca7e64624819b22644d7591853826bd75"; - commonPreConfigure = '' + # TODO(@Ericson2314) Make unconditional + targetPrefix = stdenv.lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; +in +stdenv.mkDerivation (rec { + inherit version rev; + name = "${targetPrefix}ghc-${version}"; + + src = fetchgit { + url = "git://git.haskell.org/ghc.git"; + inherit rev; + sha256 = "19csad94sk0bw2nj97ppmnwh4c193jg0jmg5w2sx9rqm9ih4yg85"; + }; + + postPatch = "patchShebangs ."; + + preConfigure = '' echo ${version} >VERSION echo ${rev} >GIT_COMMIT_ID ./boot @@ -26,22 +50,11 @@ let export NIX_LDFLAGS+=" -no_dtrace_dof" '' + stdenv.lib.optionalString enableIntegerSimple '' echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk + '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + sed 's|#BuildFlavour = quick-cross|BuildFlavour = perf-cross|' mk/build.mk.sample > mk/build.mk ''; -in stdenv.mkDerivation (rec { - inherit version rev; - name = "ghc-${version}"; - src = fetchgit { - url = "git://git.haskell.org/ghc.git"; - inherit rev; - sha256 = "19csad94sk0bw2nj97ppmnwh4c193jg0jmg5w2sx9rqm9ih4yg85"; - }; - - postPatch = "patchShebangs ."; - - preConfigure = commonPreConfigure; - - buildInputs = commonBuildInputs; + buildInputs = [ ghc perl autoconf automake happy alex python3 ]; enableParallelBuilding = true; @@ -57,15 +70,15 @@ in stdenv.mkDerivation (rec { # required, because otherwise all symbols from HSffi.o are stripped, and # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols"; + stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; checkTarget = "test"; postInstall = '' - paxmark m $out/lib/${name}/bin/{ghc,haddock} + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. - install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc # Patch scripts to include "readelf" and "cat" in $PATH. for i in "$out/bin/"*; do @@ -78,7 +91,7 @@ in stdenv.mkDerivation (rec { outputs = [ "out" "doc" ]; passthru = { - inherit bootPkgs; + inherit bootPkgs targetPrefix; } // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) { crossCompiler = selfPkgs.ghc.override { cross = targetPlatform; @@ -94,33 +107,23 @@ in stdenv.mkDerivation (rec { }; } // stdenv.lib.optionalAttrs (cross != null) { - name = "${cross.config}-ghc-${version}"; - - preConfigure = commonPreConfigure + '' - sed 's|#BuildFlavour = quick-cross|BuildFlavour = perf-cross|' mk/build.mk.sample > mk/build.mk - ''; - configureFlags = [ "CC=${stdenv.cc}/bin/${cross.config}-cc" - "LD=${stdenv.cc}/bin/${cross.config}-ld" - "AR=${stdenv.cc}/bin/${cross.config}-ar" - "NM=${stdenv.cc}/bin/${cross.config}-nm" - "RANLIB=${stdenv.cc}/bin/${cross.config}-ranlib" + "LD=${stdenv.cc.bintools}/bin/${cross.config}-ld" + "AR=${stdenv.cc.bintools}/bin/${cross.config}-ar" + "NM=${stdenv.cc.bintools}/bin/${cross.config}-nm" + "RANLIB=${stdenv.cc.bintools}/bin/${cross.config}-ranlib" "--target=${cross.config}" "--enable-bootstrap-with-devel-snapshot" ] ++ # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ - lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space"; - - buildInputs = commonBuildInputs; + stdenv.lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space"; configurePlatforms = []; passthru = { inherit bootPkgs cross; - cc = "${stdenv.cc}/bin/${cross.config}-cc"; - ld = "${stdenv.cc}/bin/${cross.config}-ld"; }; }) diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix index d4418b058d92..4a583af0cfe7 100644 --- a/pkgs/development/compilers/ghcjs/base.nix +++ b/pkgs/development/compilers/ghcjs/base.nix @@ -175,6 +175,9 @@ in mkDerivation (rec { inherit nodejs ghcjsBoot; socket-io = pkgs.nodePackages."socket.io"; + # let us assume ghcjs is never actually cross compiled + targetPrefix = ""; + inherit stage1Packages; mkStage2 = stage2 { inherit ghcjsBoot; diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix index 210f259df89a..23fd3b0f2912 100644 --- a/pkgs/development/compilers/go/1.8.nix +++ b/pkgs/development/compilers/go/1.8.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go '' + optionalString stdenv.isArm '' sed -i '/TestCurrent/areturn' src/os/user/user_test.go - echo '#!/usr/bin/env bash' > misc/cgo/testplugin/test.bash + echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash '' + optionalString stdenv.isDarwin '' substituteInPlace src/race.bash --replace \ "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true diff --git a/pkgs/development/compilers/go/1.9.nix b/pkgs/development/compilers/go/1.9.nix index 8708bd762c4d..e908a8725e2a 100644 --- a/pkgs/development/compilers/go/1.9.nix +++ b/pkgs/development/compilers/go/1.9.nix @@ -87,7 +87,7 @@ stdenv.mkDerivation rec { sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go '' + optionalString stdenv.isArm '' sed -i '/TestCurrent/areturn' src/os/user/user_test.go - echo '#!/usr/bin/env bash' > misc/cgo/testplugin/test.bash + echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash '' + optionalString stdenv.isDarwin '' substituteInPlace src/race.bash --replace \ "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true diff --git a/pkgs/development/compilers/go/setup-hook.sh b/pkgs/development/compilers/go/setup-hook.sh index 1b91c8312b88..7dce15eeb102 100644 --- a/pkgs/development/compilers/go/setup-hook.sh +++ b/pkgs/development/compilers/go/setup-hook.sh @@ -2,4 +2,4 @@ addToGoPath() { addToSearchPath GOPATH $1/share/go } -envHooks=(${envHooks[@]} addToGoPath) +addEnvHooks "$targetOffset" addToGoPath diff --git a/pkgs/development/compilers/haxe/setup-hook.sh b/pkgs/development/compilers/haxe/setup-hook.sh index 21cc0206859f..e6496107a5ee 100644 --- a/pkgs/development/compilers/haxe/setup-hook.sh +++ b/pkgs/development/compilers/haxe/setup-hook.sh @@ -4,4 +4,4 @@ addHaxeLibPath() { fi } -envHooks+=(addHaxeLibPath) +addEnvHooks "$targetOffset" addHaxeLibPath diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix index 2f84387a8888..a66b2264f073 100644 --- a/pkgs/development/compilers/hhvm/default.nix +++ b/pkgs/development/compilers/hhvm/default.nix @@ -2,7 +2,7 @@ , pcre, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php , expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5 , bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng -, libxslt, freetype, gdb, git, perl, mariadb, gmp, libyaml, libedit +, libxslt, freetype, gdb, git, perl, mysql, gmp, libyaml, libedit , libvpx, imagemagick, fribidi, gperf, which, ocamlPackages }: @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ cmake pkgconfig boost libunwind mariadb.client libmemcached pcre gdb git perl + [ cmake pkgconfig boost libunwind mysql.connector-c libmemcached pcre gdb git perl libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline libelf uwimap binutils cyrus_sasl pam glog libpng libxslt libkrb5 diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix index 73d798bb66fd..5fc8c7837a4a 100644 --- a/pkgs/development/compilers/ldc/default.nix +++ b/pkgs/development/compilers/ldc/default.nix @@ -2,8 +2,8 @@ , python, libconfig, lit, gdb, unzip, darwin, bash , callPackage , bootstrapVersion ? false -, version ? "1.5.0" -, ldcSha256 ? "1150sgns03vplni2wd4afk3rgw3rap8rsiipspw0rzxgki5rlr83" +, version ? "1.7.0" +, ldcSha256 ? "1g8qvmlzvsp030z2rw6lis4kclsd9mlmnbim5kas0k1yr9063m3w" }: let @@ -59,8 +59,8 @@ let '' + stdenv.lib.optionalString (!bootstrapVersion) '' - # https://github.com/NixOS/nixpkgs/issues/29611 - rm tests/sanitizers/asan_* + # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org + rm -r tests/dynamiccompile ''; ROOT_HOME_DIR = "$(echo ~root)"; @@ -71,9 +71,6 @@ let "phobos/std/datetime/timezone.d"; postPatch = '' - substituteInPlace cmake/Modules/FindLLVM.cmake \ - --replace "llvm_set(LIBRARY_DIRS" "#llvm_set(LIBRARY_DIRS" - substituteInPlace runtime/${datetimePath} \ --replace "import core.time;" "import core.time;import std.path;" @@ -97,7 +94,7 @@ let substituteInPlace runtime/phobos/std/path.d \ --replace "\"/root" "\"${ROOT_HOME_DIR}" - # TODO + # Can be remove with front end version >= 2.078.0 substituteInPlace runtime/druntime/src/core/memory.d \ --replace "assert(z is null);" "//assert(z is null);" '' @@ -108,14 +105,9 @@ let substituteInPlace gen/programs.cpp \ --replace "gcc" "clang" - # Was not able to compile on darwin due to "__inline_isnanl" - # being undefined. - substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan - '' - - + stdenv.lib.optionalString (stdenv.hostPlatform.isLinux && bootstrapVersion) '' - substituteInPlace dmd2/root/port.c \ - --replace "#include <bits/mathdef.h>" "#include <complex.h>" + # Was not able to compile on darwin due to "__inline_isnanl" + # being undefined. + substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan '' + stdenv.lib.optionalString (bootstrapVersion) '' @@ -147,7 +139,6 @@ let "-DLDC_WITH_LLD=OFF" # Xcode 9.0.1 fixes that bug according to ldc release notes "-DRT_ARCHIVE_WITH_LDC=OFF" - "-DLLVM_LIBRARY_DIRS=${llvm}/lib" ) ''; @@ -214,7 +205,6 @@ let "-DLDC_WITH_LLD=OFF" # Xcode 9.0.1 fixes that bug according to ldc release notes "-DRT_ARCHIVE_WITH_LDC=OFF" - "-DLLVM_LIBRARY_DIRS=${llvm}/lib" "-DD_COMPILER=${ldcBuild}/bin/ldmd2" ) ''; diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix index 35af978216c6..5cac04c044de 100644 --- a/pkgs/development/compilers/llvm/3.7/default.nix +++ b/pkgs/development/compilers/llvm/3.7/default.nix @@ -44,15 +44,11 @@ let stdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.clang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.libcxxClang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix index bd79db012a63..a660d4aea5fd 100644 --- a/pkgs/development/compilers/llvm/3.8/default.nix +++ b/pkgs/development/compilers/llvm/3.8/default.nix @@ -41,15 +41,11 @@ let stdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.clang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.libcxxClang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix index 5ce51bc9c122..c58adc3f92da 100644 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ b/pkgs/development/compilers/llvm/3.9/default.nix @@ -41,15 +41,11 @@ let stdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.clang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.libcxxClang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix index fa61a6c22e71..5a44cb868253 100644 --- a/pkgs/development/compilers/llvm/4/default.nix +++ b/pkgs/development/compilers/llvm/4/default.nix @@ -56,15 +56,11 @@ let stdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.clang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.libcxxClang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix index fa8502ebd67a..b003d2f334ac 100644 --- a/pkgs/development/compilers/llvm/5/clang/default.nix +++ b/pkgs/development/compilers/llvm/5/clang/default.nix @@ -9,7 +9,7 @@ let name = "clang-${version}"; unpackPhase = '' - unpackFile ${fetch "cfe" "0w09s8fn3lkn6i04nj0cisgp821r815fk5b5fjn97xrd371277q1"} + unpackFile ${fetch "cfe" "1zyh4dggxd55lnfg73c8fybnkssqcaa6bq2h4bzimnnj1jdnqpqk"} mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index 9891f3090ac1..a7e16c08ce96 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -6,7 +6,7 @@ let callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl release_version version fetch; }); - release_version = "5.0.0"; + release_version = "5.0.1"; version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { @@ -14,8 +14,8 @@ let inherit sha256; }; - compiler-rt_src = fetch "compiler-rt" "1cy0y389zxn7mk8vffqvfirk9bbcbc8ziwc1nf1a8d118rk55bfm"; - clang-tools-extra_src = fetch "clang-tools-extra" "1ikkv6k8cfgpjqlm24iqz52i5nyafzsc4dyikzzyb9n4b6wpil47"; + compiler-rt_src = fetch "compiler-rt" "1nlmm0b3wpdwxkldqp1klzv3rpqf94q2a248xgqb7aapyhbi9paf"; + clang-tools-extra_src = fetch "clang-tools-extra" "09fjii7w43kvxvsxxs6gig9vz95vnvx1779rqd36h8kksvws3bcs"; # Add man output without introducing extra dependencies. overrideManOutput = drv: @@ -56,15 +56,11 @@ let stdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.clang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; cc = self.libcxxClang; - # Don't include the libc++ and libc++abi from the original stdenv. - extraBuildInputs = stdenv.lib.optional stdenv.isDarwin darwin.CF; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix index 036161f7b889..6f03e225ad65 100644 --- a/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/5/libc++/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "libc++-${version}"; - src = fetch "libcxx" "1cf953msb0vwgjjrapw06950dnsdb2ps305czkn0vvr1k8g9irga"; + src = fetch "libcxx" "003wwniwlikgh38cbqbcshc5gkiv3a2jkmbn6am9s46y5gfrk3zs"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/pkgs/development/compilers/llvm/5/libc++abi.nix b/pkgs/development/compilers/llvm/5/libc++abi.nix index 5a2a269345d6..166f4260291f 100644 --- a/pkgs/development/compilers/llvm/5/libc++abi.nix +++ b/pkgs/development/compilers/llvm/5/libc++abi.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "libc++abi-${version}"; - src = fetch "libcxxabi" "04c9dfmrr8diih73x0wq99dk9xb99mg0bvsnbhx5q912xg3ihs8p"; + src = fetch "libcxxabi" "0m78yr4arlz2b9m96xcygk15m2pbz8i10snk78i3q7pjnwn1a9as"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; diff --git a/pkgs/development/compilers/llvm/5/lld.nix b/pkgs/development/compilers/llvm/5/lld.nix index f19a9afc8044..1d00b16cce1f 100644 --- a/pkgs/development/compilers/llvm/5/lld.nix +++ b/pkgs/development/compilers/llvm/5/lld.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { name = "lld-${version}"; - src = fetch "lld" "15rqsmfw0jlsri7hszbs8l0j7v1030cy9xvvdb245397llh7k6ir"; + src = fetch "lld" "15fq2zvkliyiw5qi7ig2r8bshgbz4kzvs5in16mhfkw20l06rcym"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/llvm/5/lldb.nix b/pkgs/development/compilers/llvm/5/lldb.nix index fac23b290bcb..03e65dde0e4d 100644 --- a/pkgs/development/compilers/llvm/5/lldb.nix +++ b/pkgs/development/compilers/llvm/5/lldb.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { name = "lldb-${version}"; - src = fetch "lldb" "0zcbav39srf6awv9znvzr7nqdrj704i8da3wdgc8362y20rcm860"; + src = fetch "lldb" "0sipv8k37ai44m7jcf6wsbm2q41dgk3sk9m3i6823jkmg7kckhdp"; postPatch = '' # Fix up various paths that assume llvm and clang are installed in the same place diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix index 8358b6b18c35..6c7fd9eb0a38 100644 --- a/pkgs/development/compilers/llvm/5/llvm.nix +++ b/pkgs/development/compilers/llvm/5/llvm.nix @@ -22,7 +22,7 @@ }: let - src = fetch "llvm" "1nin64vz21hyng6jr19knxipvggaqlkl2l9jpd5czbc4c2pcnpg3"; + src = fetch "llvm" "1c07i0b61j69m578lgjkyayg419sh7sn40xb3j112nr2q2gli9sz"; # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; diff --git a/pkgs/development/compilers/llvm/5/openmp.nix b/pkgs/development/compilers/llvm/5/openmp.nix index 9ba42eed2e2e..5a01c191b5ae 100644 --- a/pkgs/development/compilers/llvm/5/openmp.nix +++ b/pkgs/development/compilers/llvm/5/openmp.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { name = "openmp-${version}"; - src = fetch "openmp" "1igplg89bl6k6r9q88hnpcznq3g9lb79w7bix025lwp00ldhivy0"; + src = fetch "openmp" "0lr6r87xzg87w1q9rrh04nqpyr8c929dh4qy3csjiy7rsb6kbdmd"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/mentor/default.nix b/pkgs/development/compilers/mentor/default.nix index 74905c6ffae4..7cd3c1793661 100644 --- a/pkgs/development/compilers/mentor/default.nix +++ b/pkgs/development/compilers/mentor/default.nix @@ -46,7 +46,7 @@ let meta = with stdenv.lib; { inherit description; - homepage = http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/; + homepage = https://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/; license = licenses.gpl3; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix index 236273bf6bec..4dce11f93b13 100644 --- a/pkgs/development/compilers/neko/default.nix +++ b/pkgs/development/compilers/neko/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, boehmgc, zlib, sqlite, pcre, cmake, pkgconfig -, git, apacheHttpd, apr, aprutil, mariadb, mbedtls, openssl, pkgs, gtk2, libpthreadstubs +, git, apacheHttpd, apr, aprutil, mysql, mbedtls, openssl, pkgs, gtk2, libpthreadstubs }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig git ]; buildInputs = [ boehmgc zlib sqlite pcre apacheHttpd apr aprutil - mariadb.client mbedtls openssl libpthreadstubs ] + mysql.connector-c mbedtls openssl libpthreadstubs ] ++ stdenv.lib.optional stdenv.isLinux gtk2 ++ stdenv.lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.darwin.apple_sdk.frameworks.Carbon]; diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index fde4861e982f..a49b1b824394 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "0.17.2"; src = fetchurl { - url = "http://nim-lang.org/download/${name}.tar.xz"; + url = "https://nim-lang.org/download/${name}.tar.xz"; sha256 = "1gc2xk3ygmz9y4pm75pligssgw995a7gvnfpy445fjpw4d81pzxa"; }; @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Statically typed, imperative programming language"; - homepage = http://nim-lang.org/; + homepage = https://nim-lang.org/; license = licenses.mit; maintainers = with maintainers; [ ehmry peterhoeg ]; platforms = with platforms; linux ++ darwin; # arbitrary diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix index af9057e2cf39..e65c8438ed72 100644 --- a/pkgs/development/compilers/ponyc/default.nix +++ b/pkgs/development/compilers/ponyc/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation ( rec { name = "ponyc-${version}"; - version = "0.21.0"; + version = "0.21.2"; src = fetchFromGitHub { owner = "ponylang"; repo = "ponyc"; rev = version; - sha256 = "0kpnmgxhha22nhl2bmch47cpr0d9h5718h3w9h7qqwd994xcfk9z"; + sha256 = "0gdkm1mihn266km3q5ma7nhvjpzwdzmy39cxb7kkz8aal2nmvwri"; }; buildInputs = [ llvm makeWrapper which ]; diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix index 8dfe26f72f4a..c8af0d979e22 100644 --- a/pkgs/development/compilers/rust/binaryBuild.nix +++ b/pkgs/development/compilers/rust/binaryBuild.nix @@ -12,26 +12,6 @@ let bootstrapping = versionType == "bootstrap"; - patchBootstrapCargo = '' - ${optionalString (stdenv.isLinux && bootstrapping) '' - patchelf \ - --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \ - --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - "$out/bin/cargo" - ''} - ${optionalString (stdenv.isDarwin && bootstrapping) '' - install_name_tool \ - -change /usr/lib/libiconv.2.dylib '${getLib libiconv}/lib/libiconv.2.dylib' \ - "$out/bin/cargo" - install_name_tool \ - -change /usr/lib/libcurl.4.dylib '${getLib curl}/lib/libcurl.4.dylib' \ - "$out/bin/cargo" - install_name_tool \ - -change /usr/lib/libz.1.dylib '${getLib zlib}/lib/libz.1.dylib' \ - "$out/bin/cargo" - ''} - ''; - installComponents = "rustc,rust-std-${platform}" + (optionalString bootstrapping ",rust-docs,cargo") @@ -56,7 +36,7 @@ rec { phases = ["unpackPhase" "installPhase" "fixupPhase"]; - propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin Security; + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; installPhase = '' ./install.sh --prefix=$out \ @@ -69,15 +49,22 @@ rec { patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/bin/rustdoc" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/cargo" ''} + ${optionalString (stdenv.isDarwin && bootstrapping) '' + install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/rustc" + install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/rustdoc" install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo" + install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/cargo" install_name_tool -change /usr/lib/libcurl.4.dylib '${stdenv.lib.getLib curl}/lib/libcurl.4.dylib' "$out/bin/cargo" - install_name_tool -change /usr/lib/libz.1.dylib '${stdenv.lib.getLib zlib}/lib/libz.1.dylib' "$out/bin/cargo" + for f in $out/lib/lib*.dylib; do + install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$f" + done ''} - ${patchBootstrapCargo} - # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc # (or similar) here. It causes strange effects where rustc loads # the wrong libraries in a bootstrap-build causing failures that @@ -101,14 +88,23 @@ rec { phases = ["unpackPhase" "installPhase" "fixupPhase"]; - buildInputs = [ makeWrapper ]; - propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin Security; + buildInputs = [ makeWrapper ] ++ stdenv.lib.optional stdenv.isDarwin Security; installPhase = '' ./install.sh --prefix=$out \ --components=cargo - ${patchBootstrapCargo} + ${optionalString (stdenv.isLinux && bootstrapping) '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$out/bin/cargo" + ''} + + ${optionalString (stdenv.isDarwin && bootstrapping) '' + install_name_tool -change /usr/lib/libiconv.2.dylib '${darwin.libiconv}/lib/libiconv.2.dylib' "$out/bin/cargo" + install_name_tool -change /usr/lib/libresolv.9.dylib '${darwin.libresolv}/lib/libresolv.9.dylib' "$out/bin/cargo" + install_name_tool -change /usr/lib/libcurl.4.dylib '${stdenv.lib.getLib curl}/lib/libcurl.4.dylib' "$out/bin/cargo" + ''} wrapProgram "$out/bin/cargo" \ --suffix PATH : "${rustc}/bin" diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index a707fe2e69e0..7814bc94828f 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,15 +3,15 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.20.0"; + version = "1.21.0"; - # fetch hashes by running `print-hashes.sh 1.20.0` + # fetch hashes by running `print-hashes.sh 1.21.0` hashes = { - i686-unknown-linux-gnu = "abe592e06616cdc2fcca56ddbe482050dd49a1fada35e2af031c64fe6eb14668"; - x86_64-unknown-linux-gnu = "ca1cf3aed73ff03d065a7d3e57ecca92228d35dc36d9274a6597441319f18eb8"; - aarch64-unknown-linux-gnu = "eaab3df489d4d8f976c4327d812b9870730eed6d0bbd52712767083d02be7472"; - i686-apple-darwin = "b3c2470f8f132d285e6c989681e251592b67071bc9d93cac8a2e6b66f7bdfcb5"; - x86_64-apple-darwin = "fa1fb8896d5e327cbe6deeb50e6e9a3346de629f2e6bcbd8c10f19f3e2ed67d5"; + i686-unknown-linux-gnu = "b7caed0f602cdb8ef22e0bfa9125a65bec411e15c0b8901d937e43303ec7dbee"; + x86_64-unknown-linux-gnu = "b41e70e018402bc04d02fde82f91bea24428e6be432f0df12ac400cfb03108e8"; + aarch64-unknown-linux-gnu = "491ee6c43cc672006968d665bd34c94cc2219ef3592d93d38097c97eaaa864c3"; + i686-apple-darwin = "c8b0fabeebcde66b683f3a871187e614e07305adda414c2862cb332aecb2b3bf"; + x86_64-apple-darwin = "75a7f4bd7c72948030bb9e421df27e8a650dea826fb5b836cf59d23d6f985a0d"; }; platform = diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 76dafd953537..b5550a96a835 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -6,7 +6,7 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.21.0"; + version = "1.22.1"; in rec { rustc = callPackage ./rustc.nix { @@ -18,7 +18,7 @@ rec { src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp"; + sha256 = "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb"; }; patches = [ @@ -30,9 +30,9 @@ rec { }; cargo = callPackage ./cargo.nix rec { - version = "0.22.0"; - srcSha = "0x9pm73hkkd1hq4qrmz8iv91djgpdsxzwll7jari0h77vpwajmw4"; - cargoSha256 = "0xd0rb8gcqy6xngsx9l30jg3fqrcwccgv904ksqs9c4d44hga0gd"; + version = "0.23.0"; + srcSha = "14b2n1msxma19ydchj54hd7f2zdsr524fg133dkmdn7j65f1x6aj"; + cargoSha256 = "1sj59z0w172qvjwg1ma5fr5am9dgw27086xwdnrvlrk4hffcr7y7"; inherit rustc; # the rustc that will be wrapped by cargo inherit rustPlatform; # used to build cargo diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index ec0f100fb568..b7808ab6ec0f 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -17,13 +17,13 @@ let inherit (stdenv.lib) optional optionalString; + inherit (darwin.apple_sdk.frameworks) Security; procps = if stdenv.isDarwin then darwin.ps else args.procps; llvmShared = llvm.override { enableSharedLibraries = true; }; target = builtins.replaceStrings [" "] [","] (builtins.toString targets); - in stdenv.mkDerivation { @@ -55,7 +55,6 @@ stdenv.mkDerivation { # ++ [ "--jemalloc-root=${jemalloc}/lib" ++ [ "--default-linker=${targetPackages.stdenv.cc}/bin/cc" "--default-ar=${targetPackages.stdenv.cc.bintools}/bin/ar" ] ++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ] - ++ optional (stdenv.cc.cc ? isClang) "--enable-clang" ++ optional (targets != []) "--target=${target}" ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}"; @@ -112,6 +111,10 @@ stdenv.mkDerivation { # Disable all lldb tests. # error: Can't run LLDB test because LLDB's python path is not set rm -vr src/test/debuginfo/* + rm -v src/test/run-pass/backtrace-debuginfo.rs + + # error: No such file or directory + rm -v src/test/run-pass/issue-45731.rs # Disable tests that fail when sandboxing is enabled. substituteInPlace src/libstd/sys/unix/ext/net.rs \ @@ -122,12 +125,6 @@ stdenv.mkDerivation { rm -v src/test/run-pass/sync-send-in-std.rs # FIXME: ??? ''; - preConfigure = '' - # Needed flags as the upstream configure script has a broken prefix substitution - configureFlagsArray+=("--datadir=$out/share") - configureFlagsArray+=("--infodir=$out/share/info") - ''; - # rustc unfortunately need cmake for compiling llvm-rt but doesn't # use it for the normal build. This disables cmake in Nix. dontUseCmakeConfigure = true; @@ -141,6 +138,7 @@ stdenv.mkDerivation { ++ optional (!stdenv.isDarwin) gdb; buildInputs = [ ncurses ] ++ targetToolchains + ++ optional stdenv.isDarwin Security ++ optional (!forceBundledLLVM) llvmShared; outputs = [ "out" "man" "doc" ]; @@ -168,7 +166,7 @@ stdenv.mkDerivation { # enableParallelBuilding = false; meta = with stdenv.lib; { - homepage = http://www.rust-lang.org/; + homepage = https://www.rust-lang.org/; description = "A safe, concurrent, practical language"; maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy wkennington ]; license = [ licenses.mit licenses.asl20 ]; diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index b800d71198af..cd3120ed8312 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -91,7 +91,7 @@ stdenv.mkDerivation rec { # Specifying $SBCL_HOME is only truly needed with `purgeNixReferences = true`. setupHook = writeText "setupHook.sh" '' - envHooks+=(_setSbclHome) + addEnvHooks "$targetOffset" _setSbclHome _setSbclHome() { export SBCL_HOME='@out@/lib/sbcl/' } diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix new file mode 100644 index 000000000000..60cb3e9a2029 --- /dev/null +++ b/pkgs/development/compilers/scala/dotty-bare.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, makeWrapper, jre }: + +stdenv.mkDerivation rec { + version = "0.4.0-RC1"; + name = "dotty-bare-${version}"; + + src = fetchurl { + url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz"; + sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b"; + }; + + propagatedBuildInputs = [ jre ] ; + buildInputs = [ makeWrapper ] ; + + installPhase = '' + mkdir -p $out + mv * $out + ''; + + fixupPhase = '' + bin_files=$(find $out/bin -type f ! -name common) + for f in $bin_files ; do + wrapProgram $f --set JAVA_HOME ${jre} + done + ''; + + meta = with stdenv.lib; { + description = "Research platform for new language concepts and compiler technologies for Scala."; + longDescription = '' + Dotty is a platform to try out new language concepts and compiler technologies for Scala. + The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals), + and try to boil down Scala’s types into a smaller set of more fundamental constructs. + The theory behind these constructs is researched in DOT, a calculus for dependent object types. + ''; + homepage = http://dotty.epfl.ch/; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [maintainers.karolchmist]; + }; +} diff --git a/pkgs/development/compilers/scala/dotty.nix b/pkgs/development/compilers/scala/dotty.nix index cb0c43550022..a999bd422e63 100644 --- a/pkgs/development/compilers/scala/dotty.nix +++ b/pkgs/development/compilers/scala/dotty.nix @@ -1,46 +1,22 @@ -{ stdenv, fetchurl, makeWrapper, jre }: +{ stdenv, fetchurl, makeWrapper, jre, callPackage }: -stdenv.mkDerivation rec { - version = "0.4.0-RC1"; - name = "dotty-${version}"; - - src = fetchurl { - url = "https://github.com/lampepfl/dotty/releases/download/${version}/${name}.tar.gz"; - sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b"; +let + dotty-bare = callPackage ./dotty-bare.nix { + inherit stdenv fetchurl makeWrapper jre; }; +in - propagatedBuildInputs = [ jre ] ; - buildInputs = [ makeWrapper ] ; - - installPhase = '' - mkdir -p $out - mv * $out +stdenv.mkDerivation { + name = "dotty-${dotty-bare.version}"; - mkdir -p $out/shared - mv $out/bin/common $out/shared - ''; + unpackPhase = ":"; - fixupPhase = '' - for file in $out/bin/* ; do - substituteInPlace $file \ - --replace '$PROG_HOME/bin/common' $out/shared/common - - wrapProgram $file \ - --set JAVA_HOME ${jre} - done + installPhase = '' + mkdir -p $out/bin + ln -s ${dotty-bare}/bin/dotc $out/bin/dotc + ln -s ${dotty-bare}/bin/dotd $out/bin/dotd + ln -s ${dotty-bare}/bin/dotr $out/bin/dotr ''; - meta = with stdenv.lib; { - description = "Research platform for new language concepts and compiler technologies for Scala."; - longDescription = '' - Dotty is a platform to try out new language concepts and compiler technologies for Scala. - The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals), - and try to boil down Scala’s types into a smaller set of more fundamental constructs. - The theory behind these constructs is researched in DOT, a calculus for dependent object types. - ''; - homepage = http://dotty.epfl.ch/; - license = licenses.bsd3; - platforms = platforms.all; - maintainers = [maintainers.karolchmist]; - }; + inherit (dotty-bare) meta; } diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index 74ca5dc4c4b0..f2b6016ceb70 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "17qh9mcmlhbv6r52yij8l9ik7j7x6x7c09lf6pznnbdh4sf8p5wb"; }; - buildInputs = [ openssl mlton mysql.client postgresql sqlite ]; + buildInputs = [ openssl mlton mysql.connector-c postgresql sqlite ]; prePatch = '' sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { preConfigure = '' export PGHEADER="${postgresql}/include/libpq-fe.h"; - export MSHEADER="${lib.getDev mysql.client}/include/mysql/mysql.h"; + export MSHEADER="${mysql.connector-c}/include/mysql/mysql.h"; export SQHEADER="${sqlite.dev}/include/sqlite3.h"; export CC="${gcc}/bin/gcc"; export CCARGS="-I$out/include \ -L${openssl.out}/lib \ - -L${lib.getLib mysql.client}/lib \ + -L${mysql.connector-c}/lib \ -L${postgresql.lib}/lib \ -L${sqlite.out}/lib"; ''; diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 40af4c312cf0..f42cdcabae3f 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -29,6 +29,12 @@ let in rec { + vala_0_23 = generic { + major = "0.23"; + minor = "3"; + sha256 = "101xjbc818g4849n9a80c2aai13zakj7mpnd7470xnkvz5jwqq96"; + }; + vala_0_26 = generic { major = "0.26"; minor = "2"; @@ -37,8 +43,8 @@ in rec { vala_0_28 = generic { major = "0.28"; - minor = "0"; - sha256 = "0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd"; + minor = "1"; + sha256 = "0isg327w6rfqqdjja6a8pc3xcdkj7pqrkdhw48bsyxab2fkaw3hw"; }; vala_0_32 = generic { @@ -49,14 +55,20 @@ in rec { vala_0_34 = generic { major = "0.34"; - minor = "1"; - sha256 = "16cjybjw100qps6jg0jdyjh8hndz8a876zmxpybnf30a8vygrk7m"; + minor = "13"; + sha256 = "0ahbnhgwhhjkndmbr1d039ws0g2bb324c60fk6wgx7py5wvmgcd2"; + }; + + vala_0_36 = generic { + major = "0.36"; + minor = "8"; + sha256 = "1nz5a8kcb22ss9idb7k1higwpvghd617xwf40fi0a9ggws614lfz"; }; vala_0_38 = generic { major = "0.38"; - minor = "1"; - sha256 = "112hl3lkcyakrk8c3qgw12gzn3nxjkvx7bn0jhl5f2m57d7k8d8h"; + minor = "4"; + sha256 = "1sg5gaq3jhgr9vzh2ypiw475167k150wmyglymr7wwqppmikmcrc"; extraNativeBuildInputs = [ autoconf ] ++ stdenv.lib.optionals stdenv.isDarwin [ libtool expat ]; extraBuildInputs = [ graphviz ]; }; diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 117319c1ad5c..4f4a54ef426b 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -4,21 +4,21 @@ stdenv.mkDerivation rec { name = "yosys-${version}"; - version = "2017.12.06"; + version = "2018.01.10"; srcs = [ (fetchFromGitHub { owner = "cliffordwolf"; repo = "yosys"; - rev = "8f2638ae2f12a48dcad14f24b0211c16ac724762"; - sha256 = "0synbskclgn97hp28myvl0hp8pqp66awp37z4cv7zl154ipysfl1"; + rev = "9ac560f5d3e5847b7e475195f66b7034e91fd938"; + sha256 = "01p1bcjq030y7g21lsghgkqj23x6yl8cwrcx2xpik45xls6pxrg7"; name = "yosys"; }) (fetchFromBitbucket { owner = "alanmi"; repo = "abc"; - rev = "31fc97b0aeed"; - sha256 = "0ljmclr4hfh3iiyfw7ji0fm8j983la8021xfpnfd20dyc807hh65"; + rev = "6e3c24b3308a"; + sha256 = "1i4wv0si4fb6dpv2yrpkp588mdlfrnx2s02q2fgra5apdm54c53w"; name = "yosys-abc"; }) ]; |