diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix index 501c7c33df11..2029c98037f9 100644 --- a/pkgs/applications/video/cinelerra/default.nix +++ b/pkgs/applications/video/cinelerra/default.nix @@ -14,7 +14,7 @@ args.stdenv.mkDerivation { buildInputs =(with args; [ automake autoconf libtool pkgconfig - X11 faad2 faac + faad2 faac a52dec alsaLib fftw lame libavc1394 libiec61883 libraw1394 libsndfile libvorbis libogg libjpeg libtiff freetype mjpegtools x264 gettext openexr esound diff --git a/pkgs/development/compilers/ghc/setup-hook.sh b/pkgs/development/compilers/ghc/setup-hook.sh index 263f46f52d42..a73ddada0263 100644 --- a/pkgs/development/compilers/ghc/setup-hook.sh +++ b/pkgs/development/compilers/ghc/setup-hook.sh @@ -4,7 +4,7 @@ ensureDir $ghc_support # Create isolated package config packages_db=$ghc_support/package.conf -cp @out@/lib/ghc-*/package.conf $packages_db +cp @ghc@/lib/ghc-*/package.conf $packages_db chmod +w $packages_db # Generate wrappers for GHC that use the isolated package config @@ -13,7 +13,7 @@ makeWrapper() { wrapper="$ghc_support/$wrapperName" shift #the other arguments are passed to the source app echo '#!'"$SHELL" > "$wrapper" - echo "exec \"@out@/bin/$wrapperName\" $@" '"$@"' >> "$wrapper" + echo "exec \"@ghc@/bin/$wrapperName\" $@" '"$@"' >> "$wrapper" chmod +x "$wrapper" } diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix new file mode 100644 index 000000000000..020363d20a93 --- /dev/null +++ b/pkgs/development/compilers/ghc/wrapper.nix @@ -0,0 +1,14 @@ +{stdenv, ghc}: + +stdenv.mkDerivation { + name = "${ghc.name}-wrapper"; + + propagatedBuildInputs = [ghc]; + + unpackPhase = "true"; + installPhase = "true"; + + setupHook = ./setup-hook.sh; + + inherit ghc; +} diff --git a/pkgs/development/libraries/haskell/editline/default.nix b/pkgs/development/libraries/haskell/editline/default.nix index f3dfa9f66554..daf223b23fbe 100644 --- a/pkgs/development/libraries/haskell/editline/default.nix +++ b/pkgs/development/libraries/haskell/editline/default.nix @@ -4,7 +4,7 @@ cabal.mkDerivation (self : { pname = "editline"; version = "0.2"; sha256 = "6ee0b553cc8d7542c096730ceebabdcb9b2951d7b00a5a0ddbf47b5436a77ce4"; - propagatedBuildInputs = [ libedit ]; + buildInputs = [ libedit ]; patchLibFiles = [ "editline.buildinfo.in" ]; preConfigure = '' sed -i -e '/el_get/d' include/HsEditline.h diff --git a/pkgs/development/tools/parsing/happy/default.nix b/pkgs/development/tools/parsing/happy/default.nix deleted file mode 100644 index ac3fb088bbab..000000000000 --- a/pkgs/development/tools/parsing/happy/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{stdenv, fetchurl, perl, ghc}: - -stdenv.mkDerivation { - name = "happy-1.14"; - src = fetchurl { - url = http://www.haskell.org/happy/dist/1.14/happy-1.14-src.tar.gz; - md5 = "501b5b63533b2e2838de18085e8c4492"; - }; - buildInputs = [ghc perl]; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1a93b94a1921..aa9399e429ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1550,11 +1550,6 @@ let }; }; - # Essential Haskell Compiler -- nix expression is work in progress - ehc = import ../development/compilers/ehc { - inherit fetchsvn stdenv coreutils m4 libtool ghc uulib uuagc llvm; - }; - adobeFlexSDK33 = import ../development/compilers/adobe-flex-sdk { inherit fetchurl stdenv unzip jre; }; @@ -1804,7 +1799,7 @@ let # Executables compiled by this ghc68 - I'm too lazy to add them all as additional file in here ghc68executables = recurseIntoAttrs (import ../misc/ghc68executables { inherit ghcCabalExecutableFun fetchurl lib bleedingEdgeRepos autoconf zlib getConfig; - inherit X11; + #inherit X11; inherit (xlibs) xmessage; inherit pkgs; # passing pkgs to add the possibility for the user to add his own executables. pkgs is passed. }); @@ -1880,6 +1875,18 @@ let inherit fetchurl stdenv perl ncurses gmp libedit; }); + haskellPackages = haskellPackages_ghc6102; + + haskellPackages_ghc6102 = import ./haskell-packages.nix { + inherit pkgs; + ghc = ghc6102; + }; + + haskellPackages_ghc683 = import ./haskell-packages.nix { + inherit pkgs; + ghc = ghc683; + }; + gprolog = import ../development/compilers/gprolog { inherit fetchurl stdenv; }; @@ -2321,10 +2328,6 @@ let ### DEVELOPMENT / TOOLS - alex = import ../development/tools/parsing/alex { - inherit cabal perl; - }; - antlr = import ../development/tools/parsing/antlr/2.7.7.nix { inherit fetchurl stdenv jdk python; }; @@ -2507,21 +2510,13 @@ let inherit fetchurl stdenv; }; - # old version of haddock, still more stable than 2.0 - haddock09 = import ../development/tools/documentation/haddock/haddock-0.9.nix { - inherit cabal; - }; - - # does not compile with ghc-6.8.3 - haddock210 = lowPrio (import ../development/tools/documentation/haddock/haddock-2.1.0.nix { - cabal = cabal682; - }); - + /* hsc2hs = import ../development/tools/misc/hsc2hs { inherit bleedingEdgeRepos stdenv; ghc = ghcsAndLibs.ghc68.ghc; libs = with (ghc68extraLibs ghcsAndLibs.ghc68 // ghcsAndLibs.ghc68.core_libs); [ base directory process cabal_darcs ]; }; + */ guileLint = import ../development/tools/guile/guile-lint { inherit fetchurl stdenv guile; @@ -2532,16 +2527,6 @@ let inherit (gtkLibs) glib; }; - /* - happy = import ../development/tools/parsing/happy { - inherit fetchurl stdenv perl ghc; - }; - */ - - happy = import ../development/tools/parsing/happy/happy-1.17.nix { - inherit cabal perl; - }; - help2man = import ../development/tools/misc/help2man { inherit fetchurl stdenv perl gettext perlLocaleGettext; }; @@ -2680,10 +2665,6 @@ let inherit fetchurl stdenv; }; - uuagc = import ../development/tools/haskell/uuagc { - inherit cabal uulib; - }; - gdb = import ../development/tools/misc/gdb { inherit fetchurl stdenv ncurses readline gmp mpfr texinfo; }; @@ -4177,113 +4158,6 @@ let }; - ### DEVELOPMENT / LIBRARIES / HASKELL - - benchpress = import ../development/libraries/haskell/benchpress { - inherit cabal; - }; - - maybench = import ../development/libraries/haskell/maybench { - inherit cabal benchpress; - }; - - binary = import ../development/libraries/haskell/binary { - inherit cabal; - }; - - # cabal is a utility function to build cabal-based - # Haskell packages - cabal682 = import ../development/libraries/haskell/cabal/cabal.nix { - inherit stdenv fetchurl; - ghc = ghc682; - }; - - cabal683 = import ../development/libraries/haskell/cabal/cabal.nix { - inherit stdenv fetchurl; - ghc = ghc683; - }; - - cabal = cabal683; - - Crypto = import ../development/libraries/haskell/Crypto { - inherit cabal; - }; - - gtk2hs = import ../development/libraries/haskell/gtk2hs { - inherit pkgconfig stdenv fetchurl cairo ghc; - inherit (gnome) gtk glib GConf libglade libgtkhtml gtkhtml; - }; - - haxr = import ../development/libraries/haskell/haxr { - inherit cabal HaXml HTTP; - }; - - haxr_th = import ../development/libraries/haskell/haxr-th { - inherit cabal haxr HaXml HTTP; - }; - - HaXml = import ../development/libraries/haskell/HaXml { - inherit cabal; - }; - - haskellEditline = import ../development/libraries/haskell/editline { - inherit cabal libedit; - }; - - HDBC = import ../development/libraries/haskell/HDBC/HDBC-1.1.4.nix { - inherit cabal; - }; - - HDBCPostgresql = import ../development/libraries/haskell/HDBC/HDBC-postgresql-1.1.4.0.nix { - inherit cabal HDBC postgresql; - }; - - HDBCSqlite = import ../development/libraries/haskell/HDBC/HDBC-sqlite3-1.1.4.0.nix { - inherit cabal HDBC sqlite; - }; - - HTTP = import ../development/libraries/haskell/HTTP { - inherit cabal; - }; - - monadlab = import ../development/libraries/haskell/monadlab { - inherit cabal; - }; - - pcreLight = import ../development/libraries/haskell/pcre-light { - inherit cabal pcre; - }; - - uulib = import ../development/libraries/haskell/uulib { - inherit cabal; - }; - - wxHaskell = import ../development/libraries/haskell/wxHaskell { - inherit stdenv fetchurl unzip wxGTK ghc; - }; - - /* - wxHaskell68 = lowPrio (appendToName "ghc68" (import ../development/libraries/haskell/wxHaskell { - inherit stdenv fetchurl unzip wxGTK; - ghc = ghc68; - })); - */ - - X11 = import ../development/libraries/haskell/X11 { - inherit cabal; - inherit (xlibs) libX11 libXinerama libXext; - xineramaSupport = true; - }; - - vty = import ../development/libraries/haskell/vty { - inherit cabal; - }; - - zlibHaskell = import ../development/libraries/haskell/zlib { - inherit cabal zlib; - }; - - ### DEVELOPMENT / PERL MODULES buildPerlPackage = import ../development/perl-modules/generic perl; @@ -7932,7 +7806,7 @@ let automake autoconf libtool a52dec alsaLib lame libavc1394 libiec61883 libraw1394 libsndfile libvorbis libogg libjpeg libtiff freetype mjpegtools x264 - gettext X11 faad2 faac libtheora libpng libdv perl nasm e2fsprogs + gettext faad2 faac libtheora libpng libdv perl nasm e2fsprogs pkgconfig; openexr = openexr_1_6_1; fftw = fftwSinglePrec; @@ -9190,19 +9064,6 @@ let stdenv = overrideGCC stdenv gcc34; # due to problems with gcc 4.x }; - xmobar = import ../applications/misc/xmobar { - inherit cabal X11; - }; - - xmonad = import ../applications/window-managers/xmonad { - inherit cabal X11; - inherit (xlibs) xmessage; - }; - - xmonadContrib = import ../applications/window-managers/xmonad/xmonad-contrib.nix { - inherit cabal xmonad X11; - }; - xneur = import ../applications/misc/xneur { inherit fetchurl stdenv pkgconfig pcre libxml2 aspell imlib2 xosd; GStreamer=gst_all.gstreamer; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix new file mode 100644 index 000000000000..7e599a5acdeb --- /dev/null +++ b/pkgs/top-level/haskell-packages.nix @@ -0,0 +1,160 @@ +{pkgs, ghc}: + +let ghcOrig = ghc; in + +rec { + + ghc = import ../development/compilers/ghc/wrapper.nix { + inherit (pkgs) stdenv; + ghc = ghcOrig; + }; + + cabal = import ../development/libraries/haskell/cabal/cabal.nix { + inherit (pkgs) stdenv fetchurl; + inherit ghc; + }; + + + # Haskell libraries. + + benchpress = import ../development/libraries/haskell/benchpress { + inherit cabal; + }; + + maybench = import ../development/libraries/haskell/maybench { + inherit cabal benchpress; + }; + + binary = import ../development/libraries/haskell/binary { + inherit cabal; + }; + + Crypto = import ../development/libraries/haskell/Crypto { + inherit cabal; + }; + + editline = import ../development/libraries/haskell/editline { + inherit (pkgs) libedit; + inherit cabal; + }; + + gtk2hs = import ../development/libraries/haskell/gtk2hs { + inherit (pkgs) pkgconfig stdenv fetchurl cairo ghc; + inherit (pkgs.gnome) gtk glib GConf libglade libgtkhtml gtkhtml; + }; + + HTTP = import ../development/libraries/haskell/HTTP { + inherit cabal; + }; + + haxr = import ../development/libraries/haskell/haxr { + inherit cabal HaXml HTTP; + }; + + haxr_th = import ../development/libraries/haskell/haxr-th { + inherit cabal haxr HaXml HTTP; + }; + + HaXml = import ../development/libraries/haskell/HaXml { + inherit cabal; + }; + + HDBC = import ../development/libraries/haskell/HDBC/HDBC-1.1.4.nix { + inherit cabal; + }; + + HDBCPostgresql = import ../development/libraries/haskell/HDBC/HDBC-postgresql-1.1.4.0.nix { + inherit cabal HDBC; + inherit (pkgs) postgresql; + }; + + HDBCSqlite = import ../development/libraries/haskell/HDBC/HDBC-sqlite3-1.1.4.0.nix { + inherit cabal HDBC; + inherit (pkgs) sqlite; + }; + + monadlab = import ../development/libraries/haskell/monadlab { + inherit cabal; + }; + + pcreLight = import ../development/libraries/haskell/pcre-light { + inherit cabal; + inherit (pkgs) pcre; + }; + + uuagc = import ../development/tools/haskell/uuagc { + inherit cabal uulib; + }; + + uulib = import ../development/libraries/haskell/uulib { + inherit cabal; + }; + + wxHaskell = import ../development/libraries/haskell/wxHaskell { + inherit ghc; + inherit (pkgs) stdenv fetchurl unzip wxGTK; + }; + + X11 = import ../development/libraries/haskell/X11 { + inherit cabal; + inherit (pkgs.xlibs) libX11 libXinerama libXext; + xineramaSupport = true; + }; + + vty = import ../development/libraries/haskell/vty { + inherit cabal; + }; + + zlib = import ../development/libraries/haskell/zlib { + inherit cabal zlib; + }; + + + # Compilers. + + ehc = import ../development/compilers/ehc { + inherit ghc; + inherit (pkgs) fetchsvn stdenv coreutils m4 libtool uulib uuagc llvm; + }; + + + # Development tools. + + alex = import ../development/tools/parsing/alex { + inherit cabal; + inherit (pkgs) perl; + }; + + # old version of haddock, still more stable than 2.0 + haddock09 = import ../development/tools/documentation/haddock/haddock-0.9.nix { + inherit cabal; + }; + + # does not compile with ghc-6.8.3 + haddock210 = pkgs.stdenv.lib.lowPrio (import ../development/tools/documentation/haddock/haddock-2.1.0.nix { + inherit cabal; + }); + + happy = import ../development/tools/parsing/happy/happy-1.17.nix { + inherit cabal; + inherit (pkgs) perl; + }; + + + # Applications. + + xmobar = import ../applications/misc/xmobar { + inherit cabal; + inherit (pkgs) X11; + }; + + xmonad = import ../applications/window-managers/xmonad { + inherit cabal X11; + inherit (pkgs.xlibs) xmessage; + }; + + xmonadContrib = import ../applications/window-managers/xmonad/xmonad-contrib.nix { + inherit cabal xmonad X11; + }; + +}