diff --git a/pkgs/development/compilers/ghc/6.10.1-binary.nix b/pkgs/development/compilers/ghc/6.10.1-binary.nix deleted file mode 100644 index 02e37cc42cf..00000000000 --- a/pkgs/development/compilers/ghc/6.10.1-binary.nix +++ /dev/null @@ -1,103 +0,0 @@ -{stdenv, fetchurl, perl, libedit, ncurses, gmp}: - -stdenv.mkDerivation rec { - version = "6.10.1"; - - name = "ghc-${version}-binary"; - - src = - if stdenv.system == "i686-linux" then - fetchurl { - # 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 = "18l0vwlf7y86s65klpdvz4ccp8kydvcmyh03c86hld8jvx16q7zz"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - # Idem. - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2"; - sha256 = "14jvvn333i36wm7mmvi47jr93f5hxrw1h2dpjvqql0rp00svhzzg"; - } - else if stdenv.system == "i686-darwin" then - fetchurl { - # Idem. - url = "http://haskell.org/ghc/dist/${version}/maeder/ghc-${version}-i386-apple-darwin.tar.bz2"; - sha256 = "0lax61cfzxkrjb7an3magdax6c8fygsirpw9qfmc651k2sfby1mq"; - } - else throw "cannot bootstrap GHC on this platform"; - - buildInputs = [perl]; - - 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. - (if stdenv.isLinux then '' - find . -type f -perm +100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \; - 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 - '' else ""); - - configurePhase = '' - ${if stdenv.isDarwin then "export DYLD_LIBRARY_PATH=${gmp}/lib" else ""} - cp $(type -P pwd) utils/pwd/pwd - ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${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 ... - buildPhase = "true"; - - # The binaries for Darwin use frameworks, so fake those frameworks, - # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so - # that the executables work with no special setup. - postInstall = - (if stdenv.isDarwin then - '' - mv $out/bin $out/bin-orig - mkdir $out/bin - for i in $(cd $out/bin-orig && ls); do - echo "#! $SHELL -e" >> $out/bin/$i - echo "export DYLD_LIBRARY_PATH=\"${gmp}/lib:${libedit}/lib\"" >> $out/bin/$i - echo "exec $out/bin-orig/$i \"\$@\"" >> $out/bin/$i - chmod +x $out/bin/$i - done - '' else "") - + - '' - # 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}/lib\",\2@" $out/lib/ghc-${version}/package.conf - - # 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" ] - ''; - - meta.license = stdenv.lib.licenses.bsd3; - meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"]; -} diff --git a/pkgs/development/compilers/ghc/6.10.1.nix b/pkgs/development/compilers/ghc/6.10.1.nix deleted file mode 100644 index 7c18d76626e..00000000000 --- a/pkgs/development/compilers/ghc/6.10.1.nix +++ /dev/null @@ -1,59 +0,0 @@ -{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}: - -stdenv.mkDerivation rec { - version = "6.10.1"; - - name = "ghc-${version}"; - - homepage = "http://haskell.org/ghc"; - - src = fetchurl { - url = "${homepage}/dist/${version}/${name}-src.tar.bz2"; - sha256 = "16q08cxxsmh4hgjhvkl739pc1hh81gljycfq1d2z6m1ld3jpbi22"; - }; - - buildInputs = [ghc libedit perl gmp]; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - meta = { - inherit homepage; - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; - - - passthru = { - corePackages = [ - [ "Cabal" "1.6.0.1" ] - [ "array" "0.2.0.0" ] - [ "base" "3.0.3.0" ] - [ "base" "4.0.0.0" ] - [ "bytestring" "0.9.1.4" ] - [ "containers" "0.2.0.0" ] - [ "directory" "1.0.0.2" ] - [ "editline" "0.2.1.0" ] - [ "filepath" "1.1.0.1" ] - [ "(ghc" "6.10.1)" ] - [ "ghc-prim" "0.1.0.0" ] - [ "haddock" "2.3.0" ] - [ "haskell98" "1.0.1.0" ] - [ "hpc" "0.5.0.2" ] - [ "integer" "0.1.0.0" ] - [ "old-locale" "1.0.0.1" ] - [ "old-time" "1.0.0.1" ] - [ "packedstring" "0.1.0.1" ] - [ "pretty" "1.0.1.0" ] - [ "process" "1.0.1.0" ] - [ "random" "1.0.0.1" ] - [ "rts" "1.0" ] - [ "syb" "0.1.0.0" ] - [ "template-haskell" "2.3.0.0" ] - [ "unix" "2.3.1.0" ] - ]; - }; -} diff --git a/pkgs/development/compilers/ghc/6.10.2.nix b/pkgs/development/compilers/ghc/6.10.2.nix deleted file mode 100644 index 9261ead80d7..00000000000 --- a/pkgs/development/compilers/ghc/6.10.2.nix +++ /dev/null @@ -1,58 +0,0 @@ -{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}: - -stdenv.mkDerivation rec { - version = "6.10.2"; - - name = "ghc-${version}"; - - homepage = "http://haskell.org/ghc"; - - src = fetchurl { - url = "${homepage}/dist/${version}/${name}-src.tar.bz2"; - sha256 = "0q3wgp8svfl54kpyp55a1kh63cni5vzz811hqjsps84jdg0lg56m"; - }; - - buildInputs = [ghc libedit perl gmp]; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - meta = { - inherit homepage; - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; - - passthru = { - corePackages = [ - [ "Cabal" "1.6.0.3" ] - [ "array" "0.2.0.0" ] - [ "base" "3.0.3.1" ] - [ "base" "4.1.0.0" ] - [ "bytestring" "0.9.1.4" ] - [ "containers" "0.2.0.1" ] - [ "directory" "1.0.0.3" ] - [ "editline" "0.2.1.0" ] - [ "filepath" "1.1.0.2" ] - [ "(ghc" "6.10.2)" ] - [ "ghc-prim" "0.1.0.0" ] - [ "haddock" "2.4.2" ] - [ "haskell98" "1.0.1.0" ] - [ "hpc" "0.5.0.3" ] - [ "integer" "0.1.0.1" ] - [ "old-locale" "1.0.0.1" ] - [ "old-time" "1.0.0.2" ] - [ "packedstring" "0.1.0.1" ] - [ "pretty" "1.0.1.0" ] - [ "process" "1.0.1.1" ] - [ "random" "1.0.0.1" ] - [ "rts" "1.0" ] - [ "syb" "0.1.0.1" ] - [ "template-haskell" "2.3.0.1" ] - [ "unix" "2.3.2.0" ] - ]; - }; -} diff --git a/pkgs/development/compilers/ghc/6.10.3.nix b/pkgs/development/compilers/ghc/6.10.3.nix deleted file mode 100644 index 9ab6e2076b5..00000000000 --- a/pkgs/development/compilers/ghc/6.10.3.nix +++ /dev/null @@ -1,59 +0,0 @@ -{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}: - -stdenv.mkDerivation rec { - version = "6.10.3"; - - name = "ghc-${version}"; - - homepage = "http://haskell.org/ghc"; - - src = fetchurl { - url = "${homepage}/dist/${version}/${name}-src.tar.bz2"; - sha256 = "82d104ab8b24f27c3566b5693316c779427794a137237b3df925c55e20905893"; - }; - - buildInputs = [ghc libedit perl gmp]; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - meta = { - inherit homepage; - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; - - - passthru = { - corePackages = [ - [ "Cabal" "1.6.0.3" ] - [ "array" "0.2.0.0" ] - [ "base" "3.0.3.1" ] - [ "base" "4.1.0.0" ] - [ "bytestring" "0.9.1.4" ] - [ "containers" "0.2.0.1" ] - [ "directory" "1.0.0.3" ] - [ "extensible-exceptions" "0.1.1.0" ] - [ "filepath" "1.1.0.2" ] - [ "ghc" "6.10.3" ] - [ "ghc-prim" "0.1.0.0" ] - [ "haddock" "2.4.2" ] - [ "haskell98" "1.0.1.0" ] - [ "hpc" "0.5.0.3" ] - [ "integer" "0.1.0.1" ] - [ "old-locale" "1.0.0.1" ] - [ "old-time" "1.0.0.2" ] - [ "packedstring" "0.1.0.1" ] - [ "pretty" "1.0.1.0" ] - [ "process" "1.0.1.1" ] - [ "random" "1.0.0.1" ] - [ "rts" "1.0" ] - [ "syb" "0.1.0.1" ] - [ "template-haskell" "2.3.0.1" ] - [ "unix" "2.3.2.0" ] - ]; - }; -} diff --git a/pkgs/development/compilers/ghc/6.11.nix b/pkgs/development/compilers/ghc/6.11.nix deleted file mode 100644 index 8d57ecd59ac..00000000000 --- a/pkgs/development/compilers/ghc/6.11.nix +++ /dev/null @@ -1,32 +0,0 @@ -{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses, happy, alex}: - -stdenv.mkDerivation rec { - version = "6.11.20090916"; - - name = "ghc-${version}"; - - homepage = "http://haskell.org/ghc"; - - src = fetchurl { - url = "${homepage}/dist/current/dist/${name}-src.tar.bz2"; - sha256 = "a229c5052f401d03cdb77b8a96643eb80ba3faf1a9d0578c6fede1ce2a63cede"; - }; - - buildInputs = [ghc libedit perl gmp happy alex]; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - preConfigure=[ - "make distclean" - ]; - - meta = { - inherit homepage; - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; -} diff --git a/pkgs/development/compilers/ghc/6.12.1-binary.nix b/pkgs/development/compilers/ghc/6.12.1-binary.nix deleted file mode 100644 index 8d03ca40452..00000000000 --- a/pkgs/development/compilers/ghc/6.12.1-binary.nix +++ /dev/null @@ -1,104 +0,0 @@ -{stdenv, fetchurl, perl, ncurses, gmp}: - -stdenv.mkDerivation rec { - version = "6.12.1"; - - name = "ghc-${version}-binary"; - - src = - if stdenv.system == "i686-linux" then - fetchurl { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux-n.tar.bz2"; - sha256 = "15kp8mnm4ig6a7k1a1j12lyhdcs75myv6ralfywjzpl27pd77gmk"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux-n.tar.bz2"; - sha256 = "08cb4bgyj23qsbqay4pqs81jha40njkx63ng7l827cydx2pm3qxs"; - } - else throw "cannot bootstrap GHC on this platform"; - - buildInputs = [perl]; - - 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" - '' + - # We have to patch the GMP paths for the integer-gmp package. - '' - find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \; - '' + - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - (if stdenv.isLinux then '' - find . -type f -perm +100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${ncurses}/lib:${gmp}/lib" {} \; - sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - 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 - '' else ""); - - configurePhase = '' - ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${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 ... - buildPhase = "true"; - - # The binaries for Darwin use frameworks, so fake those frameworks, - # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so - # that the executables work with no special setup. - postInstall = - (if stdenv.isDarwin then - '' - mkdir -p $out/frameworks/GMP.framework/Versions/A - ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP - ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP - # !!! fix this - - mv $out/bin $out/bin-orig - mkdir $out/bin - for i in $(cd $out/bin-orig && ls); do - echo \"#! $SHELL -e\" >> $out/bin/$i - echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i - chmod +x $out/bin/$i - done - '' else "") - + - '' - # 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}/lib\",\2@" $out/lib/ghc-${version}/package.conf - - # 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" ] - ''; - - meta.license = stdenv.lib.licenses.bsd3; - meta.platforms = ["x86_64-linux" "i686-linux"]; -} diff --git a/pkgs/development/compilers/ghc/6.12.1.nix b/pkgs/development/compilers/ghc/6.12.1.nix deleted file mode 100644 index b92484973f0..00000000000 --- a/pkgs/development/compilers/ghc/6.12.1.nix +++ /dev/null @@ -1,83 +0,0 @@ -{stdenv, fetchurl, ghc, perl, gmp, ncurses}: - -stdenv.mkDerivation rec { - version = "6.12.1"; - - name = "ghc-${version}"; - - src = fetchurl { - url = http://haskell.org/ghc/dist/6.12.1/ghc-6.12.1-src.tar.bz2; - sha256 = "0ajm4sypk4zgjp0m6i03fadyv5dm9vlqfnvsx1g94yk7vnd9zyfd"; - }; - - buildInputs = [ghc perl gmp ncurses]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - ]; - inherit (ghc.meta) license platforms; - }; - - # TODO: requires a comment as to what it does and why it is needed. - passthru = { - corePackages = [ - [ "Cabal" "1.8.0.2" ] - [ "array" "0.3.0.0" ] - [ "base" "3.0.3.2" ] - [ "base" "4.2.0.0" ] - [ "bin-package-db" "0.0.0.0" ] - [ "bytestring" "0.9.1.5" ] - [ "containers" "0.3.0.0" ] - [ "directory" "1.0.1.0" ] - [ "dph-base" "0.4.0" ] - [ "dph-par" "0.4.0" ] - [ "dph-prim-interface" "0.4.0" ] - [ "dph-prim-par" "0.4.0" ] - [ "dph-prim-seq" "0.4.0" ] - [ "dph-seq" "0.4.0" ] - [ "extensible-exceptions" "0.1.1.1" ] - [ "ffi" "1.0" ] - [ "filepath" "1.1.0.3" ] - [ "ghc" "6.12.1" ] - [ "ghc-binary" "0.5.0.2" ] - [ "ghc-prim" "0.2.0.0" ] - [ "haskell98" "1.0.1.1" ] - [ "hpc" "0.5.0.4" ] - [ "integer-gmp" "0.2.0.0" ] - [ "old-locale" "1.0.0.2" ] - [ "old-time" "1.0.0.3" ] - [ "pretty" "1.0.1.1" ] - [ "process" "1.0.1.2" ] - [ "random" "1.0.0.2" ] - [ "rts" "1.0" ] - [ "syb" "0.1.0.2" ] - [ "template-haskell" "2.4.0.0" ] - [ "time" "1.1.4" ] - [ "unix" "2.4.0.0" ] - [ "utf8-string" "0.3.4" ] - ]; - }; -} diff --git a/pkgs/development/compilers/ghc/6.12.2.nix b/pkgs/development/compilers/ghc/6.12.2.nix deleted file mode 100644 index 8cf505488cb..00000000000 --- a/pkgs/development/compilers/ghc/6.12.2.nix +++ /dev/null @@ -1,83 +0,0 @@ -{stdenv, fetchurl, ghc, perl, gmp, ncurses}: - -stdenv.mkDerivation rec { - version = "6.12.2"; - - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "7f1e39f0b3ddaca35b55cd430ca058d1c4678445a7177391c9cb6342b7c41a30"; - }; - - buildInputs = [ghc perl gmp ncurses]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - ]; - inherit (ghc.meta) license platforms; - }; - - # TODO: requires a comment as to what it does and why it is needed. - passthru = { - corePackages = [ - [ "Cabal" "1.8.0.2" ] - [ "array" "0.3.0.0" ] - [ "base" "3.0.3.2" ] - [ "base" "4.2.0.0" ] - [ "bin-package-db" "0.0.0.0" ] - [ "bytestring" "0.9.1.5" ] - [ "containers" "0.3.0.0" ] - [ "directory" "1.0.1.0" ] - [ "dph-base" "0.4.0" ] - [ "dph-par" "0.4.0" ] - [ "dph-prim-interface" "0.4.0" ] - [ "dph-prim-par" "0.4.0" ] - [ "dph-prim-seq" "0.4.0" ] - [ "dph-seq" "0.4.0" ] - [ "extensible-exceptions" "0.1.1.1" ] - [ "ffi" "1.0" ] - [ "filepath" "1.1.0.3" ] - [ "ghc" "6.12.1" ] - [ "ghc-binary" "0.5.0.2" ] - [ "ghc-prim" "0.2.0.0" ] - [ "haskell98" "1.0.1.1" ] - [ "hpc" "0.5.0.4" ] - [ "integer-gmp" "0.2.0.0" ] - [ "old-locale" "1.0.0.2" ] - [ "old-time" "1.0.0.3" ] - [ "pretty" "1.0.1.1" ] - [ "process" "1.0.1.2" ] - [ "random" "1.0.0.2" ] - [ "rts" "1.0" ] - [ "syb" "0.1.0.2" ] - [ "template-haskell" "2.4.0.0" ] - [ "time" "1.1.4" ] - [ "unix" "2.4.0.0" ] - [ "utf8-string" "0.3.4" ] - ]; - }; -} diff --git a/pkgs/development/compilers/ghc/6.4.2-binary.nix b/pkgs/development/compilers/ghc/6.4.2-binary.nix deleted file mode 100644 index 5485326e2e7..00000000000 --- a/pkgs/development/compilers/ghc/6.4.2-binary.nix +++ /dev/null @@ -1,67 +0,0 @@ -{stdenv, fetchurl, perl, readline, ncurses, gmp}: - -stdenv.mkDerivation { - name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary"; - - src = - if stdenv.system == "i686-linux" then - fetchurl { - url = http://tarballs.nixos.org/ghc-6.4.2-i386-unknown-linux.tar.bz2; - md5 = "092fe2e25dab22b926babe97cc77db1f"; - } - else if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://haskell.org/ghc/dist/6.4.2/ghc-6.4.2-x86_64-unknown-linux.tar.bz2; - md5 = "8f5fe48798f715cd05214a10987bf6d5"; - } - else if stdenv.system == "i686-darwin" then - /* Yes, this isn't GHC 6.4.2. But IIRC either there was no - 6.4.2 binary for Darwin, or it didn't work. In any case, in - Nixpkgs we just need this bootstrapping a "real" GHC. */ - fetchurl { - url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2; - sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia"; - } - else throw "cannot bootstrap GHC on this platform"; - - buildInputs = [perl]; - - # On Linux, use patchelf to modify the executables so that they can - # find readline/gmp. - postBuild = if stdenv.isLinux then " - find . -type f -perm +100 \\ - -exec patchelf --interpreter \"$(cat $NIX_CC/nix-support/dynamic-linker)\" \\ - --set-rpath \"${readline}/lib:${ncurses}/lib:${gmp}/lib\" {} \\; - " else ""; - - # Stripping combined with patchelf breaks the executables (they die - # with a segfault or the kernel even refuses the execve). (NIXPKGS-85) - dontStrip = true; - - # The binaries for Darwin use frameworks, so fake those frameworks, - # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so - # that the executables work with no special setup. - postInstall = if stdenv.isDarwin then '' - - mkdir -p $out/frameworks/GMP.framework/Versions/A - ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP - ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP - mkdir -p $out/frameworks/GNUreadline.framework/Versions/A - ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/GNUreadline - ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/Versions/A/GNUreadline - - mkdir $out/bin-orig - for i in $(cd $out/bin && ls *); do - mv $out/bin/$i $out/bin-orig/$i - echo "#! $SHELL -e" >> $out/bin/$i - extraFlag= - if test $i != ghc-pkg; then extraFlag="-framework-path $out/frameworks"; fi - echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \"\$@\"" >> $out/bin/$i - chmod +x $out/bin/$i - done - - '' else ""; - - meta.license = stdenv.lib.licenses.bsd3; - meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"]; -} diff --git a/pkgs/development/compilers/ghc/6.4.2.nix b/pkgs/development/compilers/ghc/6.4.2.nix deleted file mode 100644 index dfd38cc6a1a..00000000000 --- a/pkgs/development/compilers/ghc/6.4.2.nix +++ /dev/null @@ -1,28 +0,0 @@ -{stdenv, fetchurl, perl, ghc, m4, readline, ncurses, gmp}: - -stdenv.mkDerivation { - name = "ghc-6.4.2"; - - src = fetchurl { - url = http://www.haskell.org/ghc/dist/6.4.2/ghc-6.4.2-src.tar.bz2; - md5 = "a394bf14e94c3bca5507d568fcc03375"; - }; - - buildInputs = [perl ghc m4]; - - propagatedBuildInputs = [readline ncurses gmp]; - - configureFlags = "--with-gcc=${stdenv.cc}/bin/gcc"; - - preConfigure = - '' - # Don't you hate build processes that write in $HOME? :-( - export HOME=$(pwd)/fake-home - mkdir -p $HOME - ''; - - meta = { - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; -} diff --git a/pkgs/development/compilers/ghc/6.6.1.nix b/pkgs/development/compilers/ghc/6.6.1.nix deleted file mode 100644 index 0f91b9d5052..00000000000 --- a/pkgs/development/compilers/ghc/6.6.1.nix +++ /dev/null @@ -1,46 +0,0 @@ -{stdenv, fetchurl, readline, ghc, perl58, m4, gmp, ncurses}: - -stdenv.mkDerivation (rec { - name = "ghc-6.6.1"; - - src = map fetchurl [ - { url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src.tar.bz2; - md5 = "ba9f4aec2fde5ff1e1548ae69b78aeb0"; - } - { url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src-extralibs.tar.bz2; - md5 = "43a26b81608b206c056adc3032f7da2a"; - } - ]; - - buildInputs = [ghc readline perl58 m4 gmp]; - - meta = { - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; - - postInstall = '' - mkdir -p "$out/nix-support" - echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook - echo "ghc=$out" >> $out/nix-support/setup-hook - echo "" >> $out/nix-support/setup-hook - cat $setupHook >> $out/nix-support/setup-hook - ''; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-readline-libraries=${readline}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-gcc=${gcc}/bin/gcc" - ]; - - preConfigure = '' - # still requires a hack for ncurses - sed -i "s|^\(library-dirs.*$\)|\1 \"${ncurses}/lib\"|" libraries/readline/package.conf.in - # fix for gcc 4.2 - echo "SplitObjs=NO" >> mk/build.mk - ''; - - inherit (stdenv) gcc; - inherit readline gmp ncurses; -}) diff --git a/pkgs/development/compilers/ghc/6.8.2.nix b/pkgs/development/compilers/ghc/6.8.2.nix deleted file mode 100644 index 0f649745a1e..00000000000 --- a/pkgs/development/compilers/ghc/6.8.2.nix +++ /dev/null @@ -1,35 +0,0 @@ -{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}: - -stdenv.mkDerivation (rec { - version = "6.8.2"; - name = "ghc-${version}"; - homepage = "http://www.haskell.org/ghc"; - - src = map fetchurl [ - { url = "${homepage}/dist/${version}/${name}-src.tar.bz2"; - sha256 = "2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9"; - } - { url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2"; - md5 = "d199c50814188fb77355d41058b8613c"; - } - ]; - - buildInputs = [ghc readline perl m4 gmp]; - - meta = { - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-readline-libraries=${readline}/lib" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - preConfigure = " - # still requires a hack for ncurses - sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in - "; -}) diff --git a/pkgs/development/compilers/ghc/6.8.3.nix b/pkgs/development/compilers/ghc/6.8.3.nix deleted file mode 100644 index ea116781afb..00000000000 --- a/pkgs/development/compilers/ghc/6.8.3.nix +++ /dev/null @@ -1,37 +0,0 @@ -{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses, haddock}: - -stdenv.mkDerivation rec { - version = "6.8.3"; - name = "ghc-${version}"; - homepage = "http://www.haskell.org/ghc"; - - src = map fetchurl [ - { url = "${homepage}/dist/${version}/${name}-src.tar.bz2"; - sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b"; - } - { url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2"; - sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2"; - } - ]; - - buildInputs = [ghc readline perl m4 gmp haddock]; - - meta = { - description = "The Glasgow Haskell Compiler"; - inherit (ghc.meta) license platforms; - }; - - configureFlags=[ - "--with-gmp-libraries=${gmp}/lib" - "--with-gmp-includes=${gmp}/include" - "--with-readline-libraries=${readline}/lib" - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - preConfigure = '' - # still requires a hack for ncurses - sed -i "s|^\(ld-options.*$\)|\1 -L${ncurses}/lib|" libraries/readline/readline.buildinfo.in - # build haddock docs - echo "HADDOCK_DOCS = YES" >> mk/build.mk - ''; -} diff --git a/pkgs/development/compilers/ghc/7.0.1.nix b/pkgs/development/compilers/ghc/7.0.1.nix deleted file mode 100644 index b61375c6657..00000000000 --- a/pkgs/development/compilers/ghc/7.0.1.nix +++ /dev/null @@ -1,83 +0,0 @@ -{stdenv, fetchurl, ghc, perl, gmp, ncurses}: - -stdenv.mkDerivation rec { - version = "7.0.1"; - - name = "ghc-${version}"; - - src = fetchurl { - url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "1iciljngxmqy465cw3pkl6jp0ydiils4bfz6ixfaxk7aqv7r7xsi"; - }; - - buildInputs = [ghc perl gmp ncurses]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - ]; - inherit (ghc.meta) license platforms; - }; - - # TODO: requires a comment as to what it does and why it is needed. - passthru = { - corePackages = [ - [ "Cabal" "1.8.0.2" ] - [ "array" "0.3.0.0" ] - [ "base" "3.0.3.2" ] - [ "base" "4.2.0.0" ] - [ "bin-package-db" "0.0.0.0" ] - [ "bytestring" "0.9.1.5" ] - [ "containers" "0.3.0.0" ] - [ "directory" "1.0.1.0" ] - [ "dph-base" "0.4.0" ] - [ "dph-par" "0.4.0" ] - [ "dph-prim-interface" "0.4.0" ] - [ "dph-prim-par" "0.4.0" ] - [ "dph-prim-seq" "0.4.0" ] - [ "dph-seq" "0.4.0" ] - [ "extensible-exceptions" "0.1.1.1" ] - [ "ffi" "1.0" ] - [ "filepath" "1.1.0.3" ] - [ "ghc" "6.12.1" ] - [ "ghc-binary" "0.5.0.2" ] - [ "ghc-prim" "0.2.0.0" ] - [ "haskell98" "1.0.1.1" ] - [ "hpc" "0.5.0.4" ] - [ "integer-gmp" "0.2.0.0" ] - [ "old-locale" "1.0.0.2" ] - [ "old-time" "1.0.0.3" ] - [ "pretty" "1.0.1.1" ] - [ "process" "1.0.1.2" ] - [ "random" "1.0.0.2" ] - [ "rts" "1.0" ] - [ "syb" "0.1.0.2" ] - [ "template-haskell" "2.4.0.0" ] - [ "time" "1.1.4" ] - [ "unix" "2.4.0.0" ] - [ "utf8-string" "0.3.4" ] - ]; - }; -} diff --git a/pkgs/development/compilers/ghc/7.0.2.nix b/pkgs/development/compilers/ghc/7.0.2.nix deleted file mode 100644 index 6c72527d36b..00000000000 --- a/pkgs/development/compilers/ghc/7.0.2.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: - -stdenv.mkDerivation rec { - version = "7.0.2"; - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668"; - }; - - buildInputs = [ ghc perl gmp ncurses ]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - ]; - inherit (ghc.meta) license platforms; - broken = true; - }; - -} diff --git a/pkgs/development/compilers/ghc/7.0.3.nix b/pkgs/development/compilers/ghc/7.0.3.nix deleted file mode 100644 index 580b1d22983..00000000000 --- a/pkgs/development/compilers/ghc/7.0.3.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: - -stdenv.mkDerivation rec { - version = "7.0.3"; - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "1nfc2c6bdcdfg3f3d9q5v109jrrwhz6by3qa4qi7k0xbip16jq8m"; - }; - - buildInputs = [ ghc perl gmp ncurses ]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - ]; - inherit (ghc.meta) license platforms; - broken = true; - }; - -} diff --git a/pkgs/development/compilers/ghc/7.2.1.nix b/pkgs/development/compilers/ghc/7.2.1.nix deleted file mode 100644 index 4417a0e6a7e..00000000000 --- a/pkgs/development/compilers/ghc/7.2.1.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: - -stdenv.mkDerivation rec { - version = "7.2.1"; - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "099w2bvx07jq4b1k8f1hspri30wbk35dz6ilsivxr2xg661c2qjm"; - }; - - buildInputs = [ ghc perl gmp ncurses ]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons - ]; - inherit (ghc.meta) license platforms; - }; - -} diff --git a/pkgs/development/compilers/ghc/7.4.1.nix b/pkgs/development/compilers/ghc/7.4.1.nix deleted file mode 100644 index 933e81b4495..00000000000 --- a/pkgs/development/compilers/ghc/7.4.1.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: - -stdenv.mkDerivation rec { - version = "7.4.1"; - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "0ycscsagyy9n796a59q6761s6ar50d8inibvnrcp96siksj0j73j"; - }; - - buildInputs = [ ghc perl gmp ncurses ]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons - ]; - platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"]; - }; - -} diff --git a/pkgs/development/compilers/ghc/7.6.1.nix b/pkgs/development/compilers/ghc/7.6.1.nix deleted file mode 100644 index ae22f747d76..00000000000 --- a/pkgs/development/compilers/ghc/7.6.1.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: - -stdenv.mkDerivation rec { - version = "7.6.1"; - - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/7.6.1/${name}-src.tar.bz2"; - sha256 = "1q5rqp8z90mq6ysf7h28zkbhfaxlrpva2qy0wnkr43d7214dzp7i"; - }; - - buildInputs = [ ghc perl gmp ncurses ]; - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - ''; - - configureFlags=[ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons - ]; - inherit (ghc.meta) license platforms; - }; - -} diff --git a/pkgs/development/compilers/ghc/7.6.2.nix b/pkgs/development/compilers/ghc/7.6.2.nix deleted file mode 100644 index 732c3cc66a5..00000000000 --- a/pkgs/development/compilers/ghc/7.6.2.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: - -stdenv.mkDerivation rec { - version = "7.6.2"; - - name = "ghc-${version}"; - - src = fetchurl { - url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; - sha256 = "d5f45184abeacf7e9c6b4f63c7101a5c1d7b4fe9007901159e2287ecf38de533"; - }; - - buildInputs = [ ghc perl gmp ncurses ]; - - - buildMK = '' - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" - libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include" - libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib" - ''; - - preConfigure = '' - echo "${buildMK}" > mk/build.mk - sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - ''; - - configureFlags = [ - "--with-gcc=${stdenv.cc}/bin/gcc" - ]; - - # required, because otherwise all symbols from HSffi.o are stripped, and - # that in turn causes GHCi to abort - stripDebugFlags=["-S" "--keep-file-symbols"]; - - meta = { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - maintainers = [ - stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons - ]; - inherit (ghc.meta) license platforms; - }; - -} diff --git a/pkgs/development/compilers/ghc/7.8.3-binary.nix b/pkgs/development/compilers/ghc/7.8.3-binary.nix deleted file mode 100644 index 91a156ab4e2..00000000000 --- a/pkgs/development/compilers/ghc/7.8.3-binary.nix +++ /dev/null @@ -1,78 +0,0 @@ -{stdenv, fetchurl, perl, ncurses, gmp}: - -stdenv.mkDerivation rec { - version = "7.8.3"; - - name = "ghc-${version}-binary"; - - src = - if stdenv.system == "x86_64-darwin" then - fetchurl { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2"; - sha256 = "1ja0cq5xyjcvjpvjmm4nzhkpmwfs2kjlldbc48lxcs9rmqi7rnay"; - } - else throw "cannot bootstrap GHC on this platform"; - - buildInputs = [perl]; - - 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" - '' + - # We have to patch the GMP paths for the integer-gmp package. - '' - find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \; - '' + - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - (if stdenv.isLinux then '' - find . -type f -perm +100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${ncurses}/lib:${gmp}/lib" {} \; - sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - 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 - '' else ""); - - configurePhase = '' - ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib \ - --with-gmp-includes=${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 ... - buildPhase = "true"; - - postInstall = - '' - # 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" ] - ''; - - meta.license = stdenv.lib.licenses.bsd3; - meta.platforms = ["x86_64-darwin"]; -} diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 9e3c8b149d4..509c3d5acdf 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -134,7 +134,6 @@ binary = super.binary_0_7_2_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; cabalInstall_1_16_0_2 = super.cabalInstall_1_16_0_2; caseInsensitive = super.caseInsensitive.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; - GLUT = self.GLUT_2_2_2_1; happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; @@ -142,8 +141,6 @@ HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; network = super.network_2_2_1_7.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; - OpenGLRaw = self.OpenGLRaw_1_3_0_0; - OpenGL = self.OpenGL_2_6_0_1; parsec = super.parsec.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; @@ -158,20 +155,17 @@ # Abstraction for Haskell packages collections packagesFun = makeOverridable - ({ ghcPath - , ghcBinary ? ghc6101Binary + ({ ghc , prefFun , extension ? (self : super : {}) , profExplicit ? false, profDefault ? false , modifyPrio ? lowPrio - , extraArgs ? {} } : let haskellPackagesClass = import ./haskell-packages.nix { - inherit pkgs newScope modifyPrio; + inherit pkgs newScope ghc modifyPrio; enableLibraryProfiling = if profExplicit then profDefault else config.cabal.libraryProfiling or profDefault; - ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs); }; haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super; haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super; @@ -195,60 +189,19 @@ modifyPrio = defaultVersionPrioFun true; }; }; - # Binary versions of GHC - # - # GHC binaries are around for bootstrapping purposes - - ghc6101Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.1-binary.nix { - gmp = pkgs.gmp4; - }); - - ghc6102Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.2-binary.nix { - gmp = pkgs.gmp4; - }); - - ghc6121Binary = lowPrio (callPackage ../development/compilers/ghc/6.12.1-binary.nix { - gmp = pkgs.gmp4; - }); - - ghc704Binary = lowPrio (callPackage ../development/compilers/ghc/7.0.4-binary.nix { - gmp = pkgs.gmp4; - }); - - ghc742Binary = lowPrio (callPackage ../development/compilers/ghc/7.4.2-binary.nix { - gmp = pkgs.gmp4; - }); - - ghc783Binary = lowPrio (callPackage ../development/compilers/ghc/7.8.3-binary.nix {}); - - ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary; - ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary; - # Compiler configurations # # Here, we associate compiler versions with bootstrap compiler versions and # preference functions. - packages_ghcHEAD = - packages { ghcPath = ../development/compilers/ghc/head.nix; - ghcBinary = pkgs.haskellPackages.ghcPlain; - prefFun = ghcHEADPrefs; - extraArgs = { - happy = pkgs.haskellPackages.happy; - alex = pkgs.haskellPackages.alex; - }; - }; - packages_ghc784 = - packages { ghcPath = ../development/compilers/ghc/7.8.4.nix; - ghcBinary = if stdenv.isDarwin then ghc783Binary else ghc742Binary; + packages { ghc = pkgs.haskell-ng.compiler.ghc784; prefFun = ghc784Prefs; }; packages_ghcjs = packages { - ghcPath = ../development/compilers/ghc/7.8.4.nix; - ghcBinary = if stdenv.isDarwin then ghc783Binary else ghc742Binary; + ghc = pkgs.haskell-ng.compiler.ghc784; prefFun = self : super : super // { ghc = let parent = packages_ghc784; in callPackage ../development/compilers/ghcjs/wrapper.nix { @@ -329,36 +282,32 @@ }; packages_ghc763 = - packages { ghcPath = ../development/compilers/ghc/7.6.3.nix; - ghcBinary = ghc704Binary; + packages { ghc = pkgs.haskell-ng.compiler.ghc763; prefFun = ghc763Prefs; }; packages_ghc742 = - packages { ghcPath = ../development/compilers/ghc/7.4.2.nix; - ghcBinary = ghc6121BinaryDarwin; + packages { ghc = pkgs.haskell-ng.compiler.ghc742; prefFun = ghc742Prefs; }; packages_ghc722 = - packages { ghcPath = ../development/compilers/ghc/7.2.2.nix; - ghcBinary = ghc6121BinaryDarwin; + packages { ghc = pkgs.haskell-ng.compiler.ghc722; prefFun = ghc722Prefs; }; packages_ghc704 = - packages { ghcPath = ../development/compilers/ghc/7.0.4.nix; - ghcBinary = ghc6101BinaryDarwin; + packages { ghc = pkgs.haskell-ng.compiler.ghc704; prefFun = ghc704Prefs; }; packages_ghc6123 = - packages { ghcPath = ../development/compilers/ghc/6.12.3.nix; + packages { ghc = pkgs.haskell-ng.compiler.ghc6123; prefFun = ghc6123Prefs; }; packages_ghc6104 = - packages { ghcPath = ../development/compilers/ghc/6.10.4.nix; + packages { ghc = pkgs.haskell-ng.compiler.ghc6104; prefFun = ghc6104Prefs; }; diff --git a/pkgs/top-level/haskell-ng.nix b/pkgs/top-level/haskell-ng.nix index 17fe57df5e7..19c70342c1b 100644 --- a/pkgs/top-level/haskell-ng.nix +++ b/pkgs/top-level/haskell-ng.nix @@ -9,7 +9,6 @@ rec { ghc6102Binary = callPackage ../development/compilers/ghc/6.10.2-binary.nix { gmp = pkgs.gmp4; }; ghc704Binary = callPackage ../development/compilers/ghc/7.0.4-binary.nix { gmp = pkgs.gmp4; }; ghc742Binary = callPackage ../development/compilers/ghc/7.4.2-binary.nix { gmp = pkgs.gmp4; }; - ghc783Binary = callPackage ../development/compilers/ghc/7.8.3-binary.nix { gmp = pkgs.gmp4; }; ghc6104 = callPackage ../development/compilers/ghc/6.10.4.nix { ghc = compiler.ghc6102Binary; gmp = pkgs.gmp.override { withStatic = true; }; }; ghc6123 = callPackage ../development/compilers/ghc/6.12.3.nix { ghc = compiler.ghc6102Binary; gmp = pkgs.gmp.override { withStatic = true; }; };