From b89d88cb225c1d62f2b94212c05310a6734d0c24 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 28 Mar 2011 20:26:29 +0000 Subject: [PATCH 01/43] Monotone update: 1.0 release is out svn path=/nixpkgs/trunk/; revision=26587 --- pkgs/applications/version-management/monotone/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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]; From f9c356ad17c9d3c0d21eebb090f1559fcfe48d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Mon, 28 Mar 2011 21:33:21 +0000 Subject: [PATCH 02/43] Adding ghc-7.0.3. svn path=/nixpkgs/trunk/; revision=26588 --- pkgs/development/compilers/ghc/7.0.3.nix | 43 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 +++ pkgs/top-level/haskell-packages.nix | 1 + 3 files changed, 49 insertions(+) create mode 100644 pkgs/development/compilers/ghc/7.0.3.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index de855238ed5..70a915ff97f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1947,6 +1947,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; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8108326d099..77cb6b611da 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -86,6 +86,7 @@ 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; + ghc703Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link ghcHEADPrefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link # GHC and its wrapper From d73765b161737734a14caaa7eaade9ceddf9c7af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 29 Mar 2011 08:34:12 +0000 Subject: [PATCH 03/43] Making task juggler build. I also change the nixpkgs attribute name to one I like more. svn path=/nixpkgs/trunk/; revision=26590 --- .../applications/misc/taskjuggler/default.nix | 16 +++++-- .../misc/taskjuggler/timezone-glibc.patch | 48 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 pkgs/applications/misc/taskjuggler/timezone-glibc.patch diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix index 3812f7edd97..92912f04114 100644 --- a/pkgs/applications/misc/taskjuggler/default.nix +++ b/pkgs/applications/misc/taskjuggler/default.nix @@ -5,10 +5,10 @@ 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 = @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { ++ (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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70a915ff97f..6919614b5e5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6739,7 +6739,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. From 4f65f33e1119d800ad6e0df1609066d01986bebf Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Tue, 29 Mar 2011 10:32:49 +0000 Subject: [PATCH 04/43] Adding XDaliClock svn path=/nixpkgs/trunk/; revision=26591 --- pkgs/tools/misc/xdaliclock/default.nix | 56 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/tools/misc/xdaliclock/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6919614b5e5..d5096c50e77 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6906,6 +6906,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 { From 3ae597033daf6f5605a1e6c9bcebf61ce807816c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Tue, 29 Mar 2011 14:17:19 +0000 Subject: [PATCH 05/43] Added tuple and OneTuple. svn path=/nixpkgs/trunk/; revision=26592 --- .../libraries/haskell/OneTuple/default.nix | 13 +++++++++++++ .../libraries/haskell/tuple/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 4 ++++ 3 files changed, 31 insertions(+) create mode 100644 pkgs/development/libraries/haskell/OneTuple/default.nix create mode 100644 pkgs/development/libraries/haskell/tuple/default.nix 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/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/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 77cb6b611da..5fc42eb204a 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -643,6 +643,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; }; @@ -843,6 +845,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 {}; From fc46d920324f8d45b103aed2320fb5688258cd27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 29 Mar 2011 20:47:55 +0000 Subject: [PATCH 06/43] Updating ultimate stunts. And now, with sound. svn path=/nixpkgs/trunk/; revision=26596 --- pkgs/games/ultimatestunts/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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/; From 6eaaa060771b21a0e260d52185a8cc6759409bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2011 08:16:44 +0000 Subject: [PATCH 07/43] Committing on behalf of Shea Levy: This patch adds a "features.aufs2_1" to the aufs-2.1 patch for Linux 2.6.37 to prevent aufs2_1 and aufs2_1_util from being options for kernels without an aufs 2.1 patch. There were several Hydra build failures as a result of attempting to build aufs2.1 against older kernels. svn path=/nixpkgs/trunk/; revision=26597 --- pkgs/os-specific/linux/kernel/patches.nix | 1 + pkgs/top-level/all-packages.nix | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d5096c50e77..654a735bbc9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5117,12 +5117,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 }; From 56ade5fef2dc87d5532fd1e9d8870d2e99095ef2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Mar 2011 09:43:45 +0000 Subject: [PATCH 08/43] * Remove unused file. svn path=/nixpkgs/trunk/; revision=26598 --- .../networking/browsers/firefox/binary.nix | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 pkgs/applications/networking/browsers/firefox/binary.nix 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;}; -} - From 11472a05010c6c74940d980e08d4297f66e051a3 Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Wed, 30 Mar 2011 11:18:10 +0000 Subject: [PATCH 09/43] Add mkAssert. svn path=/nixpkgs/trunk/; revision=26600 --- pkgs/lib/properties.nix | 5 +++++ 1 file changed, 5 insertions(+) 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 From 48748dedcbed037b5d32637e9580becfaa821b50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2011 18:45:11 +0000 Subject: [PATCH 10/43] Adding the rally game Trigger. As a side effect, I add jam. svn path=/nixpkgs/trunk/; revision=26615 --- .../tools/build-managers/jam/default.nix | 20 +++++++++ pkgs/games/trigger/default.nix | 43 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 3 files changed, 67 insertions(+) create mode 100644 pkgs/development/tools/build-managers/jam/default.nix create mode 100644 pkgs/games/trigger/default.nix 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/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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 654a735bbc9..8fe61978e8e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2605,6 +2605,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 { }; @@ -7195,6 +7197,8 @@ let plib = plib.override { enablePIC = if stdenv.isi686 then false else true; }; }; + trigger = callPackage ../games/trigger { }; + ufoai = callPackage ../games/ufoai { inherit (gnome) gtksourceview gtkglext; }; From 58f7f6e9138013e7ca45f156e1277c7f914ed9c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2011 22:08:25 +0000 Subject: [PATCH 11/43] Task juggler checks for libjpeg. I add it in case it improves something. svn path=/nixpkgs/trunk/; revision=26616 --- pkgs/applications/misc/taskjuggler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix index 92912f04114..25cdd1f1646 100644 --- a/pkgs/applications/misc/taskjuggler/default.nix +++ b/pkgs/applications/misc/taskjuggler/default.nix @@ -1,5 +1,5 @@ {stdenv, fetchurl, -zlib, libpng, perl, expat, qt, +zlib, libpng, libjpeg, perl, expat, qt, libX11, libXext, libSM, libICE, withKde, kdelibs, kdebase }: @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [zlib libpng libX11 libXext libSM libICE perl expat] + [zlib libpng libX11 libXext libSM libICE perl expat libjpeg] ++ (if withKde then [kdelibs] else []) ; From 9adeabc7934d62d426a07a88dbdb7228f563a796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2011 22:08:29 +0000 Subject: [PATCH 12/43] Making builder-defs doCMake build well the shared libraries and binaries (rpath related). I simply made it do what the cmake setup-hook already said to do. svn path=/nixpkgs/trunk/; revision=26617 --- pkgs/build-support/builder-defs/builder-defs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 627812ffbbbc66e06f3c2af9df70569e205d07ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2011 22:08:33 +0000 Subject: [PATCH 13/43] Adding Rigs of Rods. Basically it builds, but I still don't know how to run it. I imagine the installPhase is still too poor, but it's better than nothing. I also added two mygui versions. That stable, and that required by Rigs of Roads (svn). svn path=/nixpkgs/trunk/; revision=26618 --- pkgs/development/libraries/mygui/default.nix | 20 +++++++++ pkgs/development/libraries/mygui/svn.nix | 27 ++++++++++++ pkgs/development/libraries/ogre/default.nix | 4 +- pkgs/games/rigsofrods/default.nix | 45 ++++++++++++++++++++ pkgs/games/rigsofrods/wx.patch | 13 ++++++ pkgs/top-level/all-packages.nix | 8 ++++ 6 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/mygui/default.nix create mode 100644 pkgs/development/libraries/mygui/svn.nix create mode 100644 pkgs/games/rigsofrods/default.nix create mode 100644 pkgs/games/rigsofrods/wx.patch 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/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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8fe61978e8e..da25858d213 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3841,6 +3841,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"; @@ -7138,6 +7142,10 @@ let racer = callPackage ../games/racer { }; + rigsofrods = callPackage ../games/rigsofrods { + mygui = myguiSvn; + }; + rogue = callPackage ../games/rogue { }; sauerbraten = callPackage ../games/sauerbraten {}; From 56acf8aeb08bb52663b6df4ed0348fde59450a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Thu, 31 Mar 2011 09:49:54 +0000 Subject: [PATCH 14/43] Updating upx (and I tried to make it use fine lzma and ucl) svn path=/nixpkgs/trunk/; revision=26620 --- pkgs/tools/compression/upx/default.nix | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix index 33e0e5a5201..900d13a66f7 100644 --- a/pkgs/tools/compression/upx/default.nix +++ b/pkgs/tools/compression/upx/default.nix @@ -1,14 +1,28 @@ -{stdenv, fetchurl, ucl, zlib}: +{stdenv, fetchurl, ucl, zlib, xz}: 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"; From 6aa761ab3be407238b28adb181e9d0b75a974dc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Thu, 31 Mar 2011 10:04:52 +0000 Subject: [PATCH 15/43] Removing a superfluous argument in upx svn path=/nixpkgs/trunk/; revision=26621 --- pkgs/tools/compression/upx/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix index 900d13a66f7..c3fd01d5c88 100644 --- a/pkgs/tools/compression/upx/default.nix +++ b/pkgs/tools/compression/upx/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ucl, zlib, xz}: +{stdenv, fetchurl, ucl, zlib}: stdenv.mkDerivation { name = "upx-3.07"; From f00bdb6f150e2786bcb0186e95bf05b0d70ed44d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Thu, 31 Mar 2011 21:08:50 +0000 Subject: [PATCH 16/43] Adding a skeleton for a fsfs expression, but it still does not build. svn path=/nixpkgs/trunk/; revision=26631 --- pkgs/tools/filesystems/fsfs/default.nix | 30 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/tools/filesystems/fsfs/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da25858d213..8b2e1821f72 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -649,6 +649,8 @@ let fuppes = callPackage ../tools/networking/fuppes {}; + fsfs = callPackage ../tools/filesystems/fsfs { }; + dos2unix = callPackage ../tools/text/dos2unix { }; unix2dos = callPackage ../tools/text/unix2dos { }; From bc36f569771872bea37b2668c67b19dfd90e9453 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:15:53 +0000 Subject: [PATCH 17/43] Adding a missing newline in all-packages.nix svn path=/nixpkgs/trunk/; revision=26632 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b2e1821f72..f24b4f46e05 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -750,6 +750,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 { From bc6ee5020d6599f0c443df61247b817156fe7380 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:19:39 +0000 Subject: [PATCH 18/43] Add isl, the integer set library (needed for cloog, an optional dependency for GCC 4.6.0) svn path=/nixpkgs/trunk/; revision=26633 --- pkgs/development/libraries/isl/default.nix | 28 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/libraries/isl/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f24b4f46e05..5968ccd32f7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -821,6 +821,8 @@ let ised = callPackage ../tools/misc/ised {}; + isl = callPackage ../development/libraries/isl { }; + isync = callPackage ../tools/networking/isync { }; jdiskreport = callPackage ../tools/misc/jdiskreport { }; From 8002302a318a8d4611440569e7869acdbf1c36ce Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:25:08 +0000 Subject: [PATCH 19/43] Add CLooG, an alternative to CLooG-PPL based on the integer set library, an optional dependency for GCC 4.6.0 svn path=/nixpkgs/trunk/; revision=26635 --- pkgs/development/libraries/cloog/default.nix | 76 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 78 insertions(+) create mode 100644 pkgs/development/libraries/cloog/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5968ccd32f7..fd4a518d4e5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -489,6 +489,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 { }; From 812e7c93eef99e1a438b86fa34cf8532e954846d Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:32:01 +0000 Subject: [PATCH 20/43] Add ppl version 0.11, necessary for Graphite optimizations in GCC 4.6.0 svn path=/nixpkgs/trunk/; revision=26636 --- pkgs/development/libraries/ppl/0.11.nix | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pkgs/development/libraries/ppl/0.11.nix 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 ]; + }; + } From 6c033b18ee78be22bd236496bf987625e24058d1 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:44:55 +0000 Subject: [PATCH 21/43] Initial copy of gcc-4.5 to gcc-4.6 svn path=/nixpkgs/trunk/; revision=26637 --- pkgs/development/compilers/gcc-4.6/builder.sh | 236 ++++++++++ .../development/compilers/gcc-4.6/default.nix | 428 ++++++++++++++++++ .../compilers/gcc-4.6/ghdl-ortho-cflags.patch | 111 +++++ .../compilers/gcc-4.6/gnat-cflags.patch | 33 ++ .../gcc-4.6/java-jvgenmain-link.patch | 17 + .../compilers/gcc-4.6/libstdc++-target.patch | 32 ++ .../compilers/gcc-4.6/no-sys-dirs.patch | 54 +++ .../development/compilers/gcc-4.6/sources.nix | 26 ++ .../compilers/gcc-4.6/update-gcc.sh | 1 + 9 files changed, 938 insertions(+) create mode 100644 pkgs/development/compilers/gcc-4.6/builder.sh create mode 100644 pkgs/development/compilers/gcc-4.6/default.nix create mode 100644 pkgs/development/compilers/gcc-4.6/ghdl-ortho-cflags.patch create mode 100644 pkgs/development/compilers/gcc-4.6/gnat-cflags.patch create mode 100644 pkgs/development/compilers/gcc-4.6/java-jvgenmain-link.patch create mode 100644 pkgs/development/compilers/gcc-4.6/libstdc++-target.patch create mode 100644 pkgs/development/compilers/gcc-4.6/no-sys-dirs.patch create mode 100644 pkgs/development/compilers/gcc-4.6/sources.nix create mode 120000 pkgs/development/compilers/gcc-4.6/update-gcc.sh diff --git a/pkgs/development/compilers/gcc-4.6/builder.sh b/pkgs/development/compilers/gcc-4.6/builder.sh new file mode 100644 index 00000000000..aedd5b46b12 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/builder.sh @@ -0,0 +1,236 @@ +source $stdenv/setup + + +export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy +mkdir $NIX_FIXINC_DUMMY + + +# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad +# Thing. +export CPP="gcc -E" + +if test "$staticCompiler" = "1"; then + EXTRA_LDFLAGS="-static" +else + EXTRA_LDFLAGS="" +fi + +# GCC interprets empty paths as ".", which we don't want. +if test -z "$CPATH"; then unset CPATH; fi +if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi +echo "\$CPATH is \`$CPATH'" +echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'" + +if test "$noSysDirs" = "1"; then + + if test -e $NIX_GCC/nix-support/orig-libc; then + + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include + + # The path to the Glibc binaries such as `crti.o'. + glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib" + + else + # Hack: support impure environments. + extraFlags="-isystem /usr/include" + extraLDFlags="-L/usr/lib64 -L/usr/lib" + glibc_libdir="/usr/lib" + export NIX_FIXINC_DUMMY=/usr/include + fi + + extraFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY $extraFlags" + extraLDFlags="--strip-debug -L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + + EXTRA_FLAGS="$extraFlags" + for i in $extraLDFlags; do + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i" + done + + if test -n "$targetConfig"; then + # Cross-compiling, we need gcc not to read ./specs in order to build + # the g++ compiler (after the specs for the cross-gcc are created). + # Having LIBRARY_PATH= makes gcc read the specs from ., and the build + # breaks. Having this variable comes from the default.nix code to bring + # gcj in. + unset LIBRARY_PATH + unset CPATH + if test -z "$crossStageStatic"; then + EXTRA_TARGET_CFLAGS="-g0 -O2 -B${libcCross}/lib -idirafter ${libcCross}/include" + EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib" + fi + else + if test -z "$NIX_GCC_CROSS"; then + EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS" + EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS" + else + # This the case of cross-building the gcc. + # We need special flags for the target, different than those of the build + # Assertion: + test -e $NIX_GCC_CROSS/nix-support/orig-libc + + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include + + # The path to the Glibc binaries such as `crti.o'. + glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib" + + extraFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY_CROSS $extraFlags" + extraLDFlags="--strip-debug -L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + + EXTRA_TARGET_CFLAGS="$extraFlags" + for i in $extraLDFlags; do + EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i" + done + fi + fi + + + # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find + # the startfiles. + # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx + # for the startfiles. + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ + SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ + CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \ + ) + + if test -z "$targetConfig"; then + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + ) + fi + + if test -n "$targetConfig" -a "$crossStageStatic" == 1; then + # We don't want the gcc build to assume there will be a libc providing + # limits.h in this stagae + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + LIMITS_H_TEST=false \ + ) + else + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + LIMITS_H_TEST=true \ + ) + fi +fi + +if test -n "$targetConfig"; then + # The host strip will destroy some important details of the objects + dontStrip=1 +fi + + +preConfigure() { + if test -n "$newlibSrc"; then + tar xvf "$newlibSrc" -C .. + ln -s ../newlib-*/newlib newlib + # Patch to get armvt5el working: + sed -i -e 's/ arm)/ arm*)/' newlib/configure.host + fi + # Bug - they packaged zlib + if test -d "zlib"; then + # This breaks the build without-headers, which should build only + # the target libgcc as target libraries. + # See 'configure:5370' + rm -Rf zlib + fi + + # Patch the configure script so it finds glibc headers + # It's important for example in order not to get libssp built, because it's + # functionality is in glibc already. + glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include" + sed -i \ + -e s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers, \ + gcc/configure + + if test -n "$crossMingw" -a -n "$crossStageStatic"; then + mkdir -p ../mingw + # --with-build-sysroot expects that: + cp -R $libcCross/include ../mingw + configureFlags="$configureFlags --with-build-sysroot=`pwd`/.." + fi + + # Perform the build in a different directory. + mkdir ../build + cd ../build + configureScript=../$sourceRoot/configure +} + + +postConfigure() { + # Don't store the configure flags in the resulting executables. + sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile +} + + +postInstall() { + # Remove precompiled headers for now. They are very big and + # probably not very useful yet. + find $out/include -name "*.gch" -exec rm -rf {} \; -prune + + # Remove `fixincl' to prevent a retained dependency on the + # previous gcc. + rm -rf $out/libexec/gcc/*/*/install-tools + rm -rf $out/lib/gcc/*/*/install-tools + + # More dependencies with the previous gcc or some libs (gccbug stores the build command line) + rm -rf $out/bin/gccbug + # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out + for i in $out/libexec/gcc/*/*/*; do + PREV_RPATH=`patchelf --print-rpath $i` + patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i + done + + # Get rid of some "fixed" header files + rm -rf $out/lib/gcc/*/*/include/root + + # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. + for i in $out/bin/*-gcc*; do + if cmp -s $out/bin/gcc $i; then + ln -sfn gcc $i + fi + done + + for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do + if cmp -s $out/bin/g++ $i; then + ln -sfn g++ $i + fi + done + + eval "$postInstallGhdl" +} + + +if test -z "$targetConfig" && test -z "$crossConfig"; then + if test -z "$profiledCompiler"; then + buildFlags="bootstrap $buildFlags" + else + buildFlags="profiledbootstrap $buildFlags" + fi +fi + +genericBuild diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix new file mode 100644 index 00000000000..19efa57af8e --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -0,0 +1,428 @@ +{ stdenv, fetchurl, noSysDirs +, langC ? true, langCC ? true, langFortran ? false, langTreelang ? false +, langJava ? false +, langAda ? false +, langVhdl ? false +, profiledCompiler ? false +, staticCompiler ? false +, enableShared ? true +, texinfo ? null +, perl ? null # optional, for texi2pod (then pod2man); required for Java +, gmp, mpfr, mpc, gettext, which +, libelf # optional, for link-time optimizations (LTO) +, ppl ? null, cloogppl ? null # optional, for the Graphite optimization framework +, bison ? null, flex ? null +, zlib ? null, boehmgc ? null +, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null +, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null +, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null +, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, gnatboot ? null +, enableMultilib ? false +, name ? "gcc" +, cross ? null +, binutilsCross ? null +, libcCross ? null +, crossStageStatic ? true +, gnat ? null +, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd +}: + +assert langTreelang -> 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; + +with stdenv.lib; +with builtins; + +let version = "4.5.1"; + 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-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; + }; + + 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) + ++ (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 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" + ) + ) + } + ${ # 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; + + 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 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" + ) + ) + } + ${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 "-g0 -O2 -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 + enableMultilib version; }; + + enableParallelBuilding = true; + + meta = { + homepage = http://gcc.gnu.org/; + license = "GPLv3+"; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}"; + + 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 + ]; + + # 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 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..6059e03880b --- /dev/null +++ b/pkgs/development/compilers/gcc-4.6/sources.nix @@ -0,0 +1,26 @@ +/* Automatically generated by `update-gcc.sh', do not edit. + For GCC 4.5.1. */ +{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }: + +assert version == "4.5.1"; +optional /* langC */ true (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; + sha256 = "0sjjw3qfcpdk0fs5d2rhl0xqcaclg86ifbq45dbk9ca072l3fyxm"; +}) ++ +optional langCC (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; + sha256 = "0j6ffb96b3r75hrjshg52llv21ax7r8jdx44hhj0maiisnl9wd55"; +}) ++ +optional langFortran (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; + sha256 = "0xgwjc3h5fc5c100bnw24c35255il33lj5qbgpxf0zl8di2q13aw"; +}) ++ +optional langJava (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; + sha256 = "0mh37q4ibg05h1hdh39pkj1hycvdg6i79m4698knw7pppm14ax8q"; +}) ++ +optional langAda (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; + sha256 = "11chdbl7h046lnl83k79vj7dvgxz6kq7cnmwx94z644vaiflg153"; +}) ++ +[] 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 From 4940efa008c2d0d3f015384053a16a752480b1c9 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:47:03 +0000 Subject: [PATCH 22/43] Modify update-gcc.sh to allow it to work with gpg2 as well as gpg svn path=/nixpkgs/trunk/; revision=26638 --- pkgs/development/compilers/gcc-4.4/update-gcc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc-4.4/update-gcc.sh b/pkgs/development/compilers/gcc-4.4/update-gcc.sh index c93035296fc..799e75627a5 100755 --- a/pkgs/development/compilers/gcc-4.4/update-gcc.sh +++ b/pkgs/development/compilers/gcc-4.4/update-gcc.sh @@ -42,7 +42,7 @@ do rm -f "${url}.sig" wget "${url}.sig" - gpg --verify "${file}.sig" "${path}" + gpg --verify "${file}.sig" "${path}" || gpg2 --verify "${file}.sig" "${path}" rm "${file}.sig" cat >> "$out" < Date: Thu, 31 Mar 2011 21:51:39 +0000 Subject: [PATCH 23/43] Update to GCC 4.6.0: * Modify the builder to not fail when a static library is in $out/libexec/gcc/*/* * Disable libquadmath when building a static-only bootstrap of GCC, see http://gcc.gnu.org/ml/gcc/2011-03/msg00465.html * Add handling for cloog if it is passed in in place of cloog-ppl svn path=/nixpkgs/trunk/; revision=26639 --- pkgs/development/compilers/gcc-4.6/builder.sh | 5 +++-- pkgs/development/compilers/gcc-4.6/default.nix | 13 +++++++++++-- pkgs/development/compilers/gcc-4.6/sources.nix | 14 +++++++------- pkgs/top-level/all-packages.nix | 12 ++++++++++++ 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.6/builder.sh b/pkgs/development/compilers/gcc-4.6/builder.sh index aedd5b46b12..49e4b3e4cc7 100644 --- a/pkgs/development/compilers/gcc-4.6/builder.sh +++ b/pkgs/development/compilers/gcc-4.6/builder.sh @@ -201,8 +201,9 @@ postInstall() { rm -rf $out/bin/gccbug # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out for i in $out/libexec/gcc/*/*/*; do - PREV_RPATH=`patchelf --print-rpath $i` - patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i + if PREV_RPATH=`patchelf --print-rpath $i`; then + patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i + fi done # Get rid of some "fixed" header files diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix index 19efa57af8e..d1b05690b56 100644 --- a/pkgs/development/compilers/gcc-4.6/default.nix +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -10,7 +10,7 @@ , perl ? null # optional, for texi2pod (then pod2man); required for Java , gmp, mpfr, mpc, gettext, which , libelf # optional, for link-time optimizations (LTO) -, ppl ? null, cloogppl ? null # optional, for the Graphite optimization framework +, ppl ? null, cloogppl ? null, cloog ? null # optional, for the Graphite optimization framework. Cannot pass both cloog and cloogppl , bison ? null, flex ? null , zlib ? null, boehmgc ? null , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null @@ -38,10 +38,13 @@ 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.5.1"; +let version = "4.6.0"; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at # `configure' time. @@ -97,6 +100,7 @@ let version = "4.5.1"; " --disable-threads " + " --disable-libmudflap " + " --disable-libgomp " + + " --disable-libquadmath" + " --disable-shared" + " --disable-decimal-float" # libdecnumber requires libc else @@ -202,6 +206,7 @@ stdenv.mkDerivation ({ 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) @@ -222,6 +227,9 @@ stdenv.mkDerivation ({ ${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} " + @@ -277,6 +285,7 @@ stdenv.mkDerivation ({ ${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 ""} diff --git a/pkgs/development/compilers/gcc-4.6/sources.nix b/pkgs/development/compilers/gcc-4.6/sources.nix index 6059e03880b..7d9a9686377 100644 --- a/pkgs/development/compilers/gcc-4.6/sources.nix +++ b/pkgs/development/compilers/gcc-4.6/sources.nix @@ -1,26 +1,26 @@ /* Automatically generated by `update-gcc.sh', do not edit. - For GCC 4.5.1. */ + For GCC 4.6.0. */ { fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }: -assert version == "4.5.1"; +assert version == "4.6.0"; optional /* langC */ true (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "0sjjw3qfcpdk0fs5d2rhl0xqcaclg86ifbq45dbk9ca072l3fyxm"; + sha256 = "1hfgn36hs6jpaflhirmhavwjqzwa35fjl9i661j0lwp3dmbr2c9m"; }) ++ optional langCC (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "0j6ffb96b3r75hrjshg52llv21ax7r8jdx44hhj0maiisnl9wd55"; + sha256 = "0ga5vdyc1n0f60gph28zc08n05kxadm77q7kg9fgsfr0vvnjzsf2"; }) ++ optional langFortran (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "0xgwjc3h5fc5c100bnw24c35255il33lj5qbgpxf0zl8di2q13aw"; + sha256 = "1b09411jazcz0pq6plsmhgbb6mkz1l4d8j9p0iz56a4v5ccvn4jn"; }) ++ optional langJava (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; - sha256 = "0mh37q4ibg05h1hdh39pkj1hycvdg6i79m4698knw7pppm14ax8q"; + sha256 = "15y8w9lvxg33kmiwcwwyj68w0ngay1fmshcirml7z3dlgjqm7lbd"; }) ++ optional langAda (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; - sha256 = "11chdbl7h046lnl83k79vj7dvgxz6kq7cnmwx94z644vaiflg153"; + sha256 = "1z207n5nxvzdfh26l5jyx13fam51hy0vwyan40jjavdh8pi1x81m"; }) ++ [] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fd4a518d4e5..7df76743d53 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1663,6 +1663,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 @@ -1736,6 +1738,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; From 7b6139b85e3587331893776568a4085869d7645c Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:56:57 +0000 Subject: [PATCH 24/43] Add GCC 4.6.0 cross compiler svn path=/nixpkgs/trunk/; revision=26640 --- pkgs/top-level/all-packages.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7df76743d53..a171744f80a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1677,6 +1677,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 From 97d0714f9f0810295e79a9d3fa5312d3b04b60ce Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 21:59:38 +0000 Subject: [PATCH 25/43] Add gfortran46 svn path=/nixpkgs/trunk/; revision=26641 --- pkgs/top-level/all-packages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a171744f80a..f25aaaa64f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1820,6 +1820,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 { From c2f72840ed6f11a3a44784f2f9949e360fda09e0 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 22:04:08 +0000 Subject: [PATCH 26/43] Add gcj46 svn path=/nixpkgs/trunk/; revision=26642 --- pkgs/top-level/all-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f25aaaa64f2..de0be460df5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1858,6 +1858,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 { From 7c1b06b3bdd179608ae5a4fedd02e7c443ff012f Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 31 Mar 2011 22:20:11 +0000 Subject: [PATCH 27/43] Add gnat46. Note that, contrary to my notes when I emailed this patch, this builds now: we use gnat45 as an Ada bootstrap in place of gnatboot. This is not a long-term solution, but it works for now. svn path=/nixpkgs/trunk/; revision=26645 --- pkgs/top-level/all-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index de0be460df5..3472aa3f52f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1900,6 +1900,20 @@ 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; }); From e5da05349cfaa0349bcc7c894bda75f7afd3cd9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Thu, 31 Mar 2011 23:21:36 +0000 Subject: [PATCH 28/43] Updating Hakyll and dependencies. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch supplied by Vladimír Čunát. Thanks. svn path=/nixpkgs/trunk/; revision=26648 --- .../libraries/haskell/PSQueue/default.nix | 12 ++++++++ .../libraries/haskell/attoparsec/default.nix | 12 ++++++++ .../haskell/attoparsec/enumerator.nix | 13 +++++++++ .../blaze-builder-enumerator/default.nix | 12 ++++++++ .../haskell/bytestring-nums/default.nix | 12 ++++++++ .../libraries/haskell/bytestring/default.nix | 12 -------- .../haskell/directory-tree/default.nix | 12 ++++++++ .../libraries/haskell/enumerator/default.nix | 13 +++++++++ .../libraries/haskell/hakyll/default.nix | 12 ++++---- .../libraries/haskell/hamlet/default.nix | 8 ++--- .../libraries/haskell/hopenssl/default.nix | 14 +++++++++ .../haskell/jsonEnumerator/default.nix | 13 +++++++++ .../libraries/haskell/jsonTypes/default.nix | 12 ++++++++ .../libraries/haskell/murmur-hash/default.nix | 12 ++++++++ .../haskell/network-bytestring/default.nix | 12 -------- .../libraries/haskell/regex-pcre/default.nix | 13 +++++++++ .../libraries/haskell/snap/core.nix | 17 +++++++++++ .../libraries/haskell/snap/server.nix | 19 ++++++++++++ .../libraries/haskell/unix-compat/default.nix | 5 ++-- pkgs/top-level/haskell-packages.nix | 29 +++++++++++++++++-- 20 files changed, 225 insertions(+), 39 deletions(-) create mode 100644 pkgs/development/libraries/haskell/PSQueue/default.nix create mode 100644 pkgs/development/libraries/haskell/attoparsec/default.nix create mode 100644 pkgs/development/libraries/haskell/attoparsec/enumerator.nix create mode 100644 pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix create mode 100644 pkgs/development/libraries/haskell/bytestring-nums/default.nix delete mode 100644 pkgs/development/libraries/haskell/bytestring/default.nix create mode 100644 pkgs/development/libraries/haskell/directory-tree/default.nix create mode 100644 pkgs/development/libraries/haskell/enumerator/default.nix create mode 100644 pkgs/development/libraries/haskell/hopenssl/default.nix create mode 100644 pkgs/development/libraries/haskell/jsonEnumerator/default.nix create mode 100644 pkgs/development/libraries/haskell/jsonTypes/default.nix create mode 100644 pkgs/development/libraries/haskell/murmur-hash/default.nix delete mode 100644 pkgs/development/libraries/haskell/network-bytestring/default.nix create mode 100644 pkgs/development/libraries/haskell/regex-pcre/default.nix create mode 100644 pkgs/development/libraries/haskell/snap/core.nix create mode 100644 pkgs/development/libraries/haskell/snap/server.nix 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/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/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/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5fc42eb204a..9fc1df78bac 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -287,6 +287,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 {}; @@ -299,15 +303,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; @@ -378,6 +382,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 {}; @@ -386,6 +392,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 {}; @@ -543,6 +551,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 {}; @@ -577,6 +587,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; }; @@ -630,6 +644,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 {}; @@ -703,6 +719,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 {}; @@ -748,6 +766,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 {}; @@ -760,6 +780,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 {}; From 9ec8f9aefba45cd5f05552c4d5b6bdc9ceecdc17 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 1 Apr 2011 00:25:39 +0000 Subject: [PATCH 29/43] Add myself as a gcc-4.6 maintainer svn path=/nixpkgs/trunk/; revision=26649 --- pkgs/development/compilers/gcc-4.6/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix index d1b05690b56..0f637a0329b 100644 --- a/pkgs/development/compilers/gcc-4.6/default.nix +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -387,6 +387,7 @@ stdenv.mkDerivation ({ maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.viric + stdenv.lib.maintainers.shlevy ]; # Volunteers needed for the {Cyg,Dar}win ports of *PPL. From 93d86b97f6d7d8c3b2de6b5a357d3231487a3f3b Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 1 Apr 2011 03:17:55 +0000 Subject: [PATCH 30/43] Merged in changes from stdenv-updates on gcc-4.5 into gcc-4.6 svn path=/nixpkgs/trunk/; revision=26650 --- pkgs/development/compilers/gcc-4.4/update-gcc.sh | 10 ++++++---- pkgs/development/compilers/gcc-4.6/builder.sh | 10 +++++----- pkgs/development/compilers/gcc-4.6/default.nix | 10 ++++++++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.4/update-gcc.sh b/pkgs/development/compilers/gcc-4.4/update-gcc.sh index 799e75627a5..c7afee268e2 100755 --- a/pkgs/development/compilers/gcc-4.4/update-gcc.sh +++ b/pkgs/development/compilers/gcc-4.4/update-gcc.sh @@ -36,11 +36,13 @@ do file="gcc-${component}-${version}.tar.bz2" url="${dir}/${file}" - path_and_hash="$(nix-prefetch-url "$url" 2>&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}" || gpg2 --verify "${file}.sig" "${path}" rm "${file}.sig" diff --git a/pkgs/development/compilers/gcc-4.6/builder.sh b/pkgs/development/compilers/gcc-4.6/builder.sh index 49e4b3e4cc7..ee4f6ede745 100644 --- a/pkgs/development/compilers/gcc-4.6/builder.sh +++ b/pkgs/development/compilers/gcc-4.6/builder.sh @@ -46,8 +46,8 @@ if test "$noSysDirs" = "1"; then export NIX_FIXINC_DUMMY=/usr/include fi - extraFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY $extraFlags" - extraLDFlags="--strip-debug -L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags" + extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" EXTRA_FLAGS="$extraFlags" for i in $extraLDFlags; do @@ -63,7 +63,7 @@ if test "$noSysDirs" = "1"; then unset LIBRARY_PATH unset CPATH if test -z "$crossStageStatic"; then - EXTRA_TARGET_CFLAGS="-g0 -O2 -B${libcCross}/lib -idirafter ${libcCross}/include" + EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include" EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib" fi else @@ -89,8 +89,8 @@ if test "$noSysDirs" = "1"; then # The path to the Glibc binaries such as `crti.o'. glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib" - extraFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY_CROSS $extraFlags" - extraLDFlags="--strip-debug -L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags" + extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" EXTRA_TARGET_CFLAGS="$extraFlags" for i in $extraLDFlags; do diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix index 0f637a0329b..a157d328fa1 100644 --- a/pkgs/development/compilers/gcc-4.6/default.nix +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -26,6 +26,7 @@ , crossStageStatic ? true , gnat ? null , libpthread ? null, libpthreadCross ? null # required for GNU/Hurd +, stripped ? true }: assert langTreelang -> bison != null && flex != null; @@ -355,7 +356,7 @@ stdenv.mkDerivation ({ EXTRA_TARGET_CFLAGS = if cross != null && libcCross != null - then "-g0 -O2 -idirafter ${libcCross}/include" + then "-idirafter ${libcCross}/include" else null; EXTRA_TARGET_LDFLAGS = @@ -373,7 +374,8 @@ stdenv.mkDerivation ({ meta = { homepage = http://gcc.gnu.org/; license = "GPLv3+"; # runtime support libraries are typically LGPLv3+ - description = "GNU Compiler Collection, version ${version}"; + 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++, @@ -402,6 +404,10 @@ stdenv.mkDerivation ({ installTargets = "install-gcc install-target-libgcc"; } +# GCC 4.6.0 DOES support the `install-strip' target, but we'll let`stdenv' do +# the stripping by default to match stdenv-updates, for now +// optionalAttrs (!stripped) { dontStrip = true; NIX_STRIP_DEBUG = false; } + // optionalAttrs langVhdl rec { name = "ghdl-0.29"; From 2b3d751095e2e4e7806c603e49d905755063888d Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 1 Apr 2011 10:36:53 +0000 Subject: [PATCH 31/43] Use install-strip when installing a stripped GCC 4.6 svn path=/nixpkgs/trunk/; revision=26652 --- pkgs/development/compilers/gcc-4.6/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix index a157d328fa1..52497a3f2b5 100644 --- a/pkgs/development/compilers/gcc-4.6/default.nix +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -268,6 +268,11 @@ stdenv.mkDerivation ({ 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"; @@ -404,8 +409,6 @@ stdenv.mkDerivation ({ installTargets = "install-gcc install-target-libgcc"; } -# GCC 4.6.0 DOES support the `install-strip' target, but we'll let`stdenv' do -# the stripping by default to match stdenv-updates, for now // optionalAttrs (!stripped) { dontStrip = true; NIX_STRIP_DEBUG = false; } // optionalAttrs langVhdl rec { From f143784ae1e661e3d318b45ca555295e79a04438 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 1 Apr 2011 12:26:46 +0000 Subject: [PATCH 32/43] The configurePhase runs ./configure, not the unpackPhase svn path=/nixpkgs/trunk/; revision=26655 --- doc/stdenv.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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. From d2cc005e67869041fec86f0e64634ada91f2035c Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 1 Apr 2011 14:12:53 +0000 Subject: [PATCH 33/43] Move system binaries to /sbin instead of /bin svn path=/nixpkgs/trunk/; revision=26656 --- pkgs/tools/system/gptfdisk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ''; From 6cfe0b0a9e86e604a39df6d82ec1f7f59da71e15 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 1 Apr 2011 14:57:36 +0000 Subject: [PATCH 34/43] Important version bump svn path=/nixpkgs/trunk/; revision=26657 --- pkgs/applications/misc/hello/ex-2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; From e3c03f348ea4c45b444e229f78506f0c5035d09f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 1 Apr 2011 19:33:03 +0000 Subject: [PATCH 35/43] * Slight cleanup. svn path=/nixpkgs/trunk/; revision=26665 --- .../networking/browsers/firefox/4.0.nix | 68 ++++++++++--------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/4.0.nix b/pkgs/applications/networking/browsers/firefox/4.0.nix index 96fe1f91cf5..5ca685ab372 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,17 @@ 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 + # 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 +58,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 +69,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 +127,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 +140,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"; From 50b8829ce920728978cf1548f8950a5f0860e4f4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 1 Apr 2011 20:28:01 +0000 Subject: [PATCH 36/43] * Firefox: don't do --enable-system-cairo for now because it causes gradients in tabs and other places in the interface to be missing (i.e. entirely white). Should investigate why our own Cairo doesn't work properly. svn path=/nixpkgs/trunk/; revision=26666 --- pkgs/applications/networking/browsers/firefox/4.0.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox/4.0.nix b/pkgs/applications/networking/browsers/firefox/4.0.nix index 5ca685ab372..f9aae02c32f 100644 --- a/pkgs/applications/networking/browsers/firefox/4.0.nix +++ b/pkgs/applications/networking/browsers/firefox/4.0.nix @@ -36,7 +36,8 @@ rec { "--with-system-nspr" # "--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" + # 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" From ea7a5592901bce33679cd976c25acb5d53a3c462 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 2 Apr 2011 15:21:36 +0000 Subject: [PATCH 37/43] Add support for the new Go frontend to GCC 4.6.0. This isn't as useful as it could be, since gcc-wrapper doesn't know about the gccgo binary so there is no gccgo wrapper script. Since changing gcc-wrapper would lead to a nearly full rebuild, I thing the change to gcc-wrapper should go into stdenv-updates. svn path=/nixpkgs/trunk/; revision=26668 --- .../development/compilers/gcc-4.4/update-gcc.sh | 6 ++++-- pkgs/development/compilers/gcc-4.6/builder.sh | 1 + pkgs/development/compilers/gcc-4.6/default.nix | 7 +++++-- pkgs/development/compilers/gcc-4.6/sources.nix | 17 +++++++++++------ pkgs/top-level/all-packages.nix | 9 +++++++++ 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.4/update-gcc.sh b/pkgs/development/compilers/gcc-4.4/update-gcc.sh index c7afee268e2..6b0bbb99330 100755 --- a/pkgs/development/compilers/gcc-4.4/update-gcc.sh +++ b/pkgs/development/compilers/gcc-4.4/update-gcc.sh @@ -21,16 +21,18 @@ options["g++"]="langCC" options["fortran"]="langFortran" options["java"]="langJava" options["ada"]="langAda" +options["go"]="langGo" cat > "$out"< Date: Sat, 2 Apr 2011 16:09:09 +0000 Subject: [PATCH 38/43] Only set the C++ preprocessor if C++ is enabled svn path=/nixpkgs/trunk/; revision=26669 --- pkgs/development/compilers/gcc-4.6/builder.sh | 4 +++- pkgs/development/compilers/gcc-4.6/default.nix | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.6/builder.sh b/pkgs/development/compilers/gcc-4.6/builder.sh index 57a204d1887..0a18a81ac89 100644 --- a/pkgs/development/compilers/gcc-4.6/builder.sh +++ b/pkgs/development/compilers/gcc-4.6/builder.sh @@ -8,7 +8,9 @@ mkdir $NIX_FIXINC_DUMMY # libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad # Thing. export CPP="gcc -E" -export CXXCPP="gcc -E" +if test "$langCC" = "1"; then + export CXXCPP="gcc -E" #We only want this if C++ is enabled +fi if test "$staticCompiler" = "1"; then EXTRA_LDFLAGS="-static" diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix index 827540b9cab..bfa54f6e0d7 100644 --- a/pkgs/development/compilers/gcc-4.6/default.nix +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -200,7 +200,7 @@ stdenv.mkDerivation ({ else null; inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic - libcCross crossMingw; + libcCross crossMingw langCC; buildNativeInputs = [ texinfo which ] ++ optional (perl != null) perl; From bec9352ae7863481eddd090b2a6d06014238ed57 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 2 Apr 2011 19:13:36 +0000 Subject: [PATCH 39/43] Use g++ -E as the C++ preprocessor The problem with gnat46 not building was because gnatboot replaces the stdenv gcc with the gnat45 gcc, so calling g++ directly as the C++ preprocessor fixes this. svn path=/nixpkgs/trunk/; revision=26671 --- pkgs/development/compilers/gcc-4.6/builder.sh | 4 +--- pkgs/development/compilers/gcc-4.6/default.nix | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/gcc-4.6/builder.sh b/pkgs/development/compilers/gcc-4.6/builder.sh index 0a18a81ac89..af42039310a 100644 --- a/pkgs/development/compilers/gcc-4.6/builder.sh +++ b/pkgs/development/compilers/gcc-4.6/builder.sh @@ -8,9 +8,7 @@ mkdir $NIX_FIXINC_DUMMY # libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad # Thing. export CPP="gcc -E" -if test "$langCC" = "1"; then - export CXXCPP="gcc -E" #We only want this if C++ is enabled -fi +export CXXCPP="g++ -E" if test "$staticCompiler" = "1"; then EXTRA_LDFLAGS="-static" diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix index bfa54f6e0d7..827540b9cab 100644 --- a/pkgs/development/compilers/gcc-4.6/default.nix +++ b/pkgs/development/compilers/gcc-4.6/default.nix @@ -200,7 +200,7 @@ stdenv.mkDerivation ({ else null; inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic - libcCross crossMingw langCC; + libcCross crossMingw; buildNativeInputs = [ texinfo which ] ++ optional (perl != null) perl; From 2a07e68e9c3deb230876edeffffdc6499b922f29 Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Mon, 4 Apr 2011 02:34:17 +0000 Subject: [PATCH 40/43] Upgrade FlashPlayer to version 10.2.153.1 svn path=/nixpkgs/trunk/; revision=26672 --- .../browsers/mozilla-plugins/flashplayer-10/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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"; From e035fb4cac229809867be5e27d1d89f1578bb868 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 4 Apr 2011 05:01:53 +0000 Subject: [PATCH 41/43] Adding Speed Dreams (a TORCS fork) svn path=/nixpkgs/trunk/; revision=26673 --- pkgs/games/speed-dreams/default.nix | 34 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++++ 2 files changed, 40 insertions(+) create mode 100644 pkgs/games/speed-dreams/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72c63e4946a..f2491f309e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7276,6 +7276,12 @@ 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 From 291df5f0c1714af02462387a465b84056cabf460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Mon, 4 Apr 2011 08:45:05 +0000 Subject: [PATCH 42/43] Added the RC of Haskell Platform 2011.2.0.1 ... svn path=/nixpkgs/trunk/; revision=26674 --- .../haskell/haskell-platform/2011.2.0.1.nix | 32 +++++++++++++ .../libraries/haskell/text/0.11.0.6.nix | 14 ++++++ pkgs/top-level/haskell-packages.nix | 48 ++++++++++++++++++- 3 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix create mode 100644 pkgs/development/libraries/haskell/text/0.11.0.6.nix 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/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/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 9fc1df78bac..bcc5ad8acb5 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -86,8 +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; - ghc703Prefs = super : super // super.haskellPlatformDefaults_2011_2_0_0 super; # link - 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 # @@ -118,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; @@ -854,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 {}; From 4eab75bb9212c4da7063f18834b9384641968d42 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 4 Apr 2011 09:28:00 +0000 Subject: [PATCH 43/43] pdsh: updated to 2.25 svn path=/nixpkgs/trunk/; revision=26675 --- pkgs/tools/networking/pdsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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];