diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 7e04cf20fe7..9c3a804a360 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -470,7 +470,7 @@ Additional file types can be supported by setting the
The configure phase The configure phase prepares the source tree for building. The -default unpackPhase runs +default configurePhase runs ./configure (typically an Autoconf-generated script) if it exists. diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix index 62b0059c7ac..dd7cf957ec5 100644 --- a/pkgs/applications/misc/hello/ex-2/default.nix +++ b/pkgs/applications/misc/hello/ex-2/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "hello-2.6"; + name = "hello-2.7"; x = 108; src = fetchurl { url = "mirror://gnu/hello/${name}.tar.gz"; - sha256 = "1h6fjkkwr7kxv0rl5l61ya0b49imzfaspy7jk9jas1fil31sjykl"; + sha256 = "1h17p5lgg47lbr2cnp4qqkr0q0f0rpffyzmvs7bvc6vdrxdknngx"; }; doCheck = true; diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix index 3812f7edd97..25cdd1f1646 100644 --- a/pkgs/applications/misc/taskjuggler/default.nix +++ b/pkgs/applications/misc/taskjuggler/default.nix @@ -1,21 +1,23 @@ {stdenv, fetchurl, -zlib, libpng, perl, expat, qt, +zlib, libpng, libjpeg, perl, expat, qt, libX11, libXext, libSM, libICE, withKde, kdelibs, kdebase }: stdenv.mkDerivation rec { - name = "taskjuggler-2.4.1"; + name = "taskjuggler-2.4.3"; src = fetchurl { url = "http://www.taskjuggler.org/download/${name}.tar.bz2"; - md5 = "18e0cec8b2ec69220ae7c9a790c16819"; + sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl"; }; buildInputs = - [zlib libpng libX11 libXext libSM libICE perl expat] + [zlib libpng libX11 libXext libSM libICE perl expat libjpeg] ++ (if withKde then [kdelibs] else []) ; + patches = [ ./timezone-glibc.patch ]; + preConfigure = '' for i in $(grep -R "/bin/bash" . | sed 's/:.*//'); do substituteInPlace $i --replace /bin/bash $(type -Pp bash) @@ -34,6 +36,14 @@ stdenv.mkDerivation rec { for i in Examples/FirstProject/AccountingSoftware.tjp; do substituteInPlace $i --replace "icalreport" "# icalreport" done + + for i in TestSuite/testdir TestSuite/createrefs \ + TestSuite/Scheduler/Correct/Expression.sh; do + substituteInPlace $i --replace '/bin/rm' 'rm' + done + + # Some tests require writing at $HOME + HOME=$TMPDIR ''; configureFlags = " @@ -41,7 +51,7 @@ stdenv.mkDerivation rec { --x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-qt-dir=${qt} - --with-kde-support=${if withKde then "yes" else "no"} + --with-kde-support=${if withKde then "yes" else "no"} --with-ical-support=${if withKde then "yes" else "no"} "; preInstall = '' diff --git a/pkgs/applications/misc/taskjuggler/timezone-glibc.patch b/pkgs/applications/misc/taskjuggler/timezone-glibc.patch new file mode 100644 index 00000000000..f599e8a1730 --- /dev/null +++ b/pkgs/applications/misc/taskjuggler/timezone-glibc.patch @@ -0,0 +1,48 @@ +From the discussion in http://groups.google.com/group/taskjuggler-users/browse_thread/thread/f65a3efd4dcae2fc/a44c711a9d28ebee?show_docid=a44c711a9d28ebee + +From: Chris Schlaeger +Date: Sat, 27 Feb 2010 06:33:35 +0000 (+0100) +Subject: Try to fix time zone check for glibc 2.11. +X-Git-Url: http://www.taskjuggler.org/cgi-bin/gitweb.cgi?p=taskjuggler.git;a=commitdiff_plain;h=2382ed54f90c3c899badb3f56aaa2b3b5dba361e;hp=c666c5068312fec7db75e17d1c567d94127d1dda + +Try to fix time zone check for glibc 2.11. + +Reported-by: Lee +--- + +diff --git a/taskjuggler/Utility.cpp b/taskjuggler/Utility.cpp +index 5e2bf21..9b7fce2 100644 +--- a/taskjuggler/Utility.cpp ++++ b/taskjuggler/Utility.cpp +@@ -206,16 +206,28 @@ setTimezone(const char* tZone) + + /* To validate the tZone value we call tzset(). It will convert the zone + * into a three-letter acronym in case the tZone value is good. If not, it +- * will just copy the wrong value to tzname[0] (glibc < 2.5) or fall back +- * to UTC. */ ++ * will ++ * - copy the wrong value to tzname[0] (glibc < 2.5) ++ * - or fall back to UTC (glibc >= 2.5 && < 2.11) ++ * - copy the part before the '/' to tzname[0] (glibc >= 2.11). ++ */ + tzset(); ++ char* region = new(char[strlen(tZone) + 1]); ++ region[0] = 0; ++ if (strchr(tZone, '/')) ++ { ++ strcpy(region, tZone); ++ *strchr(region, '/') = 0; ++ } + if (timezone2tz(tZone) == 0 && +- (strcmp(tzname[0], tZone) == 0 || ++ (strcmp(tzname[0], tZone) == 0 || strcmp(tzname[0], region) == 0 || + (strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0))) + { + UtilityError = QString(i18n("Illegal timezone '%1'")).arg(tZone); ++ delete region; + return false; + } ++ delete region; + + if (!LtHashTab) + return true; diff --git a/pkgs/applications/networking/browsers/firefox/4.0.nix b/pkgs/applications/networking/browsers/firefox/4.0.nix index 96fe1f91cf5..f9aae02c32f 100644 --- a/pkgs/applications/networking/browsers/firefox/4.0.nix +++ b/pkgs/applications/networking/browsers/firefox/4.0.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL , libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify -, libvpx, yasm, mesa, wirelesstools +, libvpx, yasm, mesa , # If you want the resulting program to call itself "Firefox" instead # of "Shiretoko" or whatever, enable this option. However, those @@ -25,6 +25,7 @@ rec { sha1 = "403da9dd65662e5c4dd34299214e04cb6f80575e"; }; + commonConfigureFlags = [ "--enable-optimize" "--disable-debug" @@ -33,13 +34,18 @@ rec { "--with-system-zlib" "--with-system-bz2" "--with-system-nspr" - #"--with-system-nss" + # "--with-system-nss" # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support" - "--enable-system-cairo" - #"--enable-system-sqlite" # <-- this seems to be discouraged + # Disabled system Cairo for now because it causes gradients in tabs etc. to be missing. + # "--enable-system-cairo" + # Compiling with the Nixpkgs SQLite gives: + # "configure: error: System SQLite library is not compiled with SQLITE_SECURE_DELETE." + # "--enable-system-sqlite" "--disable-crashreporter" "--disable-tests" "--disable-necko-wifi" # maybe we want to enable this at some point + "--disable-installer" + "--disable-updater" ]; @@ -53,7 +59,7 @@ rec { python dbus dbus_glib pango freetype fontconfig xlibs.libXi xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file alsaLib nspr /* nss */ libnotify xlibs.pixman libvpx yasm mesa - wirelesstools xlibs.libXScrnSaver xlibs.scrnsaverproto + xlibs.libXScrnSaver xlibs.scrnsaverproto xlibs.libXext xlibs.xextproto ]; @@ -64,18 +70,20 @@ rec { enableParallelBuilding = true; - # !!! Temporary hack. - preBuild = '' - export NIX_ENFORCE_PURITY= - ''; - # Hack to work around make's idea of -lbz2 dependency - preConfigure = '' - find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ - stdenv.lib.concatStringsSep ":" - (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) - }' ';' - ''; + preConfigure = + '' + find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ + stdenv.lib.concatStringsSep ":" + (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) + }' ';' + ''; + + # !!! Temporary hack. + preBuild = + '' + export NIX_ENFORCE_PURITY= + ''; installFlags = "SKIP_GRE_REGISTRATION=1"; @@ -120,7 +128,7 @@ rec { buildInputs = [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify - xlibs.pixman libvpx yasm mesa wirelesstools + xlibs.pixman libvpx yasm mesa ]; propagatedBuildInputs = [xulrunner]; @@ -133,24 +141,19 @@ rec { ++ commonConfigureFlags ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding"; - postInstall = '' - libDir=$(cd $out/lib && ls -d firefox-[0-9]*) - test -n "$libDir" - - ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner - - # Register extensions etc. !!! is this needed anymore? - echo "running firefox -register..." - $out/bin/firefox -register - ''; # */ - # Hack to work around make's idea of -lbz2 dependency - preConfigure = '' - find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ - stdenv.lib.concatStringsSep ":" - (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) - }' ';' - ''; + preConfigure = + '' + find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ + stdenv.lib.concatStringsSep ":" + (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) + }' ';' + ''; + + postInstall = + '' + ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner + ''; # */ meta = { description = "Mozilla Firefox - the browser, reloaded"; diff --git a/pkgs/applications/networking/browsers/firefox/binary.nix b/pkgs/applications/networking/browsers/firefox/binary.nix deleted file mode 100644 index 73e002435b8..00000000000 --- a/pkgs/applications/networking/browsers/firefox/binary.nix +++ /dev/null @@ -1,55 +0,0 @@ -args: with args; - -assert stdenv.system == "i686-linux"; - -stdenv.mkDerivation { - name = "firefox-3b1"; - - src = - fetchurl { - url = ftp://ftp.mozilla.org/pub/firefox/releases/3.0b1/linux-i686/en-US/firefox-3.0b1.tar.bz2; - sha256 = "1cpcc5b07zdqyd5kiwhb4dqhy2mzbf97plsglcp6bc9054cmsylk"; - }; - buildInputs = [ - pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo - python curl coreutils atk pango glib libX11 libXrender - freetype fontconfig libXft libXt - ]; - - buildPhase = " - additionalRpath=''; - for i in \$buildInputs ${stdenv.glibc} ${stdenv.gcc.gcc}; do - additionalRpath=\$additionalRpath:\$i/lib; - done - for i in firefox-bin ; do - oldrpath=$(patchelf --print-rpath \$i) - patchelf --set-rpath \$oldrpath\$additionalRpath \$i - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 \$i - done - "; - - installPhase = " - export dontPatchELF=1; - mkdir -p \$out - cp -r . \$out/firefox - mkdir -p \$out/bin - ln -s \$out/firefox/firefox \$out/bin/firefox - - sed -e 's@moz_libdir=.*@moz_libdir='\$out'/firefox/@' -i \$out/bin/firefox - sed -e 's@moz_libdir=.*@&\\nexport PATH=\$PATH:${coreutils}/bin@' -i \$out/bin/firefox - sed -e 's@`/bin/pwd@`${coreutils}/bin/pwd@' -i \$out/bin/firefox - sed -e 's@`/bin/ls@`${coreutils}/bin/ls@' -i \$out/bin/firefox - - strip -S \$out/firefox/*.so || true - - echo \"running firefox -register...\" - \$out/firefox/firefox-bin -register || false - "; - - meta = { - description = "Mozilla Firefox - the browser, reloaded"; - }; - - passthru = {inherit gtk;}; -} - diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix index 0abc5420338..406e3b9a3d3 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix @@ -52,9 +52,9 @@ let url = http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_32bit_debug_linux_092710.tar.gz; sha256 = "11w3mxa39l4mnlsqzlwbdh1sald549afyqbx2kbid7in5qzamlcc"; } else { - version = "10.2.152.27"; + version = "10.2.153.1"; url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz; - sha256 = "1xfa0m1h02lvl5an225z4n2l4rv4s35x7a4w3rc413jbggbd0f6k"; + sha256 = "1ydax5bvxdz4r0c0l4knmnmixap2q2b78kfaa2zpz4i3y1n9z22p"; } else throw "flashplayer is not supported on this platform"; diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index 70e335ea649..651ac6b26b0 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -2,7 +2,7 @@ , lua, pcre, sqlite, perl, pkgconfig }: let - version = "0.99.1"; + version = "1.0"; perlVersion = (builtins.parseDrvName perl.name).version; in @@ -12,8 +12,8 @@ stdenv.mkDerivation rec { name = "monotone-${version}"; src = fetchurl { - url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz"; - sha256 = "189h5f6gqd4ng0qmzi3xwnj17nnpxm2vzras216ar6b5yc9bnki0"; + url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.bz2"; + sha256 = "5c530bc4652b2c08b5291659f0c130618a14780f075f981e947952dcaefc31dc"; }; buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig]; diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix index c3f7d384845..097335889b5 100644 --- a/pkgs/build-support/builder-defs/builder-defs.nix +++ b/pkgs/build-support/builder-defs/builder-defs.nix @@ -384,7 +384,7 @@ let inherit (builtins) head tail trace; in echo '${toString (attrByPath ["propagatedBuildInputs"] [] args)}' >\$out/nix-support/propagated-build-inputs ") ["minInit" "defEnsureDir"]; - cmakeFlags = ""; + cmakeFlags = "-DCMAKE_SKIP_BUILD_RPATH=ON"; doCmake = fullDepEntry ('' mkdir build diff --git a/pkgs/development/compilers/gcc-4.4/update-gcc.sh b/pkgs/development/compilers/gcc-4.4/update-gcc.sh index c93035296fc..6b0bbb99330 100755 --- a/pkgs/development/compilers/gcc-4.4/update-gcc.sh +++ b/pkgs/development/compilers/gcc-4.4/update-gcc.sh @@ -21,28 +21,32 @@ options["g++"]="langCC" options["fortran"]="langFortran" options["java"]="langJava" options["ada"]="langAda" +options["go"]="langGo" cat > "$out"<&1 | grep -E '^(hash|path) is')" - path="$(echo $path_and_hash | sed -e's/^.*path is \([^ ]\+\).*$/\1/g')" - hash="$(echo $path_and_hash | sed -e's/^.*hash is \([^ ]\+\).*$/\1/g')" + rm -f "${file}" - rm -f "${url}.sig" + wget "$url" + hash="$(nix-hash --flat --type sha256 "$file")" + path="$(nix-store --add-fixed sha256 "$file")" + + rm -f "${file}" "${file}.sig" wget "${url}.sig" - gpg --verify "${file}.sig" "${path}" + gpg --verify "${file}.sig" "${path}" || gpg2 --verify "${file}.sig" "${path}" rm "${file}.sig" cat >> "$out" < bison != null && flex != null; +assert langJava -> zip != null && unzip != null + && zlib != null && boehmgc != null + && perl != null; # for `--enable-java-home' +assert langAda -> gnatboot != null; +assert langVhdl -> gnat != null; + +# LTO needs libelf and zlib. +assert libelf != null -> zlib != null; + +# Cannot use both cloog and cloog-ppl +assert cloog != null -> cloogppl == null; + +with stdenv.lib; +with builtins; + +let version = "4.6.0"; + javaEcj = fetchurl { + # The `$(top_srcdir)/ecj.jar' file is automatically picked up at + # `configure' time. + + # XXX: Eventually we might want to take it from upstream. + url = "ftp://sourceware.org/pub/java/ecj-4.3.jar"; + sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx"; + }; + + # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a + # binary distribution here to allow the whole chain to be bootstrapped. + javaAntlr = fetchurl { + url = http://www.antlr.org/download/antlr-3.1.3.jar; + sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09"; + }; + + xlibs = [ + libX11 libXt libSM libICE libXtst libXrender libXrandr libXi + xproto renderproto xextproto inputproto randrproto + ]; + + javaAwtGtk = langJava && gtk != null; + + /* Cross-gcc settings */ + gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross; + gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross; + gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross; + withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; + withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; + withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; + crossMingw = (cross != null && cross.libc == "msvcrt"); + + crossConfigureFlags = + "--target=${cross.config}" + + withArch + + withCpu + + withAbi + + (if (crossMingw && crossStageStatic) then + " --with-headers=${libcCross}/include" + + " --with-gcc" + + " --with-gnu-as" + + " --with-gnu-ld" + + " --with-gnu-ld" + + " --disable-shared" + + " --disable-nls" + + " --disable-debug" + + " --enable-sjlj-exceptions" + + " --enable-threads=win32" + + " --disable-win32-registry" + else if crossStageStatic then + " --disable-libssp --disable-nls" + + " --without-headers" + + " --disable-threads " + + " --disable-libmudflap " + + " --disable-libgomp " + + " --disable-libquadmath" + + " --disable-shared" + + " --disable-decimal-float" # libdecnumber requires libc + else + " --with-headers=${libcCross}/include" + + " --enable-__cxa_atexit" + + " --enable-long-long" + + (if crossMingw then + " --enable-threads=win32" + + " --enable-sjlj-exceptions" + + " --enable-hash-synchronization" + + " --enable-version-specific-runtime-libs" + + " --disable-libssp" + + " --disable-nls" + + " --with-dwarf2" + else + " --enable-threads=posix" + + " --enable-nls" + + " --disable-decimal-float") # No final libdecnumber (it may work only in 386) + ); + stageNameAddon = if (crossStageStatic) then "-stage-static" else + "-stage-final"; + crossNameAddon = if (cross != null) then "-${cross.config}" + stageNameAddon else ""; + +in + +# We need all these X libraries when building AWT with GTK+. +assert gtk != null -> (filter (x: x == null) xlibs) == []; + +stdenv.mkDerivation ({ + name = "${name}-${version}" + crossNameAddon; + + builder = ./builder.sh; + + src = (import ./sources.nix) { + inherit fetchurl optional version; + inherit langC langCC langFortran langJava langAda langGo; + }; + + patches = + [ ] + ++ optional (cross != null) ./libstdc++-target.patch + ++ optional noSysDirs ./no-sys-dirs.patch + # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its + # target libraries and tools. + ++ optional langAda ./gnat-cflags.patch + ++ optional langVhdl ./ghdl-ortho-cflags.patch + ; + + postPatch = + if (stdenv.system == "i586-pc-gnu" + || (cross != null && cross.config == "i586-pc-gnu" + && libcCross != null)) + then + # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not + # in glibc, so add the right `-I' flags to the default spec string. + let + libc = if cross != null then libcCross else stdenv.glibc; + gnu_h = "gcc/config/gnu.h"; + i386_gnu_h = "gcc/config/i386/gnu.h"; + extraCPPDeps = + libc.propagatedBuildInputs + ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross + ++ stdenv.lib.optional (libpthread != null) libpthread; + extraCPPSpec = + concatStrings (intersperse " " + (map (x: "-I${x}/include") extraCPPDeps)); + extraLibSpec = + if libpthreadCross != null + then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" + else "-L${libpthread}/lib"; + in + '' echo "augmenting \`CPP_SPEC' in \`${i386_gnu_h}' with \`${extraCPPSpec}'..." + sed -i "${i386_gnu_h}" \ + -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' + + echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." + sed -i "${gnu_h}" \ + -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' + '' + else if cross != null || stdenv.gcc.libc != null then + # On NixOS, use the right path to the dynamic linker instead of + # `/lib/ld*.so'. + let + libc = if (cross != null && libcCross != null) then libcCross else stdenv.gcc.libc; + in + '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..." + for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h + do + grep -q LIBC_DYNAMIC_LINKER "$header" || continue + echo " fixing \`$header'..." + sed -i "$header" \ + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g' + done + '' + else null; + + inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic + libcCross crossMingw; + + buildNativeInputs = [ texinfo which ] + ++ optional (perl != null) perl; + + buildInputs = [ gmp mpfr mpc libelf gettext ] + ++ (optional (ppl != null) ppl) + ++ (optional (cloogppl != null) cloogppl) + ++ (optional (cloog != null) cloog) + ++ (optionals langTreelang [bison flex]) + ++ (optional (zlib != null) zlib) + ++ (optional (boehmgc != null) boehmgc) + ++ (optionals langJava [zip unzip]) + ++ (optionals javaAwtGtk [gtk pkgconfig libart_lgpl] ++ xlibs) + ++ (optionals (cross != null) [binutilsCross]) + ++ (optionals langAda [gnatboot]) + ++ (optionals langVhdl [gnat]) + ; + + configureFlagsArray = stdenv.lib.optionals + (ppl != null && ppl.dontDisableStatic == true) + [ "--with-host-libstdcxx=-lstdc++ -lgcc_s" + "--with-stage1-libs=-lstdc++ -lgcc_s" ]; + + configureFlags = " + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if ppl != null then "--with-ppl=${ppl}" else ""} + ${if cloogppl != null then "--with-cloog=${cloogppl}" else ""} + ${if cloog != null then + "--with-cloog=${cloog} --enable-cloog-backend=isl" + else ""} + ${if langJava then + "--with-ecj-jar=${javaEcj} " + + + # Follow Sun's layout for the convenience of IcedTea/OpenJDK. See + # . + "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre " + else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} + --with-gmp=${gmp} + --with-mpfr=${mpfr} + --with-mpc=${mpc} + ${if (libelf != null) then "--with-libelf=${libelf}" else ""} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langTreelang "treelang" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ) + ) + } + ${ # Trick that should be taken out once we have a mips64-linux not loongson2f + if cross == null && stdenv.system == "mips64-linux" then "--with-arch=loongson2f" else ""} + ${if langAda then " --enable-libada" else ""} + ${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + "; + + targetConfig = if (cross != null) then cross.config else null; + + installTargets = + if stripped + then "install-strip" + else "install"; + + crossAttrs = { + AR = "${stdenv.cross.config}-ar"; + LD = "${stdenv.cross.config}-ld"; + CC = "${stdenv.cross.config}-gcc"; + CXX = "${stdenv.cross.config}-gcc"; + AR_FOR_TARGET = "${stdenv.cross.config}-ar"; + LD_FOR_TARGET = "${stdenv.cross.config}-ld"; + CC_FOR_TARGET = "${stdenv.cross.config}-gcc"; + NM_FOR_TARGET = "${stdenv.cross.config}-nm"; + CXX_FOR_TARGET = "${stdenv.cross.config}-g++"; + # If we are making a cross compiler, cross != null + NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else ""; + dontStrip = true; + configureFlags = '' + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if ppl != null then "--with-ppl=${ppl.hostDrv}" else ""} + ${if cloogppl != null then "--with-cloog=${cloogppl.hostDrv}" else ""} + ${if cloog != null then "--with-cloog=${cloog.hostDrv} --enable-cloog-backend=isl" else ""} + ${if langJava then "--with-ecj-jar=${javaEcj.hostDrv}" else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.hostDrv}" else ""} + --with-gmp=${gmp.hostDrv} + --with-mpfr=${mpfr.hostDrv} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langTreelang "treelang" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ) + ) + } + ${if langAda then " --enable-libada" else ""} + ${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + --target=${stdenv.cross.config} + ''; + }; + + + # 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. + + # Note: When building the Java AWT GTK+ peer, the build system doesn't + # honor `--with-gmp' et al., e.g., when building + # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just + # add them to $CPATH and $LIBRARY_PATH in this case. + # + # Likewise, the LTO code doesn't find zlib. + + CPATH = concatStrings + (intersperse ":" (map (x: x + "/include") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread + ++ optional (libpthreadCross != null) libpthreadCross + + # On GNU/Hurd glibc refers to Mach & Hurd + # headers. + ++ optionals (libcCross != null && + hasAttr "propagatedBuildInputs" libcCross) + libcCross.propagatedBuildInputs))); + + LIBRARY_PATH = concatStrings + (intersperse ":" (map (x: x + "/lib") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread))); + + EXTRA_TARGET_CFLAGS = + if cross != null && libcCross != null + then "-idirafter ${libcCross}/include" + else null; + + EXTRA_TARGET_LDFLAGS = + if cross != null && libcCross != null + then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + + (optionalString (libpthreadCross != null) + " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") + else null; + + passthru = { inherit langC langCC langAda langFortran langTreelang langVhdl + langGo enableMultilib version; }; + + enableParallelBuilding = true; + + meta = { + homepage = http://gcc.gnu.org/; + license = "GPLv3+"; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}" + + (if stripped then "" else " (with debugging info)"); + + longDescription = '' + The GNU Compiler Collection includes compiler front ends for C, C++, + Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well + as libraries for these languages (libstdc++, libgcj, libgomp,...). + + GCC development is a part of the GNU Project, aiming to improve the + compiler used in the GNU system including the GNU/Linux variant. + ''; + + maintainers = [ + stdenv.lib.maintainers.ludo + stdenv.lib.maintainers.viric + stdenv.lib.maintainers.shlevy + ]; + + # Volunteers needed for the {Cyg,Dar}win ports of *PPL. + # gnatboot is not available out of linux platforms, so we disable the darwin build + # for the gnat (ada compiler). + platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false) [ "i686-darwin" ]; + }; +} + +// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { + makeFlags = [ "all-gcc" "all-target-libgcc" ]; + installTargets = "install-gcc install-target-libgcc"; +} + +// optionalAttrs (!stripped) { dontStrip = true; NIX_STRIP_DEBUG = false; } + +// optionalAttrs langVhdl rec { + name = "ghdl-0.29"; + + ghdlSrc = fetchurl { + url = "http://ghdl.free.fr/ghdl-0.29.tar.bz2"; + sha256 = "15mlinr1lwljwll9ampzcfcrk9bk0qpdks1kxlvb70xf9zhh2jva"; + }; + + # Ghdl has some timestamps checks, storing file timestamps in '.cf' files. + # As we will change the timestamps to 1970-01-01 00:00:01, we also set the + # content of that .cf to that value. This way ghdl does not complain on + # the installed object files from the basic libraries (ieee, ...) + postInstallGhdl = '' + pushd $out + find . -name "*.cf" -exec \ + sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \; + popd + ''; + + postUnpack = '' + tar xvf ${ghdlSrc} + mv ghdl-*/vhdl gcc*/gcc + rm -Rf ghdl-* + ''; + + meta = { + homepage = "http://ghdl.free.fr/"; + license = "GPLv2+"; + description = "Complete VHDL simulator, using the GCC technology (gcc ${version})"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; + +}) diff --git a/pkgs/development/compilers/gcc-4.6/ghdl-ortho-cflags.patch b/pkgs/development/compilers/gcc-4.6/ghdl-ortho-cflags.patch new file mode 100644 index 00000000000..901534591c8 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/ghdl-ortho-cflags.patch @@ -0,0 +1,111 @@ +diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in +index 8f481df..681ac59 100644 +--- a/gcc/vhdl/Make-lang.in ++++ b/gcc/vhdl/Make-lang.in +@@ -96,7 +96,7 @@ AGCC_GCCOBJ_DIR=../ + AGCC_INC_FLAGS=-I$(AGCC_GCCOBJ_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/include \ + -I$(AGCC_GCCSRC_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/gcc/config \ + -I$(AGCC_GCCSRC_DIR)/libcpp/include +-AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) ++AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) $(CFLAGS) $(INCLUDES) + + AGCC_LOCAL_OBJS=ortho-lang.o + +@@ -140,7 +140,7 @@ ghdl$(exeext): force + + # Ghdl libraries. + ghdllib: ghdl$(exeext) $(GCC_PASSES) force +- $(MAKE_IN_VHDL) GRT_FLAGS="-O -g" ghdllib ++ $(MAKE_IN_VHDL) GRT_FLAGS="-O -g $(CFLAGS)" ghdllib + + # Build hooks: + +diff --git a/gcc/vhdl/Makefile.in b/gcc/vhdl/Makefile.in +index d754c6c..07abc4a 100644 +--- a/gcc/vhdl/Makefile.in ++++ b/gcc/vhdl/Makefile.in +@@ -80,7 +80,8 @@ T_CPPFLAGS = + X_ADAFLAGS = + T_ADAFLAGS = + +-ADAC = $(CC) ++# Never use the bootstrapped compiler, as it may not be built for ada ++ADAC = gcc + + ECHO = echo + CHMOD = chmod +diff --git a/gcc/vhdl/ortho-lang.c b/gcc/vhdl/ortho-lang.c +index 84aeb92..8eddd42 100644 +--- a/gcc/vhdl/ortho-lang.c ++++ b/gcc/vhdl/ortho-lang.c +@@ -16,6 +16,7 @@ + #include "options.h" + #include "real.h" +-#include "tree-gimple.h" ++#include "gimple.h" ++#include "tree.h" + #include "function.h" + #include "cgraph.h" + #include "target.h" +@@ -680,38 +681,10 @@ type_for_mode (enum machine_mode mode, int unsignedp) + + const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER; + +-/* Tree code classes. */ +- +-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE, +- +-const enum tree_code_class tree_code_type[] = { +-#include "tree.def" +- 'x' +-}; +-#undef DEFTREECODE +- +-/* Table indexed by tree code giving number of expression +- operands beyond the fixed part of the node structure. +- Not used for types or decls. */ +- +-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH, +- +-const unsigned char tree_code_length[] = { +-#include "tree.def" +- 0 +-}; +-#undef DEFTREECODE +- +-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) NAME, +-const char * const tree_code_name[] = { +-#include "tree.def" +- "@@dummy" +-}; +-#undef DEFTREECODE + + union lang_tree_node + GTY((desc ("0"), +- chain_next ("(union lang_tree_node *) GENERIC_NEXT (&%h.generic)"))) ++ chain_next ("(union lang_tree_node *) TREE_CHAIN (&%h.generic)"))) + { + union tree_node GTY ((tag ("0"))) generic; + }; +@@ -1162,7 +1135,7 @@ new_access_type (tree dtype) + res = make_node (POINTER_TYPE); + TREE_TYPE (res) = NULL_TREE; + /* Seems necessary. */ +- TYPE_MODE (res) = Pmode; ++ SET_TYPE_MODE (res, Pmode); + layout_type (res); + return res; + } +diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in +index e201f64..f36fb97 100644 +--- a/gcc/vhdl/Make-lang.in ++++ b/gcc/vhdl/Make-lang.in +@@ -132,7 +132,7 @@ ghdl1$(exeext): $(AGCC_OBJS) $(AGCC_DEPS) force + -cargs $(CFLAGS) $(GHDL_ADAFLAGS) + $(GNATMAKE) -o $@ -aI$(srcdir)/vhdl -aOvhdl ortho_gcc-main \ + -bargs -E -cargs $(CFLAGS) $(GHDL_ADAFLAGS) \ +- -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) ++ -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) $(CLOOGLIBS) $(PPLLIBS) + + # The driver for ghdl. + ghdl$(exeext): force diff --git a/pkgs/development/compilers/gcc-4.6/gnat-cflags.patch b/pkgs/development/compilers/gcc-4.6/gnat-cflags.patch new file mode 100644 index 00000000000..bf2acf065e9 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/gnat-cflags.patch @@ -0,0 +1,33 @@ +diff --git a/libada/Makefile.in b/libada/Makefile.in +index f5057a0..337e0c6 100644 +--- a/libada/Makefile.in ++++ b/libada/Makefile.in +@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) + WARN_CFLAGS = @warn_cflags@ + + TARGET_LIBGCC2_CFLAGS= +-GNATLIBCFLAGS= -g -O2 ++GNATLIBCFLAGS= -g -O2 $(CFLAGS) + GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ + -DIN_RTS @have_getipinfo@ + +--- a/gcc/ada/gcc-interface/Makefile.in ++++ b/gcc/ada/gcc-interface/Makefile.in +@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata + SOME_ADAFLAGS =-gnata + FORCE_DEBUG_ADAFLAGS = -g + GNATLIBFLAGS = -gnatpg -nostdinc +-GNATLIBCFLAGS = -g -O2 ++GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET) + # Pretend that _Unwind_GetIPInfo is available for the target by default. This + # should be autodetected during the configuration of libada and passed down to + # here, but we need something for --disable-libada and hope for the best. +@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) + # Link flags used to build gnat tools. By default we prefer to statically + # link with libgcc to avoid a dependency on shared libgcc (which is tricky + # to deal with as it may conflict with the libgcc provided by the system). +-GCC_LINK_FLAGS=-static-libgcc ++GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET) + + # End of variables for you to override. + diff --git a/pkgs/development/compilers/gcc-4.6/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc-4.6/java-jvgenmain-link.patch new file mode 100644 index 00000000000..2612e8bfbbb --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/java-jvgenmain-link.patch @@ -0,0 +1,17 @@ +The `jvgenmain' executable must be linked against `vec.o', among others, +since it uses its vector API. + +--- gcc-4.3.3/gcc/java/Make-lang.in 2008-12-05 00:00:19.000000000 +0100 ++++ gcc-4.3.3/gcc/java/Make-lang.in 2009-07-03 16:11:41.000000000 +0200 +@@ -109,9 +109,9 @@ jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIB + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \ + $(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS) + +-jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) ++jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) $(BUILD_RTL) + rm -f $@ +- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(BUILD_RTL) $(LIBS) + + # + # Build hooks: diff --git a/pkgs/development/compilers/gcc-4.6/libstdc++-target.patch b/pkgs/development/compilers/gcc-4.6/libstdc++-target.patch new file mode 100644 index 00000000000..fb622b39580 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/libstdc++-target.patch @@ -0,0 +1,32 @@ +Patch to make the target libraries 'configure' scripts find the proper CPP. +I noticed that building the mingw32 cross compiler. +Looking at the build script for mingw in archlinux, I think that only nixos +needs this patch. I don't know why. +diff --git a/Makefile.in b/Makefile.in +index 93f66b6..d691917 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ ++ CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ +@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \ + RAW_CXX_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ +- CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + NORMAL_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ +- CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + # Where to find GMP + HOST_GMPLIBS = @gmplibs@ diff --git a/pkgs/development/compilers/gcc-4.6/no-sys-dirs.patch b/pkgs/development/compilers/gcc-4.6/no-sys-dirs.patch new file mode 100644 index 00000000000..8128fa87da5 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/no-sys-dirs.patch @@ -0,0 +1,54 @@ +diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c +--- gcc-4.3.1-orig/gcc/cppdefault.c 2007-07-26 10:37:01.000000000 +0200 ++++ gcc-4.3.1/gcc/cppdefault.c 2008-06-25 17:48:23.000000000 +0200 +@@ -41,6 +41,10 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++#undef LOCAL_INCLUDE_DIR ++#undef SYSTEM_INCLUDE_DIR ++#undef STANDARD_INCLUDE_DIR ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c +--- gcc-4.3.1-orig/gcc/gcc.c 2008-03-02 23:55:19.000000000 +0100 ++++ gcc-4.3.1/gcc/gcc.c 2008-06-25 17:52:53.000000000 +0200 +@@ -1478,10 +1478,10 @@ + /* Default prefixes to attach to command names. */ + + #ifndef STANDARD_STARTFILE_PREFIX_1 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_1 "" + #endif + #ifndef STANDARD_STARTFILE_PREFIX_2 +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "" + #endif + + #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ +--- gcc-4.3.1-orig/gcc/Makefile.in 2008-05-11 20:54:15.000000000 +0200 ++++ gcc-4.3.1/gcc/Makefile.in 2008-06-25 17:48:23.000000000 +0200 +@@ -378,7 +378,11 @@ + MD5_H = $(srcdir)/../include/md5.h + + # Default native SYSTEM_HEADER_DIR, to be overridden by targets. +-NATIVE_SYSTEM_HEADER_DIR = /usr/include ++# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent ++# `fixinc' from fixing header files in /usr/include. However, ++# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set ++# it to some dummy directory. ++NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY) + # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. + CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ + +@@ -3277,7 +3281,7 @@ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ + -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ +- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ ++ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ + -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ + -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ + -DPREFIX=\"$(prefix)/\" \ diff --git a/pkgs/development/compilers/gcc-4.6/sources.nix b/pkgs/development/compilers/gcc-4.6/sources.nix new file mode 100644 index 00000000000..8ef253575fa --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/sources.nix @@ -0,0 +1,31 @@ +/* Automatically generated by `update-gcc.sh', do not edit. + For GCC 4.6.0. */ +{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda, + langGo }: + +assert version == "4.6.0"; +optional /* langC */ true (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; + sha256 = "353191576de3720a643026262a5d198a7f2cf956b0e608a953571a0dcdb0cfc1"; +}) ++ +optional langCC (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; + sha256 = "c2e92fedde203bfd5c7af3e0736a537d166011601f09781f300ed8c07cdb453d"; +}) ++ +optional langFortran (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; + sha256 = "5612bb192b9b28537e043749d4080d7f56b3d68355d36bf0059f7d25432009ac"; +}) ++ +optional langJava (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; + sha256 = "6dd153b17cb48d7f68cd91415d5df0ea59c091919e73c6639d63bcbe69e2c897"; +}) ++ +optional langAda (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; + sha256 = "35a01ee245b06d2525205679be8187a154e546e85e166a0474edef6e8b3d40fc"; +}) ++ +optional langGo (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-go-${version}.tar.bz2"; + sha256 = "40fd5aef37a87ed1ebd1c4ae357bfae76c7351185be8dc79dbafe2b516ef9e35"; +}) ++ +[] diff --git a/pkgs/development/compilers/gcc-4.6/update-gcc.sh b/pkgs/development/compilers/gcc-4.6/update-gcc.sh new file mode 120000 index 00000000000..dd7bcd60c1b --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/update-gcc.sh @@ -0,0 +1 @@ +../gcc-4.4/update-gcc.sh \ No newline at end of file diff --git a/pkgs/development/compilers/ghc/7.0.3.nix b/pkgs/development/compilers/ghc/7.0.3.nix new file mode 100644 index 00000000000..210de944587 --- /dev/null +++ b/pkgs/development/compilers/ghc/7.0.3.nix @@ -0,0 +1,43 @@ +{stdenv, fetchurl, ghc, perl, gmp, ncurses, darwinInstallNameToolUtility}: + +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] ++ + (if stdenv.isDarwin then [darwinInstallNameToolUtility] else []); + + 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" + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + ''; + + configureFlags=[ + "--with-gcc=${stdenv.gcc}/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 + ]; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; + +} diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix new file mode 100644 index 00000000000..93af6d18b14 --- /dev/null +++ b/pkgs/development/libraries/cloog/default.nix @@ -0,0 +1,76 @@ +{ fetchurl, stdenv, gmp, isl, static ? false }: + +let + staticFlags = + assert static -> isl.dontDisableStatic == true; + if static then "--enable-static --disable-shared" else ""; + +in + +stdenv.mkDerivation rec { + name = "cloog-0.16.2"; + + src = fetchurl { + url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz"; + sha256 = "1w9n9lsq18k65fywwbbvhkgl917053w1kvqw0xhlwcma0v59m6mx"; + }; + + buildInputs = [ gmp ]; + + propagatedBuildInputs = [ isl ]; + + configureFlags = "--with-isl=system --with-isl-prefix=${isl}" + staticFlags; + + dontDisableStatic = if static then true else false; + + crossAttrs = { + configureFlags = "--with-isl=system --with-isl-prefix=${isl.hostDrv}" + staticFlags; + }; + + doCheck = true; + + meta = { + description = "CLooG, the Chunky Loop Generator"; + + longDescription = '' + CLooG is a free software library to generate code for scanning + Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that + reaches each integral point of one or more parameterized polyhedra. + CLooG has been originally written to solve the code generation problem + for optimizing compilers based on the polytope model. Nevertheless it + is used now in various area e.g., to build control automata for + high-level synthesis or to find the best polynomial approximation of a + function. CLooG may help in any situation where scanning polyhedra + matters. While the user has full control on generated code quality, + CLooG is designed to avoid control overhead and to produce a very + effective code. + ''; + + homepage = http://www.cloog.org/; + + license = "GPLv2+"; + + maintainers = [ stdenv.lib.maintainers.shlevy ]; + + /* Leads to an ICE on Cygwin: + + make[3]: Entering directory `/tmp/nix-build-9q5gw5m37q5l4f0kjfv9ar8fsc9plk27-ppl-0.10.2.drv-1/ppl-0.10.2/src' + /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c -o Box.lo Box.cc + libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c Box.cc -DDLL_EXPORT -DPIC -o .libs/Box.o + In file included from checked.defs.hh:595, + from Checked_Number.defs.hh:27, + from Coefficient.types.hh:15, + from Coefficient.defs.hh:26, + from Box.defs.hh:28, + from Box.cc:24: + checked.inlines.hh: In function `Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Checked::input_generic(Type&, std::istream&, Parma_Polyhedra_Library::Rounding_Dir)': + checked.inlines.hh:607: internal compiler error: in invert_truthvalue, at fold-const.c:2719 + Please submit a full bug report, + with preprocessed source if appropriate. + See for instructions. + make[3]: *** [Box.lo] Error 1 + + */ + platforms = stdenv.lib.platforms.allBut "i686-cygwin"; + }; +} diff --git a/pkgs/development/libraries/haskell/OneTuple/default.nix b/pkgs/development/libraries/haskell/OneTuple/default.nix new file mode 100644 index 00000000000..237000e23ea --- /dev/null +++ b/pkgs/development/libraries/haskell/OneTuple/default.nix @@ -0,0 +1,13 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "OneTuple"; + version = "0.2.1"; + sha256 = "1x52b68zh3k9lnps5s87kzan7dzvqp6mrwgayjq15w9dv6v78vsb"; + meta = { + description = "Singleton Tuple"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/PSQueue/default.nix b/pkgs/development/libraries/haskell/PSQueue/default.nix new file mode 100644 index 00000000000..7da7a50a2f1 --- /dev/null +++ b/pkgs/development/libraries/haskell/PSQueue/default.nix @@ -0,0 +1,12 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "PSQueue"; + version = "1.1"; + sha256 = "1k291bh8j5vpcrn6vycww2blwg7jxx9yrfmrqdanz48gs4d8gq58"; + meta = { + description = "Priority Search Queue implementation for Haskell"; + license = "BSD"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/attoparsec/default.nix b/pkgs/development/libraries/haskell/attoparsec/default.nix new file mode 100644 index 00000000000..8d3e53cd2ea --- /dev/null +++ b/pkgs/development/libraries/haskell/attoparsec/default.nix @@ -0,0 +1,12 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "attoparsec"; + version = "0.8.5.0"; + sha256 = "0rdhjqgbbasc1diqzjdb6a8s46kcpdw5yxq2vkg3y2z71zln0a31"; + meta = { + description = "Fast combinator parsing for bytestrings"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/attoparsec/enumerator.nix b/pkgs/development/libraries/haskell/attoparsec/enumerator.nix new file mode 100644 index 00000000000..95a06a09da5 --- /dev/null +++ b/pkgs/development/libraries/haskell/attoparsec/enumerator.nix @@ -0,0 +1,13 @@ +{cabal, attoparsec, enumerator}: + +cabal.mkDerivation (self : { + pname = "attoparsec-enumerator"; + version = "0.2.0.3"; + sha256 = "02v9cwq1jbn0179zd2cky4ix6ykrkd7cpw38c1x7zgy0pal42x4v"; + propagatedBuildInputs = [attoparsec enumerator]; + meta = { + description = "Converts an Attoparsec parser into an iteratee"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix new file mode 100644 index 00000000000..d636e68da12 --- /dev/null +++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix @@ -0,0 +1,12 @@ +{cabal, blazeBuilder, enumerator, transformers}: + +cabal.mkDerivation (self : { + pname = "blaze-builder-enumerator"; + version = "0.2.0.2"; + sha256 = "0as4mjh695jpxp9qfhpsxyr1448l0pk94sh5kk8sgxv5hfiy41k9"; + propagatedBuildInputs = [blazeBuilder enumerator transformers]; + meta = { + description = "Enumeratees for the incremental conversion of builders to bytestrings"; + license = "BSD3"; + }; +}) diff --git a/pkgs/development/libraries/haskell/bytestring-nums/default.nix b/pkgs/development/libraries/haskell/bytestring-nums/default.nix new file mode 100644 index 00000000000..b957f28130d --- /dev/null +++ b/pkgs/development/libraries/haskell/bytestring-nums/default.nix @@ -0,0 +1,12 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "bytestring-nums"; + version = "0.3.2"; + sha256 = "16d99xm692x88vx27w4g6iqi4sbi9il8c10r1zaqq2hqviv0k1wg"; + meta = { + description = "Parse numeric literals from ByteStrings"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/bytestring/default.nix b/pkgs/development/libraries/haskell/bytestring/default.nix deleted file mode 100644 index c694250a847..00000000000 --- a/pkgs/development/libraries/haskell/bytestring/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{cabal}: - -cabal.mkDerivation (self : { - pname = "bytestring"; - version = "0.9.1.4"; - name = self.fname; - sha256 = "00x620zkxhlmdxmb2icrq3a2wc6jichng6mn33xr2gsw102973xz"; - extraBuildInputs = []; - meta = { - description = "A time and space-efficient implementation of byte vectors using packed Word8 arrays [..]"; - }; -}) diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix new file mode 100644 index 00000000000..df6ef6811fd --- /dev/null +++ b/pkgs/development/libraries/haskell/directory-tree/default.nix @@ -0,0 +1,12 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "directory-tree"; + version = "0.10.0"; + sha256 = "08b0w9j55x6c06pri7yvv84n24inhpb4miybdnkyjkjy7r3yy7m4"; + meta = { + description = "A simple directory-like tree datatype, with useful IO functions"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix new file mode 100644 index 00000000000..8cd33a19325 --- /dev/null +++ b/pkgs/development/libraries/haskell/enumerator/default.nix @@ -0,0 +1,13 @@ +{cabal, text, transformers}: + +cabal.mkDerivation (self : { + pname = "enumerator"; + version = "0.4.9.1"; + sha256 = "1rnhapj5am1rv3dff2bkhch7ikpyhs18nay39h0805xl50dcyw99"; + propagatedBuildInputs = [text transformers]; + meta = { + description = "Reliable, high-performance processing with left-fold enumerators"; + license = "MIT"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index f0dc59b53c7..d8e8954e596 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -1,12 +1,14 @@ -{cabal, binary, blazeHtml, hamlet, mtl, network, pandoc, regexBase, - regexTDFA}: +{cabal, binary, blazeHtml, hamlet, hopenssl, mtl, network, pandoc, regexBase +, regexPCRE, snapCore, snapServer, strictConcurrency}: cabal.mkDerivation (self : { pname = "hakyll"; - version = "2.4.3"; - sha256 = "1n1hibwhg22l9p126d10zwhvaab46svcri2rkvd78f4vhmwpvkbs"; + version = "3.0.2.0"; + sha256 = "0d1kmvkbwygr9mxz7m8jiasrbj470j4hwsj8mmkdgdm9clxbi74k"; propagatedBuildInputs = - [binary blazeHtml hamlet mtl network pandoc regexBase regexTDFA]; + [ binary blazeHtml hamlet hopenssl mtl network pandoc regexBase + regexPCRE snapCore snapServer strictConcurrency + ]; meta = { description = "A simple static site generator library"; license = "BSD"; diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix index de8b5daf313..2025b38015f 100644 --- a/pkgs/development/libraries/haskell/hamlet/default.nix +++ b/pkgs/development/libraries/haskell/hamlet/default.nix @@ -1,11 +1,11 @@ -{cabal, blazeBuilder, failure, parsec, text}: +{cabal, blazeBuilder, blazeHtml, failure, parsec, text, jsonEnumerator, jsonTypes}: cabal.mkDerivation (self : { pname = "hamlet"; - version = "0.6.1.2"; - sha256 = "0aqrjdbqb99nz3snnsrgkd6bnaj1m3bdm8kj9agd3qgv8lv90knn"; + version = "0.7.3"; + sha256 = "1knapi8506kqm6pbl1qdr3vm579z2dn6q3h3ahzwbxqjafy7pnj9"; propagatedBuildInputs = - [blazeBuilder failure parsec text]; + [blazeBuilder blazeHtml failure parsec text jsonEnumerator jsonTypes]; meta = { description = "Haml-like template files that are compile-time checked"; license = "BSD"; diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix new file mode 100644 index 00000000000..33bc493b3cc --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix @@ -0,0 +1,32 @@ +{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, + haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix, + stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, + cabalInstall, alex, happy, haddock, ghc}: + +cabal.mkDerivation (self : { + pname = "haskell-platform"; + version = "2011.2.0.1"; + src = fetchurl { + url = "http://lambda.haskell.org/hp-tmp/2011.2.0.0/cabal/${self.pname}-2011.2.0.0.tar.gz"; + sha256 = "01ppv8jdyvbngml9vgvrvnani6fj1nbk8mqmrkd8c508l7q9g6vb"; + }; + cabalFile = fetchurl { + url = http://code.galois.com/darcs/haskell-platform/haskell-platform.cabal; + sha256 = "158a1g4ak9mm2q5ri4zdpmbvjgfkz7svxnkxlz8117zpnbs12i3d"; + }; + propagatedBuildInputs = [ + GLUT HTTP HUnit OpenGL QuickCheck cgi fgl + haskellSrc html network parallel parsec regexBase regexCompat regexPosix + stm syb deepseq text transformers mtl xhtml zlib + cabalInstall alex happy ghc haddock + ]; + preConfigure = '' + cp ${self.cabalFile} ${self.pname}.cabal + ''; + noHaddock = true; + meta = { + description = "Haskell Platform meta package"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/hopenssl/default.nix b/pkgs/development/libraries/haskell/hopenssl/default.nix new file mode 100644 index 00000000000..7251fe4303d --- /dev/null +++ b/pkgs/development/libraries/haskell/hopenssl/default.nix @@ -0,0 +1,14 @@ +{cabal, mtl, openssl}: + +cabal.mkDerivation (self : { + pname = "hopenssl"; + version = "1.6.1"; + sha256 = "12lmhpg7m2amqld95lpv6d2j3rfzgdbmz8jsgh2hjb5hx72l5fkm"; + propagatedBuildInputs = [mtl]; + extraBuildInputs = [openssl]; + meta = { + description = "FFI bindings to OpenSSL's EVP digest interface"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/jsonEnumerator/default.nix b/pkgs/development/libraries/haskell/jsonEnumerator/default.nix new file mode 100644 index 00000000000..4b01a25dcc3 --- /dev/null +++ b/pkgs/development/libraries/haskell/jsonEnumerator/default.nix @@ -0,0 +1,13 @@ +{cabal, blazeBuilder, blazeBuilderEnumerator, enumerator, jsonTypes, text, transformers}: + +cabal.mkDerivation (self : { + pname = "json-enumerator"; + version = "0.0.1.1"; + sha256 = "0k94x9vwwaprqbc8gay5l0vg6hjmjpjp852yncncb8kr0r344z7l"; + propagatedBuildInputs = + [blazeBuilder blazeBuilderEnumerator enumerator jsonTypes text transformers]; + meta = { + description = "Provides the ability to render JSON in a streaming manner using the enumerator package"; + license = "BSD3"; + }; +}) diff --git a/pkgs/development/libraries/haskell/jsonTypes/default.nix b/pkgs/development/libraries/haskell/jsonTypes/default.nix new file mode 100644 index 00000000000..69c21730c1f --- /dev/null +++ b/pkgs/development/libraries/haskell/jsonTypes/default.nix @@ -0,0 +1,12 @@ +{cabal, text}: + +cabal.mkDerivation (self : { + pname = "json-types"; + version = "0.1"; + sha256 = "088if9qv0didjyb6y1583viihjgc4nwr61qfjqdg9rzc2ya6vqdn"; + propagatedBuildInputs = [text]; + meta = { + description = "Basic types for representing JSON"; + license = "MIT"; + }; +}) diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix new file mode 100644 index 00000000000..30eb3dc1657 --- /dev/null +++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix @@ -0,0 +1,12 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "murmur-hash"; + version = "0.1.0.2"; + sha256 = "14amqkcz2dbjyjrsjblsnka8qymllbzjx5x3za58kwlcifnsq9jr"; + meta = { + description = "MurmurHash2 implementation for Haskell"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/network-bytestring/default.nix b/pkgs/development/libraries/haskell/network-bytestring/default.nix deleted file mode 100644 index baf7c9097e9..00000000000 --- a/pkgs/development/libraries/haskell/network-bytestring/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{cabal, bytestring, network}: - -cabal.mkDerivation (self : { - pname = "network-bytestring"; - version = "0.1.2.1"; - name = self.fname; - sha256 = "0l5gxwc5pg49qyxb1jy3kn9j66a6pg9frw4c7dn1mrpqicm155am"; - extraBuildInputs = [bytestring network]; - meta = { - description = "Fast, memory-efficient, low-level socket functions that use Data.ByteStrings instead of Strings"; - }; -}) diff --git a/pkgs/development/libraries/haskell/regex-pcre/default.nix b/pkgs/development/libraries/haskell/regex-pcre/default.nix new file mode 100644 index 00000000000..7b3629ae42f --- /dev/null +++ b/pkgs/development/libraries/haskell/regex-pcre/default.nix @@ -0,0 +1,13 @@ +{cabal, regexBase, pcre}: + +cabal.mkDerivation (self : { + pname = "regex-pcre"; + version = "0.94.2"; + sha256 = "0p4az8z4jlrcmmyz9bjf7n90hpg6n242vq4255w2dz5v29l822wn"; + propagatedBuildInputs = [regexBase]; + extraBuildInputs = [pcre]; + meta = { + description = "Replaces/Enhances Text.Regex"; + license = "BSD3"; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix new file mode 100644 index 00000000000..905af17b0e6 --- /dev/null +++ b/pkgs/development/libraries/haskell/snap/core.nix @@ -0,0 +1,17 @@ +{cabal, attoparsec, attoparsecEnumerator, MonadCatchIOTransformers, blazeBuilder +, bytestringNums, dlist, mtl, unixCompat, vector, zlib}: + +cabal.mkDerivation (self : { + pname = "snap-core"; + version = "0.4.1"; + sha256 = "0cc6qh8rnfdhv6s4clnb4avbxkvvj4dibbdg0vjbf75iafxvsg9f"; + propagatedBuildInputs = + [ attoparsec attoparsecEnumerator MonadCatchIOTransformers blazeBuilder + bytestringNums dlist mtl unixCompat vector zlib + ]; + meta = { + description = "Snap: A Haskell Web Framework (Core)"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix new file mode 100644 index 00000000000..b29bc6363ba --- /dev/null +++ b/pkgs/development/libraries/haskell/snap/server.nix @@ -0,0 +1,19 @@ +{cabal, attoparsec, attoparsecEnumerator, binary, blazeBuilder, blazeBuilderEnumerator +, bytestringNums, directoryTree, enumerator, MonadCatchIOTransformers, mtl, murmurHash +, network, PSQueue, snapCore, unixCompat, utf8String, vector, vectorAlgorithms, zlib}: + +cabal.mkDerivation (self : { + pname = "snap-server"; + version = "0.4.1"; + sha256 = "1xav58sk6f1capibkil9a834lxg7badcq3v8016azzzmvvhy9iq8"; + propagatedBuildInputs = + [ attoparsec attoparsecEnumerator binary blazeBuilder blazeBuilderEnumerator + bytestringNums directoryTree enumerator MonadCatchIOTransformers mtl murmurHash + network PSQueue snapCore unixCompat utf8String vector vectorAlgorithms zlib + ]; + meta = { + description = "Snap: A Haskell Web Framework (Server)"; + license = "BSD3"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/text/0.11.0.6.nix b/pkgs/development/libraries/haskell/text/0.11.0.6.nix new file mode 100644 index 00000000000..2775eae0760 --- /dev/null +++ b/pkgs/development/libraries/haskell/text/0.11.0.6.nix @@ -0,0 +1,14 @@ +{cabal, deepseq}: + +cabal.mkDerivation (self : { + pname = "text"; + version = "0.11.0.6"; # Haskell Platform 2011.2.0.1 + sha256 = "103l1c8jfwpddsqzwj9jqh89vay8ax1znxqgjqprv2fvr7s0zvkp"; + propagatedBuildInputs = [deepseq]; + meta = { + description = "An efficient package Unicode text type"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/tuple/default.nix b/pkgs/development/libraries/haskell/tuple/default.nix new file mode 100644 index 00000000000..dd7fd36089d --- /dev/null +++ b/pkgs/development/libraries/haskell/tuple/default.nix @@ -0,0 +1,14 @@ +{cabal, OneTuple}: + +cabal.mkDerivation (self : { + pname = "tuple"; + version = "0.2.0.1"; + sha256 = "1c4vf798rjwshnk04avyjp4rjzj8i9qx4yksv00m3rjy6psr57xg"; + propagatedBuildInputs = [OneTuple]; + meta = { + description = "Various functions on tuples"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix index b859ddd0ef5..c0d3940d318 100644 --- a/pkgs/development/libraries/haskell/unix-compat/default.nix +++ b/pkgs/development/libraries/haskell/unix-compat/default.nix @@ -2,12 +2,11 @@ cabal.mkDerivation (self : { pname = "unix-compat"; - version = "0.1.2.1"; - sha256 = "553326e140f71f09cedeec5f74666171c2ad2b3d9ba4312da97da02cbf8a2e85"; + version = "0.2.1.1"; + sha256 = "11bh29rq3g4qqvxc72wbip85vc3m91lafa85086izpqkkpnl4pxh"; meta = { description = "Portable POSIX-compatibility layer"; license = "BSD"; - maintainers = [self.stdenv.lib.maintainers.andres]; }; }) diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix new file mode 100644 index 00000000000..b6f1d45b8fa --- /dev/null +++ b/pkgs/development/libraries/isl/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, gmp, static ? false}: + +let + version = "0.06"; + staticFlags = if static then " --enable-static --disable-shared" else ""; +in + +stdenv.mkDerivation { + name = "isl-${version}"; + + src = fetchurl { + url = "http://www.kotnet.org/~skimo/isl/isl-${version}.tar.bz2"; + sha256 = "0w1i1m94w0jkmm0bzlp08c4r97j7yp0d7crxf28524b9mgbg0mwk"; + }; + + buildInputs = [ gmp ]; + + dontDisableStatic = if static then true else false; + configureFlags = "--with-gmp-prefix=${gmp}" + staticFlags; + + meta = { + homepage = http://www.kotnet.org/~skimo/isl/; + license = "LGPLv2.1"; + description = "A library for manipulating sets and relations of integer points bounded by linear constraints."; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} + diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix new file mode 100644 index 00000000000..f692c14a6df --- /dev/null +++ b/pkgs/development/libraries/mygui/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl, unzip, ogre, cmake, ois, freetype, libuuid, boost}: + +stdenv.mkDerivation rec { + name = "mygui-3.0.1"; + + src = fetchurl { + url = mirror://sourceforge/my-gui/MyGUI_3.0.1_source.zip; + sha256 = "1n56kl8ykzgv4k2nm9317jg9b9x2qa3l9hamz11hzn1qqjn2z4ig"; + }; + + enableParallelBuilding = true; + + buildInputs = [ unzip ogre cmake ois freetype libuuid boost ]; + + meta = { + homepage = http://mygui.info/; + description = "Library for creating GUIs for games and 3D applications"; + license = "LGPLv3+"; + }; +} diff --git a/pkgs/development/libraries/mygui/svn.nix b/pkgs/development/libraries/mygui/svn.nix new file mode 100644 index 00000000000..cc20550802e --- /dev/null +++ b/pkgs/development/libraries/mygui/svn.nix @@ -0,0 +1,27 @@ +{stdenv, fetchsvn, unzip, ogre, cmake, ois, freetype, libuuid, boost}: + +stdenv.mkDerivation rec { + name = "mygui-svn-4141"; + + src = fetchsvn { + url = https://my-gui.svn.sourceforge.net/svnroot/my-gui/trunk; + rev = 4141; + sha256 = "0xfm4b16ksqd1cwq45kl01wi4pmj244dpn11xln8ns7wz0sffjwn"; + }; + + enableParallelBuilding = true; + + cmakeFlags = [ + "-DOGRE_LIB_DIR=${ogre}/lib" + "-DOGRE_INCLUDE_DIR=${ogre}/include/OGRE" + "-DOGRE_LIBRARIES=OgreMain" + ]; + + buildInputs = [ unzip ogre cmake ois freetype libuuid boost ]; + + meta = { + homepage = http://mygui.info/; + description = "Library for creating GUIs for games and 3D applications"; + license = "LGPLv3+"; + }; +} diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix index 107fc026119..6bf4abbb0ad 100644 --- a/pkgs/development/libraries/ogre/default.nix +++ b/pkgs/development/libraries/ogre/default.nix @@ -35,8 +35,10 @@ rec { inherit (sourceInfo) name version; inherit buildInputs; + doMyBuild = a.fullDepEntry ("make -j4") ["doCmake"]; + /* doConfigure should be removed if not needed */ - phaseNames = ["doCmake" "doMakeInstall"]; + phaseNames = ["doCmake" "doMyBuild" "doMakeInstall"]; meta = { description = "A 3D engine"; diff --git a/pkgs/development/libraries/ppl/0.11.nix b/pkgs/development/libraries/ppl/0.11.nix new file mode 100644 index 00000000000..25e14543038 --- /dev/null +++ b/pkgs/development/libraries/ppl/0.11.nix @@ -0,0 +1,50 @@ +{ fetchurl, stdenv, gmpxx, perl, gnum4, static ? false }: + +let + version = "0.11"; + staticFlags = if static then " --enable-static --disable-shared" else ""; +in + stdenv.mkDerivation rec { + name = "ppl-${version}"; + + src = fetchurl { + url = "mirror://gcc/infrastructure/ppl-${version}.tar.gz"; + sha256 = "0xqwyaj232gi0pgm6z2rihk6p8l1rngbbibnhmcrbq4jq550clrl"; + }; + + buildNativeInputs = [ perl gnum4 ]; + propagatedBuildInputs = [ gmpxx ]; + + dontDisableStatic = if static then true else false; + configureFlags = staticFlags; + + # Beware! It took ~6 hours to compile PPL and run its tests on a 1.2 GHz + # x86_64 box. Nevertheless, being a dependency of GCC, it probably ought + # to be tested. + doCheck = false; + + meta = { + description = "PPL: The Parma Polyhedra Library"; + + longDescription = '' + The Parma Polyhedra Library (PPL) provides numerical abstractions + especially targeted at applications in the field of analysis and + verification of complex systems. These abstractions include convex + polyhedra, defined as the intersection of a finite number of (open or + closed) halfspaces, each described by a linear inequality (strict or + non-strict) with rational coefficients; some special classes of + polyhedra shapes that offer interesting complexity/precision tradeoffs; + and grids which represent regularly spaced points that satisfy a set of + linear congruence relations. The library also supports finite + powersets and products of (any kind of) polyhedra and grids and a mixed + integer linear programming problem solver using an exact-arithmetic + version of the simplex algorithm. + ''; + + homepage = http://www.cs.unipr.it/ppl/; + + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; + } diff --git a/pkgs/development/tools/build-managers/jam/default.nix b/pkgs/development/tools/build-managers/jam/default.nix new file mode 100644 index 00000000000..d2a002a70cf --- /dev/null +++ b/pkgs/development/tools/build-managers/jam/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "jam-2.5"; + src = fetchurl { + url = ftp://ftp.perforce.com/jam/jam-2.5.tar; + sha256 = "04c6khd7gdkqkvx4h3nbz99lyz7waid4fd221hq5chcygyx1sj3i"; + }; + + installPhase = '' + ensureDir $out/bin + cp bin.linux/jam $out/bin + ''; + + meta = { + homepage = http://public.perforce.com/wiki/Jam; + license = "free"; + description = "Just Another Make"; + }; +} diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix new file mode 100644 index 00000000000..5a619f6c6c2 --- /dev/null +++ b/pkgs/games/rigsofrods/default.nix @@ -0,0 +1,45 @@ +{ fetchsvn, stdenv, wxGTK28, freeimage, cmake, zziplib, mesa, boost, pkgconfig, + libuuid, lua5, openal, ogre, ois, curl, gtk, pixman, mygui }: + +stdenv.mkDerivation rec { + version = "1780"; + name = "rigsofroads-svn-${version}"; + + src = fetchsvn { + url = https://rigsofrods.svn.sourceforge.net/svnroot/rigsofrods/trunk; + rev = version; + sha256 = "1i557jc79jpg79kg0gk5a7zsd2m42x89v9q83kzywrzzp1x5imp3"; + }; + + enableParallelBuilding = true; + + cmakeFlags = [ + "-DROR_USE_LUA=TRUE" "-DLUA_LIBRARIES=${lua5}/lib/liblua.a" + "-DROR_USE_CURL=TRUE" + "-DROR_USE_MYGUI=TRUE" + # "-DROR_USE_OPNEAL=TRUE" + # "-DROR_USE_MOFILEREADER=TRUE" + # "-DROR_USE_CAELUM=TRUE" + # "-DROR_USE_PAGED=TRUE" + # "-DROR_USE_ANGELSCRIPT=TRUE" + # "-DROR_USE_SOCKETW=TRUE" + ]; + + installPhase = '' + ensureDir $out/bin + cp ../bin/RoR ../bin/rorconfig $out/bin + ''; + + patches = [ ./wx.patch ]; + + buildInputs = [ wxGTK28 freeimage cmake zziplib mesa boost pkgconfig + libuuid lua5 openal ogre ois curl gtk mygui ]; + + meta = { + description = "3D simulator game where you can drive, fly and sail various vehicles"; + homepage = http://rigsofrods.sourceforge.net/; + license = "GPLv3"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/games/rigsofrods/wx.patch b/pkgs/games/rigsofrods/wx.patch new file mode 100644 index 00000000000..d5b8e27de7b --- /dev/null +++ b/pkgs/games/rigsofrods/wx.patch @@ -0,0 +1,13 @@ +diff --git a/source/configurator/configurator.cpp b/source/configurator/configurator.cpp +index c058820..5a4b316 100644 +--- a/source/configurator/configurator.cpp ++++ b/source/configurator/configurator.cpp +@@ -2155,7 +2155,7 @@ void MyDialog::OnsightrangesliderScroll(wxScrollEvent &e) + int v = sightRange->GetValue(); + if(v == sightRange->GetMax()) + { +- s = "Unlimited"; ++ s = _("Unlimited"); + } else + { + s.Printf(wxT("%i m"), v); diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix new file mode 100644 index 00000000000..2a6b239608f --- /dev/null +++ b/pkgs/games/speed-dreams/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, stdenv, mesa, freeglut, libX11, plib, openal, freealut, libXrandr, xproto, +libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, +libpng, zlib, bash, p7zip, SDL, enet, libjpeg, cmake}: + +stdenv.mkDerivation rec { + version = "2.0.0-a3-r3412"; + name = "speed-dreams-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/speed-dreams/2.0.0/${name}-src.tar.7z"; + sha256 = "0hn5fgn90wmd1xha1la133harx47qc647f4zj8hfdvd7wb3kpjab"; + }; + + unpackPhase = '' + 7z e -so ${src} | tar -x + cd */ + ''; + + buildInputs = [ mesa freeglut libX11 plib openal freealut libXrandr xproto + libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib bash + p7zip SDL enet libjpeg cmake]; + + installTargets = "install"; + + dontUseCmakeBuildDir=true; + + meta = { + description = "Car racing game - TORCS fork with more experimental approach"; + homepage = http://speed-dreams.sourceforge.net/; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric raskin]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix new file mode 100644 index 00000000000..ecc3c1a36fc --- /dev/null +++ b/pkgs/games/trigger/default.nix @@ -0,0 +1,43 @@ +{ fetchurl, stdenv, SDL, freealut, SDL_image, openal, physfs, zlib, mesa, jam }: + +stdenv.mkDerivation rec { + name = "trigger-0.5.2.1"; + + src = fetchurl { + url = "mirror://sourceforge/trigger-rally/${name}-src.tar.bz2"; + sha256 = "17sbw6j2z62w047fb8vlkabhq7s512r3a4pjd6402lpq09mpywhg"; + }; + + srcData = fetchurl { + url = "mirror://sourceforge/trigger-rally/trigger-0.5.2-data.tar.bz2"; + sha256 = "0sxfpn2vqzgv1dm66j75bmfc1kmnwrv1bb1yazmm803nnngk6zy9"; + }; + + buildInputs = [ SDL freealut SDL_image openal physfs zlib mesa jam ]; + + preConfigure = '' + configureFlags="$configureFlags --datadir=$out/share/trigger-0.5.2-data" + ''; + + # It has some problems installing the README file, so... out. + patchPhase = '' + sed -i /README/d Jamfile + ''; + + buildPhase = "jam"; + + installPhase = '' + jam install + ensureDir $out/share + pushd $out/share + tar xf $srcData + ''; + + meta = { + description = "Rally"; + homepage = http://trigger-rally.sourceforge.net/; + license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix index 247f39b18d5..dc221f37dd6 100644 --- a/pkgs/games/ultimatestunts/default.nix +++ b/pkgs/games/ultimatestunts/default.nix @@ -1,13 +1,14 @@ -{stdenv, fetchurl, SDL, mesa, SDL_image, freealut}: +{stdenv, fetchurl, SDL, mesa, SDL_image, freealut, openal, libvorbis, +pkgconfig}: stdenv.mkDerivation rec { - name = "ultimate-stunts-0.7.5.1"; + name = "ultimate-stunts-0.7.6.1"; src = fetchurl { - url = mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-0751.tar.gz; - sha256 = "1s4xkaw0i6vqkjhi63plmrbrhhr408i3pv36qkpchpiiiw5bb7lv"; + url = mirror://sourceforge/ultimatestunts/ultimatestunts-srcdata-0761.tar.gz; + sha256 = "0rd565ml6l927gyq158klhni7myw8mgllhv0xl1fg9m8hlzssgrv"; }; - buildInputs = [ SDL mesa SDL_image freealut ]; + buildInputs = [ SDL mesa SDL_image freealut openal libvorbis pkgconfig ]; meta = { homepage = http://www.ultimatestunts.nl/; diff --git a/pkgs/lib/properties.nix b/pkgs/lib/properties.nix index 46854d0e143..d7df14f716f 100644 --- a/pkgs/lib/properties.nix +++ b/pkgs/lib/properties.nix @@ -223,6 +223,11 @@ rec { content = mkNotdef; }; + mkAssert = assertion: message: content: + mkIf + (if assertion then true else throw "\nFailed assertion: ${message}") + content; + # Remove all "If" statement defined on a value. rmIf = foldProperty ( foldFilter isIf diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 3811ce324d6..fafb38cae0b 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -209,6 +209,7 @@ in name = "aufs2.1"; patch = ./aufs2.1-37.patch; features.aufsBase = true; + features.aufs2_1 = true; }; # Increase the timeout on CIFS requests from 15 to 120 seconds to diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix index 33e0e5a5201..c3fd01d5c88 100644 --- a/pkgs/tools/compression/upx/default.nix +++ b/pkgs/tools/compression/upx/default.nix @@ -1,14 +1,28 @@ {stdenv, fetchurl, ucl, zlib}: stdenv.mkDerivation { - name = "upx-3.04"; + name = "upx-3.07"; src = fetchurl { - url = http://upx.sourceforge.net/download/upx-3.04-src.tar.bz2; - sha256 = "15vxjzaf21vfanidv6d0zf37jgy4xfhn399nc66651b064pnbf39"; + url = http://upx.sourceforge.net/download/upx-3.07-src.tar.bz2; + sha256 = "07pcgjn7x0a734mvhgqwz24qkm1rzqrkcp67pmagzz6i765cp7bs"; }; + buildInputs = [ ucl zlib ]; - preConfigure = "cd src"; + lzmaSrc = fetchurl { + url = mirror://sourceforge/sevenzip/lzma443.tar.bz2; + sha256 = "1ck4z81y6xv1x9ky8abqn3mj9xj2dwg41bmd5j431xgi8crgd1ds"; + }; + + preConfigure = " + export UPX_UCLDIR=${ucl} + mkdir lzma443 + pushd lzma443 + tar xf $lzmaSrc + popd + export UPX_LZMADIR=`pwd`/lzma443 + cd src + "; installPhase = "ensureDir $out/bin ; cp upx.out $out/bin/upx"; diff --git a/pkgs/tools/filesystems/fsfs/default.nix b/pkgs/tools/filesystems/fsfs/default.nix new file mode 100644 index 00000000000..622424c302f --- /dev/null +++ b/pkgs/tools/filesystems/fsfs/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, openssl, fuse}: + +throw "It still does not build" + +stdenv.mkDerivation { + name = "fsfs-0.1.1"; + src = fetchurl { + url = mirror://sourceforge/fsfs/fsfs-0.1.1.tar.gz; + sha256 = "05wka9aq182li2r7gxcd8bb3rhpns7ads0k59v7w1jza60l57c74"; + }; + + buildInputs = [ fuse openssl ]; + + patchPhase = '' + sed -i -e 's,CONFDIR=\(.*\),CONFDIR='$out/etc, \ + -e 's,USERCONFPREFIX=\(.*\),USERCONFPREFIX='$out/var/lib, Makefile \ + src/Makefile src/utils/Makefile + ''; + + preInstall = '' + ensureDir $out/etc $out/var/lib + makeFlags="$makeFlags prefix=$out" + ''; + + meta = { + homepage = http://fsfs.sourceforge.net/; + description = "Secure distributed file system in user space"; + license = "GPLv2+"; + }; +} diff --git a/pkgs/tools/misc/xdaliclock/default.nix b/pkgs/tools/misc/xdaliclock/default.nix new file mode 100644 index 00000000000..cb2631bd5d8 --- /dev/null +++ b/pkgs/tools/misc/xdaliclock/default.nix @@ -0,0 +1,56 @@ +x@{builderDefsPackage + , libX11, xproto, libXt, libICE + , libSM, libXext + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="xdaliclock"; + version="2.35"; + name="${baseName}-${version}"; + project="${baseName}"; + url="http://www.jwz.org/${project}/${name}.tar.gz"; + hash="0iybha2d0wqb4wkpw7l1zi3zhw57kqh3y7p4ja1k0fmvrzqc08g7"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doConfigure" "prepareDirs" "doMakeInstall"]; + + prepareDirs = a.fullDepEntry '' + ensureDir "$out/bin" "$out/share" "$out/share/man/man1" + '' ["minInit" "defEnsureDir"]; + + goSrcDir = "cd X11"; + + meta = { + description = "A clock application that morphs digits when they are changed"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux ++ freebsd; + license = "free"; + }; + passthru = { + updateInfo = { + downloadPage = "http://www.jwz.org/xdaliclock/"; + }; + }; +}) x + diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix index 5b6b27c714b..ed437d37b52 100644 --- a/pkgs/tools/networking/pdsh/default.nix +++ b/pkgs/tools/networking/pdsh/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, perl, readline, rsh, ssh, pam}: stdenv.mkDerivation { - name = "pdsh-2.23"; + name = "pdsh-2.25"; src = fetchurl { - url = "http://pdsh.googlecode.com/files/pdsh-2.23.tar.bz2"; - sha256 = "4ff7e850ea74dd8a739aef6039288a2355b4d244c9da2c011fedf78d9ef73c23"; + url = "http://pdsh.googlecode.com/files/pdsh-2.25.tar.bz2"; + sha256 = "00cigkpdmabvh2aqzw2qbs6i7yj5x4lg1196ap0k9gqdnw0fd70z"; }; buildInputs = [perl readline ssh pam]; diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix index df46be2e710..bc32b29b33f 100644 --- a/pkgs/tools/system/gptfdisk/default.nix +++ b/pkgs/tools/system/gptfdisk/default.nix @@ -11,9 +11,9 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid popt icu ]; installPhase = '' - ensureDir $out/bin + ensureDir $out/sbin ensureDir $out/share/man/man8 - install -v -m755 gdisk sgdisk fixparts $out/bin + install -v -m755 gdisk sgdisk fixparts $out/sbin install -v -m644 gdisk.8 sgdisk.8 fixparts.8 \ $out/share/man/man8 ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fec1f6f8ee2..470f87a3ff7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -490,6 +490,8 @@ let usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; + cloog = callPackage ../development/libraries/cloog { }; + cloogppl = callPackage ../development/libraries/cloog-ppl { }; convmv = callPackage ../tools/misc/convmv { }; @@ -652,6 +654,8 @@ let fuppes = callPackage ../tools/networking/fuppes {}; + fsfs = callPackage ../tools/filesystems/fsfs { }; + dos2unix = callPackage ../tools/text/dos2unix { }; unix2dos = callPackage ../tools/text/unix2dos { }; @@ -749,6 +753,7 @@ let }; grub2 = callPackage ../tools/misc/grub/1.9x.nix { }; + grub2_efi = callPackage ../tools/misc/grub/1.9x.nix { EFIsupport = true; }; gssdp = callPackage ../development/libraries/gssdp { @@ -819,6 +824,8 @@ let ised = callPackage ../tools/misc/ised {}; + isl = callPackage ../development/libraries/isl { }; + isync = callPackage ../tools/networking/isync { }; jdiskreport = callPackage ../tools/misc/jdiskreport { }; @@ -1636,6 +1643,8 @@ let gcc45 = gcc45_real; + gcc46 = gcc46_real; + gcc45_realCross = lib.addMetaAttrs { platforms = []; } (makeOverridable (import ../development/compilers/gcc-4.5) { inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib @@ -1648,6 +1657,19 @@ let cross = assert crossSystem != null; crossSystem; }); + gcc46_realCross = lib.addMetaAttrs { platforms = []; } + (makeOverridable (import ../development/compilers/gcc-4.6) { + inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib + cloog gettext which noSysDirs; + ppl = callPackage ../development/libraries/ppl/0.11.nix { }; + binutilsCross = binutilsCross; + libcCross = libcCross; + profiledCompiler = false; + enableMultilib = false; + crossStageStatic = false; + cross = assert crossSystem != null; crossSystem; + }); + gcc_realCross = gcc45_realCross; gccCrossStageStatic = let @@ -1709,6 +1731,16 @@ let profiledCompiler = if stdenv.system == "armv5tel-linux" then false else true; })); + gcc46_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.6) { + inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib perl + cloog gettext which noSysDirs; + ppl = callPackage ../development/libraries/ppl/0.11.nix { }; + + # bootstrapping a profiled compiler does not work in the sheevaplug: + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 + profiledCompiler = if stdenv.system == "armv5tel-linux" then false else true; + })); + gccApple = wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) { inherit fetchurl stdenv noSysDirs; @@ -1768,6 +1800,14 @@ let profiledCompiler = false; }); + gfortran46 = wrapGCC (gcc46_real.gcc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + langC = false; + profiledCompiler = false; + }); + gcj = gcj45; gcj44 = wrapGCC (gcc44.gcc.override { @@ -1798,6 +1838,20 @@ let libXrandr xproto renderproto xextproto inputproto randrproto; }); + gcj46 = wrapGCC (gcc46.gcc.override { + name = "gcj"; + langJava = true; + langFortran = false; + langCC = true; + langC = false; + profiledCompiler = false; + inherit zip unzip zlib boehmgc gettext pkgconfig perl; + inherit (gtkLibs) gtk; + inherit (gnome) libart_lgpl; + inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender + libXrandr xproto renderproto xextproto inputproto randrproto; + }); + gnat = gnat45; gnat44 = wrapGCC (gcc44.gcc.override { @@ -1826,10 +1880,33 @@ let ppl = null; }); + gnat46 = wrapGCC (gcc46_real.gcc.override { + name = "gnat"; + langCC = false; + langC = true; + langAda = true; + profiledCompiler = false; + gnatboot = gnat45; + # We can't use the ppl stuff, because we would have + # libstdc++ problems. + cloogppl = null; + ppl = null; + cloog = null; + }); + gnatboot = wrapGCC (import ../development/compilers/gnatboot { inherit fetchurl stdenv; }); + gccgo = gccgo46; + + gccgo46 = wrapGCC (gcc46_real.gcc.override { + name = "gccgo"; + langCC = true; #required for go + langC = true; + langGo = true; + }); + ghdl = wrapGCC (import ../development/compilers/gcc-4.3 { inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat; name = "ghdl"; @@ -1927,6 +2004,11 @@ let haskellPackages_ghc702 = haskellPackagesFun ../development/compilers/ghc/7.0.2.nix (x : x.ghc702Prefs) false (x : x); + # Can become default after a short testing phase. There's also a minor platform + # release planned based on 703. Please keep at lowPrio until then. + haskellPackages_ghc703 = + haskellPackagesFun ../development/compilers/ghc/7.0.3.nix (x : x.ghc703Prefs) false lowPrio; + haskellPackages_ghcHEAD = haskellPackagesFun ../development/compilers/ghc/head.nix (x : x.ghcHEADPrefs) false lowPrio; @@ -2548,6 +2630,8 @@ let ired = callPackage ../development/tools/analysis/radare/ired.nix { }; + jam = callPackage ../development/tools/build-managers/jam { }; + jikespg = callPackage ../development/tools/parsing/jikespg { }; lcov = callPackage ../development/tools/analysis/lcov { }; @@ -3782,6 +3866,10 @@ let muparser = callPackage ../development/libraries/muparser { }; + mygui = callPackage ../development/libraries/mygui {}; + + myguiSvn = callPackage ../development/libraries/mygui/svn.nix {}; + ncurses = makeOverridable (import ../development/libraries/ncurses) { inherit fetchurl stdenv; unicode = system != "i686-cygwin"; @@ -5033,12 +5121,16 @@ let aufs2 = callPackage ../os-specific/linux/aufs2 { }; - aufs2_1 = callPackage ../os-specific/linux/aufs2.1 { }; + aufs2_1 = if kernel.features ? aufs2_1 then + callPackage ../os-specific/linux/aufs2.1 { } + else null; + + aufs2_1_util = if kernel.features ? aufs2_1 then + callPackage ../os-specific/linux/aufs2.1-util { } + else null; aufs2_util = callPackage ../os-specific/linux/aufs2-util { }; - aufs2_1_util = callPackage ../os-specific/linux/aufs2.1-util { }; - blcr = callPackage ../os-specific/linux/blcr { #libtool = libtool_1_5; # libtool 2 causes a fork bomb }; @@ -6620,7 +6712,7 @@ let teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; - taskJuggler = callPackage ../applications/misc/taskjuggler { + taskjuggler = callPackage ../applications/misc/taskjuggler { qt = qt3; # KDE support is not working yet. @@ -6787,6 +6879,8 @@ let xcompmgr = callPackage ../applications/window-managers/xcompmgr { }; + xdaliclock = callPackage ../tools/misc/xdaliclock {}; + xdg_utils = callPackage ../tools/X11/xdg-utils { }; xen = callPackage ../applications/virtualization/xen { }; @@ -7009,6 +7103,10 @@ let racer = callPackage ../games/racer { }; + rigsofrods = callPackage ../games/rigsofrods { + mygui = myguiSvn; + }; + rogue = callPackage ../games/rogue { }; sauerbraten = callPackage ../games/sauerbraten {}; @@ -7062,12 +7160,20 @@ let tremulous = callPackage ../games/tremulous { }; + speed_dreams = callPackage ../games/speed-dreams { + # Torcs wants to make shared libraries linked with plib libraries (it provides static). + # i686 is the only platform I know than can do that linking without plib built with -fPIC + plib = plib.override { enablePIC = if stdenv.isi686 then false else true; }; + }; + torcs = callPackage ../games/torcs { # Torcs wants to make shared libraries linked with plib libraries (it provides static). # i686 is the only platform I know than can do that linking without plib built with -fPIC plib = plib.override { enablePIC = if stdenv.isi686 then false else true; }; }; + trigger = callPackage ../games/trigger { }; + ufoai = callPackage ../games/ufoai { inherit (gnome) gtksourceview gtkglext; }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8108326d099..bcc5ad8acb5 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -86,7 +86,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghc6123Prefs = super : super // super.haskellPlatformDefaults_2010_2_0_0 super; ghc701Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link ghc702Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; - ghcHEADPrefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link + ghc703Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; + ghcHEADPrefs = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; # link # GHC and its wrapper # @@ -117,6 +118,49 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); # versions explicitly. haskellPlatform = self.haskellPlatform_2011_2_0_0; # global platform default + # NOTE: 2011.2.0.0 is the current default. 2011.2.0.1 is not yet released + # and provided for testing purposes. + + haskellPlatformArgs_2011_2_0_1 = self : { + inherit (self) cabal ghc; + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_3; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_4; + html = self.html_1_0_1_2; + HUnit = self.HUnit_1_2_2_3; + network = self.network_2_3_0_2; + OpenGL = self.OpenGL_2_2_3_0; + parallel = self.parallel_3_1_0_1; + parsec = self.parsec_3_1_1; + QuickCheck = self.QuickCheck_2_4_0_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_93_1; + regexPosix = self.regexPosix_0_94_4; + stm = self.stm_2_2_0_1; + syb = self.syb_0_3; + xhtml = self.xhtml_3000_2_0_1; + zlib = self.zlib_0_5_3_1; + HTTP = self.HTTP_4000_1_1; + deepseq = self.deepseq_1_1_0_2; + text = self.text_0_11_0_6; + transformers = self.transformers_0_2_2_0; + mtl = self.mtl_2_0_1_0; + cabalInstall = self.cabalInstall_0_10_2; + alex = self.alex_2_3_5; + happy = self.happy_1_18_6; + haddock = self.haddock_2_9_2; + }; + + haskellPlatformDefaults_2011_2_0_1 = + self : self.haskellPlatformArgs_2011_2_0_1 self // { + haskellPlatform = self.haskellPlatform_2011_2_0_1; + mtl1 = self.mtl_1_1_1_1; + }; + + haskellPlatform_2011_2_0_1 = + callPackage ../development/libraries/haskell/haskell-platform/2011.2.0.1.nix + (self.haskellPlatformArgs_2011_2_0_1 self); haskellPlatformArgs_2011_2_0_0 = self : { inherit (self) cabal ghc; @@ -286,6 +330,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); AspectAG = callPackage ../development/libraries/haskell/AspectAG {}; + attoparsec = callPackage ../development/libraries/haskell/attoparsec {}; + + attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec/enumerator.nix {}; + benchpress = callPackage ../development/libraries/haskell/benchpress {}; bimap = callPackage ../development/libraries/haskell/bimap {}; @@ -298,15 +346,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); blazeBuilder = callPackage ../development/libraries/haskell/blaze-builder {}; + blazeBuilderEnumerator = callPackage ../development/libraries/haskell/blaze-builder-enumerator {}; + blazeHtml = callPackage ../development/libraries/haskell/blaze-html {}; bktrees = callPackage ../development/libraries/haskell/bktrees {}; Boolean = callPackage ../development/libraries/haskell/Boolean {}; - bytestring = callPackage ../development/libraries/haskell/bytestring {}; - - networkBytestring = callPackage ../development/libraries/haskell/network-bytestring {}; + bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {}; cairo = callPackage ../development/libraries/haskell/cairo { inherit (pkgs) cairo zlib; @@ -377,6 +425,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); inherit (pkgs) zlib; }; + directoryTree = callPackage ../development/libraries/haskell/directory-tree {}; + dlist = callPackage ../development/libraries/haskell/dlist {}; dotgen = callPackage ../development/libraries/haskell/dotgen {}; @@ -385,6 +435,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); inherit (pkgs) libedit; }; + enumerator = callPackage ../development/libraries/haskell/enumerator {}; + erf = callPackage ../development/libraries/haskell/erf {}; filepath = callPackage ../development/libraries/haskell/filepath {}; @@ -542,6 +594,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); inherit (pkgs) gsl liblapack/* lapack library */ blas; }; + hopenssl = callPackage ../development/libraries/haskell/hopenssl {}; + hscolour = callPackage ../development/libraries/haskell/hscolour {}; hsemail = callPackage ../development/libraries/haskell/hsemail {}; @@ -576,6 +630,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); json_0_3_6 = callPackage ../development/libraries/haskell/json/0.3.6.nix {}; + jsonEnumerator = callPackage ../development/libraries/haskell/jsonEnumerator {}; + + jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {}; + leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix { network = self.network_2_2_1_7; }; @@ -629,6 +687,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); multiset = callPackage ../development/libraries/haskell/multiset {}; + murmurHash = callPackage ../development/libraries/haskell/murmur-hash {}; + mwcRandom = callPackage ../development/libraries/haskell/mwc-random {}; neither = callPackage ../development/libraries/haskell/neither {}; @@ -642,6 +702,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); numericPrelude = callPackage ../development/libraries/haskell/numeric-prelude {}; + OneTuple = callPackage ../development/libraries/haskell/OneTuple {}; + OpenAL = callPackage ../development/libraries/haskell/OpenAL { inherit (pkgs) openal; }; @@ -700,6 +762,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {}; + PSQueue = callPackage ../development/libraries/haskell/PSQueue {}; + pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {}; QuickCheck_1_2_0_0 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.0.nix {}; @@ -745,6 +809,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {}; + regexPCRE = callPackage ../development/libraries/haskell/regex-pcre {}; + regular = callPackage ../development/libraries/haskell/regular {}; safe = callPackage ../development/libraries/haskell/safe {}; @@ -757,6 +823,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); sendfile = callPackage ../development/libraries/haskell/sendfile {}; + snapCore = callPackage ../development/libraries/haskell/snap/core.nix {}; + snapServer = callPackage ../development/libraries/haskell/snap/server.nix {}; + stateref = callPackage ../development/libraries/haskell/stateref {}; statistics = callPackage ../development/libraries/haskell/statistics {}; @@ -828,6 +897,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); texmath = callPackage ../development/libraries/haskell/texmath {}; text_0_11_0_5 = callPackage ../development/libraries/haskell/text/0.11.0.5.nix {}; + text_0_11_0_6 = callPackage ../development/libraries/haskell/text/0.11.0.6.nix {}; text = self.text_0_11_0_5; threadmanager = callPackage ../development/libraries/haskell/threadmanager {}; @@ -842,6 +912,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {}; transformers = self.transformers_0_2_2_0; + tuple = callPackage ../development/libraries/haskell/tuple {}; + uniplate = callPackage ../development/libraries/haskell/uniplate {}; uniqueid = callPackage ../development/libraries/haskell/uniqueid {};