diff options
author | Peter Simons <simons@cryp.to> | 2018-01-26 10:15:06 +0100 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2018-01-26 13:01:11 +0100 |
commit | a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3 (patch) | |
tree | 779fe3d0006206c902484d360e19912ef6f354a2 /pkgs/development/compilers/ghc | |
parent | 83b35508c6491103cd16a796758e07417a28698b (diff) | |
download | nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.tar nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.tar.gz nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.tar.bz2 nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.tar.lz nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.tar.xz nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.tar.zst nixlib-a45dfaa3351fd6c7c73655afa473e67d8dd5a8e3.zip |
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
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r-- | pkgs/development/compilers/ghc/6.10.2-binary.nix | 112 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/6.10.4.nix | 42 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/6.12.3.nix | 54 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/7.2.2.nix | 78 |
4 files changed, 0 insertions, 286 deletions
diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix deleted file mode 100644 index abf14808c58f..000000000000 --- a/pkgs/development/compilers/ghc/6.10.2-binary.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ stdenv -, fetchurl, perl -, libedit, ncurses5, gmp -, enableIntegerSimple ? false -}: - -# Prebuilt only does native -assert stdenv.targetPlatform == stdenv.hostPlatform; - -stdenv.mkDerivation rec { - version = "6.10.2"; - - name = "ghc-${version}-binary"; - - src = fetchurl ({ - "i686-linux" = { - # This binary requires libedit.so.0 (rather than libedit.so.2). - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2"; - sha256 = "1fw0zr2qshlpk8s0d16k27zcv5263nqdg2xds5ymw8ff6qz9rz9b"; - }; - "x86_64-linux" = { - # Idem. - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2"; - sha256 = "1rd2j7lmcfsm2rdfb5g6q0l8dz3sxadk5m3d2f69d4a6g4p4h7jj"; - }; - }.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform")); - - nativeBuildInputs = [ perl ]; - - # Cannot patchelf beforehand due to relative RPATHs that anticipate - # the final install location/ - LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libedit ncurses5 gmp ]; - - postUnpack = - # Strip is harmful, see also below. It's important that this happens - # first. The GHC Cabal build system makes use of strip by default and - # has hardcoded paths to /usr/bin/strip in many places. We replace - # those below, making them point to our dummy script. - '' - mkdir "$TMP/bin" - for i in strip; do - echo '#! ${stdenv.shell}' > "$TMP/bin/$i" - chmod +x "$TMP/bin/$i" - done - PATH="$TMP/bin:$PATH" - '' + - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' - find . -type f -perm -0100 -exec patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" {} \; - - for prog in ld ar gcc strip ranlib; do - find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \; - done - ''; - - configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib" - "--with-gmp-includes=${stdenv.lib.getDev gmp}/include" - ]; - - # Stripping combined with patchelf breaks the executables (they die - # with a segfault or the kernel even refuses the execve). (NIXPKGS-85) - dontStrip = true; - - # No building is necessary, but calling make without flags ironically - # calls install-strip ... - dontBuild = true; - - postInstall = '' - # bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way - sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp.out}/lib\",\2@" $out/lib/ghc-${version}/package.conf - ''; - - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - preFixup = stdenv.lib.optionalString stdenv.isLinux '' - find "$out" -type f -executable \ - -exec patchelf --set-rpath "${LD_LIBRARY_PATH}" {} \; - ''; - - doInstallCheck = true; - installCheckPhase = '' - # Sanity check, can ghc create executables? - cd $TMP - mkdir test-ghc; cd test-ghc - cat > main.hs << EOF - module Main where - main = putStrLn "yes" - EOF - $out/bin/ghc --make main.hs - echo compilation ok - [ $(./main) == "yes" ] - ''; - - passthru = { - targetPrefix = ""; - # Our Cabal compiler name - haskellCompilerName = "ghc"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - license = stdenv.lib.licenses.bsd3; - platforms = ["x86_64-linux" "i686-linux"]; - }; - -} diff --git a/pkgs/development/compilers/ghc/6.10.4.nix b/pkgs/development/compilers/ghc/6.10.4.nix deleted file mode 100644 index c29698c7e484..000000000000 --- a/pkgs/development/compilers/ghc/6.10.4.nix +++ /dev/null @@ -1,42 +0,0 @@ -{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 = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; - sha256 = "d66a8e52572f4ff819fe5c4e34c6dd1e84a7763e25c3fadcc222453c0bd8534d"; - }; - - buildInputs = [ghc libedit perl gmp]; - - hardeningDisable = [ "format" ]; - - configureFlags = [ - "--with-gmp-libraries=${gmp.out}/lib" - "--with-gmp-includes=${gmp.dev}/include" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; - - passthru = { - targetPrefix = ""; - - # Our Cabal compiler name - haskellCompilerName = "ghc"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. - inherit (ghc.meta) license; - broken = true; # https://nix-cache.s3.amazonaws.com/log/6ys7lzckf2c0532kzhmss73mmz504can-ghc-6.10.4.drv - }; -} diff --git a/pkgs/development/compilers/ghc/6.12.3.nix b/pkgs/development/compilers/ghc/6.12.3.nix deleted file mode 100644 index d2cc4a2e9c38..000000000000 --- a/pkgs/development/compilers/ghc/6.12.3.nix +++ /dev/null @@ -1,54 +0,0 @@ -{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 = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; - sha256 = "0s2y1sv2nq1cgliv735q2w3gg4ykv1c0g1adbv8wgwhia10vxgbc"; - }; - - buildInputs = [ghc perl gmp ncurses]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" - ''; - - preConfigure = '' - echo -n "${buildMK}" > mk/build.mk - ''; - - configureFlags = [ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - passthru = { - targetPrefix = ""; - - # Our Cabal compiler name - haskellCompilerName = "ghc"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; - platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. - inherit (ghc.meta) license; - broken = true; # broken by gcc 5.x: http://hydra.nixos.org/build/33627548 - }; -} diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix deleted file mode 100644 index 715f0320d50b..000000000000 --- a/pkgs/development/compilers/ghc/7.2.2.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, ncurses, libiconv - -, # 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 ? 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 = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.bz2"; - sha256 = "0g87d3z9275dniaqzkf56qfgzp1msd89nqqhhm2gkc6iga072spz"; - }; - - patches = [ ./fix-7.2.2-clang.patch ./relocation.patch ]; - - buildInputs = [ ghc perl ncurses ] - ++ stdenv.lib.optional (!enableIntegerSimple) gmp; - - buildMK = '' - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib" - ${stdenv.lib.optionalString stdenv.isDarwin '' - libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include" - libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib" - ''} - '' + (if enableIntegerSimple then '' - INTEGER_LIBRARY = integer-simple - '' else '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include" - ''); - - preConfigure = '' - echo -n "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + stdenv.lib.optionalString stdenv.isDarwin '' - find . -name '*.hs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|' - find . -name '*.lhs' | xargs sed -i -e 's|ASSERT (|ASSERT(|' -e 's|ASSERT2 (|ASSERT2(|' -e 's|WARN (|WARN(|' - export NIX_LDFLAGS+=" -no_dtrace_dof" - ''; - - configureFlags = if stdenv.isDarwin then "--with-gcc=${./gcc-clang-wrapper.sh}" - else "--with-gcc=${stdenv.cc}/bin/gcc"; - - NIX_CFLAGS_COMPILE = "-fomit-frame-pointer"; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - passthru = { - targetPprefix = ""; - - # Our Cabal compiler name - haskellCompilerName = "ghc"; - }; - - meta = { - homepage = http://haskell.org/ghc; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - stdenv.lib.maintainers.peti - ]; - platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported. - inherit (ghc.meta) license; - broken = true; # broken by 51cf42ad0d3ccb55af182f1f0ee5eb5094ea5995: https://hydra.nixos.org/build/60616815 - }; - -} |