Drop broken Haskell compilers.

- ghc versions 6.10.4, 6.12.3, and 7.2.2 are broken, and 6.10.2-binary is no
longer necessary after those versions have been dropped

- halvm version 2.4.0 hasn't compiled in a long time

- uhc version 1.1.9.4 hasn't compiled in a long time

+2 -427
-112
pkgs/development/compilers/ghc/6.10.2-binary.nix
··· 1 - { stdenv 2 - , fetchurl, perl 3 - , libedit, ncurses5, gmp 4 - , enableIntegerSimple ? false 5 - }: 6 - 7 - # Prebuilt only does native 8 - assert stdenv.targetPlatform == stdenv.hostPlatform; 9 - 10 - stdenv.mkDerivation rec { 11 - version = "6.10.2"; 12 - 13 - name = "ghc-${version}-binary"; 14 - 15 - src = fetchurl ({ 16 - "i686-linux" = { 17 - # This binary requires libedit.so.0 (rather than libedit.so.2). 18 - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2"; 19 - sha256 = "1fw0zr2qshlpk8s0d16k27zcv5263nqdg2xds5ymw8ff6qz9rz9b"; 20 - }; 21 - "x86_64-linux" = { 22 - # Idem. 23 - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2"; 24 - sha256 = "1rd2j7lmcfsm2rdfb5g6q0l8dz3sxadk5m3d2f69d4a6g4p4h7jj"; 25 - }; 26 - }.${stdenv.hostPlatform.system} 27 - or (throw "cannot bootstrap GHC on this platform")); 28 - 29 - nativeBuildInputs = [ perl ]; 30 - 31 - # Cannot patchelf beforehand due to relative RPATHs that anticipate 32 - # the final install location/ 33 - LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libedit ncurses5 gmp ]; 34 - 35 - postUnpack = 36 - # Strip is harmful, see also below. It's important that this happens 37 - # first. The GHC Cabal build system makes use of strip by default and 38 - # has hardcoded paths to /usr/bin/strip in many places. We replace 39 - # those below, making them point to our dummy script. 40 - '' 41 - mkdir "$TMP/bin" 42 - for i in strip; do 43 - echo '#! ${stdenv.shell}' > "$TMP/bin/$i" 44 - chmod +x "$TMP/bin/$i" 45 - done 46 - PATH="$TMP/bin:$PATH" 47 - '' + 48 - # On Linux, use patchelf to modify the executables so that they can 49 - # find editline/gmp. 50 - stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' 51 - find . -type f -perm -0100 -exec patchelf \ 52 - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \; 53 - 54 - for prog in ld ar gcc strip ranlib; do 55 - find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \; 56 - done 57 - ''; 58 - 59 - configurePlatforms = [ ]; 60 - configureFlags = [ 61 - "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib" 62 - "--with-gmp-includes=${stdenv.lib.getDev gmp}/include" 63 - ]; 64 - 65 - # Stripping combined with patchelf breaks the executables (they die 66 - # with a segfault or the kernel even refuses the execve). (NIXPKGS-85) 67 - dontStrip = true; 68 - 69 - # No building is necessary, but calling make without flags ironically 70 - # calls install-strip ... 71 - dontBuild = true; 72 - 73 - postInstall = '' 74 - # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way 75 - sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp.out}/lib\",\2@" $out/lib/ghc-${version}/package.conf 76 - ''; 77 - 78 - # On Linux, use patchelf to modify the executables so that they can 79 - # find editline/gmp. 80 - preFixup = stdenv.lib.optionalString stdenv.isLinux '' 81 - find "$out" -type f -executable \ 82 - -exec patchelf --set-rpath "${LD_LIBRARY_PATH}" {} \; 83 - ''; 84 - 85 - doInstallCheck = true; 86 - installCheckPhase = '' 87 - # Sanity check, can ghc create executables? 88 - cd $TMP 89 - mkdir test-ghc; cd test-ghc 90 - cat > main.hs << EOF 91 - module Main where 92 - main = putStrLn "yes" 93 - EOF 94 - $out/bin/ghc --make main.hs 95 - echo compilation ok 96 - [ $(./main) == "yes" ] 97 - ''; 98 - 99 - passthru = { 100 - targetPrefix = ""; 101 - # Our Cabal compiler name 102 - haskellCompilerName = "ghc"; 103 - }; 104 - 105 - meta = { 106 - homepage = http://haskell.org/ghc; 107 - description = "The Glasgow Haskell Compiler"; 108 - license = stdenv.lib.licenses.bsd3; 109 - platforms = ["x86_64-linux" "i686-linux"]; 110 - }; 111 - 112 - }
-42
pkgs/development/compilers/ghc/6.10.4.nix
··· 1 - {stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}: 2 - 3 - # TODO(@Ericson2314): Cross compilation support 4 - assert stdenv.targetPlatform == stdenv.hostPlatform; 5 - 6 - stdenv.mkDerivation rec { 7 - version = "6.10.4"; 8 - 9 - name = "ghc-${version}"; 10 - 11 - src = fetchurl { 12 - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; 13 - sha256 = "d66a8e52572f4ff819fe5c4e34c6dd1e84a7763e25c3fadcc222453c0bd8534d"; 14 - }; 15 - 16 - buildInputs = [ghc libedit perl gmp]; 17 - 18 - hardeningDisable = [ "format" ]; 19 - 20 - configureFlags = [ 21 - "--with-gmp-libraries=${gmp.out}/lib" 22 - "--with-gmp-includes=${gmp.dev}/include" 23 - "--with-gcc=${stdenv.cc}/bin/gcc" 24 - ]; 25 - 26 - NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; 27 - 28 - passthru = { 29 - targetPrefix = ""; 30 - 31 - # Our Cabal compiler name 32 - haskellCompilerName = "ghc"; 33 - }; 34 - 35 - meta = { 36 - homepage = http://haskell.org/ghc; 37 - description = "The Glasgow Haskell Compiler"; 38 - platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. 39 - inherit (ghc.meta) license; 40 - broken = true; # https://nix-cache.s3.amazonaws.com/log/6ys7lzckf2c0532kzhmss73mmz504can-ghc-6.10.4.drv 41 - }; 42 - }
-54
pkgs/development/compilers/ghc/6.12.3.nix
··· 1 - {stdenv, fetchurl, ghc, perl, gmp, ncurses}: 2 - 3 - # TODO(@Ericson2314): Cross compilation support 4 - assert stdenv.targetPlatform == stdenv.hostPlatform; 5 - 6 - stdenv.mkDerivation rec { 7 - version = "6.12.3"; 8 - 9 - name = "ghc-${version}"; 10 - 11 - src = fetchurl { 12 - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; 13 - sha256 = "0s2y1sv2nq1cgliv735q2w3gg4ykv1c0g1adbv8wgwhia10vxgbc"; 14 - }; 15 - 16 - buildInputs = [ghc perl gmp ncurses]; 17 - 18 - buildMK = '' 19 - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" 20 - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" 21 - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" 22 - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" 23 - ''; 24 - 25 - preConfigure = '' 26 - echo -n "${buildMK}" > mk/build.mk 27 - ''; 28 - 29 - configureFlags = [ 30 - "--with-gcc=${stdenv.cc}/bin/gcc" 31 - ]; 32 - 33 - NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; 34 - 35 - # required, because otherwise all symbols from HSffi.o are stripped, and 36 - # that in turn causes GHCi to abort 37 - stripDebugFlags=["-S" "--keep-file-symbols"]; 38 - 39 - passthru = { 40 - targetPrefix = ""; 41 - 42 - # Our Cabal compiler name 43 - haskellCompilerName = "ghc"; 44 - }; 45 - 46 - meta = { 47 - homepage = http://haskell.org/ghc; 48 - description = "The Glasgow Haskell Compiler"; 49 - maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; 50 - platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. 51 - inherit (ghc.meta) license; 52 - broken = true; # broken by gcc 5.x: http://hydra.nixos.org/build/33627548 53 - }; 54 - }
-78
pkgs/development/compilers/ghc/7.2.2.nix
··· 1 - { stdenv, fetchurl, ghc, perl, ncurses, libiconv 2 - 3 - , # If enabled, GHC will be built with the GPL-free but slower integer-simple 4 - # library instead of the faster but GPLed integer-gmp library. 5 - enableIntegerSimple ? false, gmp ? null 6 - }: 7 - 8 - # TODO(@Ericson2314): Cross compilation support 9 - assert stdenv.targetPlatform == stdenv.hostPlatform; 10 - assert !enableIntegerSimple -> gmp != null; 11 - 12 - stdenv.mkDerivation rec { 13 - version = "7.2.2"; 14 - name = "ghc-${version}"; 15 - 16 - src = fetchurl { 17 - url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; 18 - sha256 = "0g87d3z9275dniaqzkf56qfgzp1msd89nqqhhm2gkc6iga072spz"; 19 - }; 20 - 21 - patches = [ ./fix-7.2.2-clang.patch ./relocation.patch ]; 22 - 23 - buildInputs = [ ghc perl ncurses ] 24 - ++ stdenv.lib.optional (!enableIntegerSimple) gmp; 25 - 26 - buildMK = '' 27 - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" 28 - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" 29 - ${stdenv.lib.optionalString stdenv.isDarwin '' 30 - libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" 31 - libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" 32 - ''} 33 - '' + (if enableIntegerSimple then '' 34 - INTEGER_LIBRARY = integer-simple 35 - '' else '' 36 - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" 37 - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" 38 - ''); 39 - 40 - preConfigure = '' 41 - echo -n "${buildMK}" > mk/build.mk 42 - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure 43 - '' + stdenv.lib.optionalString stdenv.isDarwin '' 44 - find . -name '*.hs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|' 45 - find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|' 46 - export NIX_LDFLAGS+=" -no_dtrace_dof" 47 - ''; 48 - 49 - configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}" 50 - else "--with-gcc=${stdenv.cc}/bin/gcc"; 51 - 52 - NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; 53 - 54 - # required, because otherwise all symbols from HSffi.o are stripped, and 55 - # that in turn causes GHCi to abort 56 - stripDebugFlags=["-S" "--keep-file-symbols"]; 57 - 58 - passthru = { 59 - targetPprefix = ""; 60 - 61 - # Our Cabal compiler name 62 - haskellCompilerName = "ghc"; 63 - }; 64 - 65 - meta = { 66 - homepage = http://haskell.org/ghc; 67 - description = "The Glasgow Haskell Compiler"; 68 - maintainers = [ 69 - stdenv.lib.maintainers.marcweber 70 - stdenv.lib.maintainers.andres 71 - stdenv.lib.maintainers.peti 72 - ]; 73 - platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. 74 - inherit (ghc.meta) license; 75 - broken = true; # broken by 51cf42ad0d3ccb55af182f1f0ee5eb5094ea5995: https://hydra.nixos.org/build/60616815 76 - }; 77 - 78 - }
-54
pkgs/development/compilers/halvm/2.4.0.nix
··· 1 - { stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, targetPackages, autoconf, alex, happy, makeStaticLibraries 2 - , hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false 3 - }: 4 - 5 - stdenv.mkDerivation rec { 6 - version = "2.4.0"; 7 - name = "HaLVM-${version}"; 8 - isHaLVM = true; 9 - enableParallelBuilding = false; 10 - isGhcjs = false; 11 - src = fetchgit { 12 - rev = "65fad65966eb7e60f234453a35aeb564a09d2595"; 13 - url = "https://github.com/GaloisInc/HaLVM"; 14 - sha256 = "09633h38w0z20cz0wcfp9z5kzv8v1zwcv0wqvgq3c8svqbrxp28k"; 15 - }; 16 - prePatch = '' 17 - sed -i '305 d' Makefile 18 - sed -i '309,439 d' Makefile # Removes RPM packaging 19 - sed -i '20 d' src/scripts/halvm-cabal.in 20 - sed -ie 's|ld |${targetPackages.stdenv.cc.bintools}/bin/ld |g' src/scripts/ldkernel.in 21 - ''; 22 - configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ]; 23 - propagatedNativeBuildInputs = [ alex happy ]; 24 - buildInputs = 25 - let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc 26 - ]; in [ bootPkgs.ghc 27 - automake perl git targetPackages.stdenv.cc.bintools 28 - autoconf xen zlib ncurses.dev 29 - libtool gmp ] ++ haskellPkgs; 30 - preConfigure = '' 31 - autoconf 32 - patchShebangs . 33 - ''; 34 - hardeningDisable = ["all"]; 35 - postInstall = '' 36 - patchShebangs $out/bin 37 - $out/bin/halvm-ghc-pkg recache 38 - ''; 39 - passthru = { 40 - inherit bootPkgs; 41 - cross.config = "halvm"; 42 - cc = "${gcc}/bin/gcc"; 43 - ld = "${targetPackages.stdenv.cc.bintools}/bin/ld"; 44 - }; 45 - 46 - meta = { 47 - homepage = https://github.com/GaloisInc/HaLVM; 48 - description = "The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen"; 49 - platforms = ["x86_64-linux"]; # other platforms don't have Xen 50 - maintainers = with stdenv.lib.maintainers; [ dmjio ]; 51 - inherit (bootPkgs.ghc.meta) license; 52 - broken = true; # https://nix-cache.s3.amazonaws.com/log/6i98mhbq9nzzhwr4svlivm4gz91l2w0f-HaLVM-2.4.0.drv 53 - }; 54 - }
-54
pkgs/development/compilers/uhc/default.nix
··· 1 - # Note: The Haskell package set used for building UHC is 2 - # determined in the file top-level/haskell-packages.nix. 3 - { stdenv, coreutils, m4, libtool, clang, ghcWithPackages, fetchFromGitHub }: 4 - 5 - let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [fgl vector syb uulib network binary hashable uhc-util mtl transformers directory containers array process filepath shuffle uuagc] ); 6 - in stdenv.mkDerivation rec { 7 - version = "1.1.9.4"; 8 - name = "uhc-${version}"; 9 - 10 - src = fetchFromGitHub { 11 - owner = "UU-ComputerScience"; 12 - repo = "uhc"; 13 - rev = "v${version}"; 14 - sha256 = "1s84csk6zgzj09igxgdza7gb52jdn3jsr8lygl5xplshv8yzl34n"; 15 - }; 16 - 17 - postUnpack = "sourceRoot=\${sourceRoot}/EHC"; 18 - 19 - buildInputs = [ m4 wrappedGhc clang libtool ]; 20 - 21 - configureFlags = [ "--with-gcc=${clang}/bin/clang" ]; 22 - 23 - # UHC builds packages during compilation; these are by default 24 - # installed in the user-specific package config file. We do not 25 - # want that, and hack the build process to use a temporary package 26 - # configuration file instead. 27 - preConfigure = '' 28 - p=`pwd`/uhc-local-packages/ 29 - ghc-pkg init $p 30 - sed -i "s|--user|--package-db=$p|g" mk/shared.mk.in 31 - sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in 32 - sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk 33 - sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/config.mk.in 34 - sed -i "s|--make|--make -package-db=$p|g" src/ehc/files2.mk 35 - sed -i "s|--make|--make -package-db=$p|g" src/gen/files.mk 36 - ''; 37 - 38 - inherit clang; 39 - 40 - meta = with stdenv.lib; { 41 - homepage = http://www.cs.uu.nl/wiki/UHC; 42 - description = "Utrecht Haskell Compiler"; 43 - maintainers = [ maintainers.phile314 ]; 44 - 45 - # UHC i686 support is broken, see 46 - # https://github.com/UU-ComputerScience/uhc/issues/52 47 - # 48 - # Darwin build is broken as well at the moment. 49 - # On Darwin, the GNU libtool is used, which does not 50 - # support the -static flag and thus breaks the build. 51 - platforms = ["x86_64-linux"]; 52 - broken = true; 53 - }; 54 - }
-1
pkgs/top-level/aliases.nix
··· 79 79 htmlTidy = html-tidy; # added 2014-12-06 80 80 iana_etc = iana-etc; # added 2017-03-08 81 81 idea = jetbrains; # added 2017-04-03 82 - inherit (haskell.compiler) uhc; # 2015-05-15 83 82 inotifyTools = inotify-tools; 84 83 joseki = apache-jena-fuseki; # added 2016-02-28 85 84 jquery_ui = jquery-ui; # added 2014-09-07
+2 -32
pkgs/top-level/haskell-packages.nix
··· 6 6 let 7 7 # These are attributes in compiler and packages that don't support integer-simple. 8 8 integerSimpleExcludes = [ 9 - "ghc6102Binary" 10 9 "ghc704Binary" 11 10 "ghc742Binary" 12 11 "ghc784Binary" 13 12 "ghc7103Binary" 14 13 "ghc821Binary" 15 - "ghc6104" 16 - "ghc6123" 17 14 "ghc704" 18 15 "ghc763" 19 16 "ghcjs" 20 17 "ghcjsHEAD" 21 18 "ghcCross" 22 - "uhc" 23 19 "integer-simple" 24 20 ]; 25 21 ··· 35 31 36 32 compiler = { 37 33 38 - ghc6102Binary = callPackage ../development/compilers/ghc/6.10.2-binary.nix { 39 - gmp = pkgs.gmp4; 40 - }; 41 - ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix { 42 - gmp = pkgs.gmp4; 43 - }; 44 - ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix { 45 - gmp = pkgs.gmp4; 46 - }; 34 + ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix { gmp = pkgs.gmp4; }; 35 + ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix { gmp = pkgs.gmp4; }; 47 36 ghc784Binary = callPackage ../development/compilers/ghc/7.8.4-binary.nix { }; 48 37 ghc7103Binary = callPackage ../development/compilers/ghc/7.10.3-binary.nix { }; 49 38 ghc821Binary = callPackage ../development/compilers/ghc/8.2.1-binary.nix { }; 50 39 51 - ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; }; 52 - ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; }; 53 40 ghc704 = callPackage ../development/compilers/ghc/7.0.4.nix { 54 41 ghc = compiler.ghc704Binary; 55 42 }; 56 - ghc722 = callPackage ../development/compilers/ghc/7.2.2.nix { 57 - ghc = compiler.ghc704Binary; 58 - }; 59 43 ghc742 = callPackage ../development/compilers/ghc/7.4.2.nix { 60 44 ghc = compiler.ghc704Binary; 61 45 }; ··· 106 90 bootPkgs = packages.ghc802; 107 91 inherit (pkgs) cabal-install; 108 92 }; 109 - ghcHaLVM240 = callPackage ../development/compilers/halvm/2.4.0.nix rec { 110 - bootPkgs = packages.ghc7103Binary; 111 - inherit (bootPkgs) hscolour alex happy; 112 - }; 113 - 114 - uhc = callPackage ../development/compilers/uhc/default.nix ({ 115 - stdenv = pkgs.clangStdenv; 116 - inherit (packages.ghc7103Binary) ghcWithPackages; 117 - }); 118 93 119 94 # The integer-simple attribute set contains all the GHC compilers 120 95 # build with integer-simple instead of integer-gmp. ··· 176 151 ghc = bh.compiler.ghcjsHEAD; 177 152 compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { }; 178 153 packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { }; 179 - }; 180 - ghcHaLVM240 = callPackage ../development/haskell-modules { 181 - buildHaskellPackages = bh.packages.ghcHaLVM240; 182 - ghc = bh.compiler.ghcHaLVM240; 183 - compilerConfig = callPackage ../development/haskell-modules/configuration-halvm-2.4.0.nix { }; 184 154 }; 185 155 186 156 # The integer-simple attribute set contains package sets for all the GHC compilers