From e82ac236abf0cf817f64b6b827b1fdf9850f130f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 23 Apr 2009 15:01:53 +0000 Subject: [PATCH 01/22] svn path=/nixpkgs/trunk/; revision=15278 --- pkgs/top-level/release.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 0ffcbf13086d..abec467571fb 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -83,6 +83,7 @@ in { cedet = linux; chatzilla = linux; cksfv = all; + cmake = all; compiz = linux; coreutils = all; cpio = all; @@ -153,6 +154,7 @@ in { iana_etc = linux; icecat3Xul = [ "i686-linux" ]; idutils = all; + ifplugd = linux; imagemagick = allBut "i686-cygwin"; impressive = linux; inetutils = linux; @@ -171,6 +173,7 @@ in { kvm = linux; less = all; lftp = all; + libarchive = linux; libsmbios = linux; libtool = all; libtool2 = all; @@ -242,6 +245,7 @@ in { ruby = all; screen = linux ++ darwin; seccure = linux; + sharutils = all; slim = linux; sloccount = allBut "i686-cygwin"; spidermonkey = linux; @@ -420,6 +424,7 @@ in { xf86videoi810 = linux; xf86videovesa = linux; xkbcomp = linux; + xmessage = linux; xorgserver = linux; xrandr = linux; xrdb = linux; From 2c2f0d913c96ba8332b33937e3d94a7c73ea21f4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 23 Apr 2009 15:02:09 +0000 Subject: [PATCH 02/22] * Release notes. svn path=/nixpkgs/trunk/; revision=15279 --- doc/release-notes.xml | 68 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 5 deletions(-) diff --git a/doc/release-notes.xml b/doc/release-notes.xml index b68ac515b306..f1cc52e3ef73 100644 --- a/doc/release-notes.xml +++ b/doc/release-notes.xml @@ -5,14 +5,34 @@ Nixpkgs Release Notes -
Release 0.12 (TBA) +
Release 0.12 (April 23, 2009) -This release has the following improvements: +There are way too many additions to Nixpkgs since the last +release to list here: for example, the number of packages on Linux has +increased from 1002 to 2159. However, some specific improvements are +worth listing: - TODO: simplified and expanded stdenv hook - handling. + Nixpkgs now has a manual. In particular, it + describes the standard build environment in + detail. + + Major new packages: + + + + KDE 4. + + TeXLive. + + VirtualBox. + + + + … and many others. + + Important updates: @@ -22,16 +42,54 @@ GCC 4.2.4. - Linux 2.6.25. + Linux 2.6.25 — 2.6.28. + + Firefox 3. + + X.org 7.3. + Support for building derivations in a virtual + machine, including RPM and Debian builds in automatically generated + VM images. See + pkgs/build-support/vm.default.nix for + details. + + Improved support for building Haskell + packages. + +The following people contributed to this release: + +Andres Löh, +Arie Middelkoop, +Armijn Hemel, +Eelco Dolstra, +Lluís Batlle, +Ludovic Courtès, +Marc Weber, +Mart Kolthof, +Martin Bravenboer, +Michael Raskin, +Nicolas Pierron, +Peter Simons, +Pjotr Prins, +Rob Vermaas, +Sander van der Burg, +Tobias Hammerschmidt, +Valentin David, +Wouter den Breejen and +Yury G. Kudryashov. + +In addition, several people contributed patches on the +nix-dev mailing list. +
From cd018e50d43d29587a5211e82ff8dc7f49a5743f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Thu, 23 Apr 2009 17:21:14 +0000 Subject: [PATCH 03/22] 64bit support in Cabal builder svn path=/nixpkgs/trunk/; revision=15282 --- pkgs/development/libraries/haskell/cabal/cabal.nix | 2 +- pkgs/top-level/haskell-packages.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix index cac8990d271f..c0dea9976839 100644 --- a/pkgs/development/libraries/haskell/cabal/cabal.nix +++ b/pkgs/development/libraries/haskell/cabal/cabal.nix @@ -37,7 +37,7 @@ attrs : propagatedBuildInputs = []; # library directories that have to be added to the Cabal files - extraLibDirs = map (x : x + "/lib") self.propagatedBuildInputs; + extraLibDirs = attrs.lib.lists.concatMap (x : [ (x + "/lib64") (x + "/lib") ]) self.propagatedBuildInputs; # compiles Setup and configures configurePhase = '' diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index d9ab86a6d77d..d13141ca9322 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -16,7 +16,7 @@ rec { }; cabal = import ../development/libraries/haskell/cabal/cabal.nix { - inherit (pkgs) stdenv fetchurl; + inherit (pkgs) stdenv fetchurl lib; inherit ghc; }; From cea9c122839fc942cc3fb313a35f3ab1ea4e49c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Thu, 23 Apr 2009 17:48:03 +0000 Subject: [PATCH 04/22] Trying to update haxr, but not finished. svn path=/nixpkgs/trunk/; revision=15283 --- .../development/libraries/haskell/dataenc/default.nix | 11 +++++++++++ pkgs/development/libraries/haskell/haxr/default.nix | 8 ++++---- pkgs/top-level/haskell-packages.nix | 6 +++++- 3 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/libraries/haskell/dataenc/default.nix diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix new file mode 100644 index 000000000000..ba4b1edcc95f --- /dev/null +++ b/pkgs/development/libraries/haskell/dataenc/default.nix @@ -0,0 +1,11 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "dataenc"; + version = "0.11.1"; + sha256 = "1212dbed8a1b8f80140d6450a7635a4365bc5733a00e2b96d00bcc526396c6bc"; + meta = { + description = "Data encoding library"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix index 002b6ff7e618..0f25200516bb 100644 --- a/pkgs/development/libraries/haskell/haxr/default.nix +++ b/pkgs/development/libraries/haskell/haxr/default.nix @@ -1,12 +1,12 @@ -{cabal, HaXml, HTTP}: +{cabal, HaXml, HTTP, dataenc, time}: cabal.mkDerivation (self : { pname = "haxr"; - version = "3000.0.1"; - sha256 = "1sppfd8qyqggfh5m8phxdn40x17g97q6j3a8d5wspy7kcmg2qaci"; + version = "3000.1.1.2"; + sha256 = "c24741a92e27d851a3376158230a52782c1e2b494405ebdde1d256819598c8e8"; meta = { description = "a Haskell library for writing XML-RPC client and server applications"; }; - propagatedBuildInputs = [HaXml HTTP]; + propagatedBuildInputs = [HaXml HTTP dataenc time]; }) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index d13141ca9322..ffbf72e21fd7 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -46,6 +46,10 @@ rec { inherit cabal; }; + dataenc = import ../development/libraries/haskell/dataenc { + inherit cabal; + }; + editline = import ../development/libraries/haskell/editline { inherit (pkgs) libedit; inherit cabal; @@ -104,7 +108,7 @@ rec { }; haxr = import ../development/libraries/haskell/haxr { - inherit cabal HaXml HTTP; + inherit cabal HaXml HTTP dataenc time; }; haxr_th = import ../development/libraries/haskell/haxr-th { From 2bb2373cf98145d7190896785c59f9eb1a2479d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Thu, 23 Apr 2009 17:48:06 +0000 Subject: [PATCH 05/22] Try to link readline Haskell package against ncursesw. svn path=/nixpkgs/trunk/; revision=15284 --- pkgs/development/libraries/haskell/readline/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/haskell/readline/default.nix b/pkgs/development/libraries/haskell/readline/default.nix index fe60a4c51f0d..409d7db27ab4 100644 --- a/pkgs/development/libraries/haskell/readline/default.nix +++ b/pkgs/development/libraries/haskell/readline/default.nix @@ -5,6 +5,11 @@ cabal.mkDerivation (self : { version = "1.0.1.0"; sha256 = "07f2f039f32bf18838a4875d0f3caa3ed9436dd52b962b2061f0bb8a3316fa1d"; propagatedBuildInputs = [ readline ]; + # experimentally link with ncursesw because ghci can't interpret ld scripts, + # and ncurses sometimes seems to be a script pointing to ncursesw + postConfigure = '' + sed -i -e "/^extra-libraries/ s/ncurses/ncursesw/" readline.buildinfo + ''; meta = { description = "An interface to the GNU readline library"; }; From 20a0a02d15c297c15e9ac7a53ffd0d9b27b9bdca Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 23 Apr 2009 18:44:52 +0000 Subject: [PATCH 06/22] * Fix GHC 6.8.3. svn path=/nixpkgs/trunk/; revision=15285 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a71072fc5f2e..7f40092d4f6e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1864,7 +1864,7 @@ let haddock = import ../development/tools/documentation/haddock/boot.nix { inherit gmp; cabal = import ../development/libraries/haskell/cabal/cabal.nix { - inherit stdenv fetchurl; + inherit stdenv fetchurl lib; ghc = ghc642Binary; }; }; From d1045dc8d03490408581f1ca7ae3755947e1c177 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 24 Apr 2009 12:31:33 +0000 Subject: [PATCH 07/22] qgit: update to version 2.2. svn path=/nixpkgs/trunk/; revision=15286 --- .../version-management/git-and-tools/default.nix | 2 +- .../version-management/git-and-tools/qgit/default.nix | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 562fd3a91f9f..9546c43454bd 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -32,7 +32,7 @@ rec { qgit = import ./qgit { inherit fetchurl stdenv; inherit (xlibs) libXext libX11; - qt = qt3; + qt = qt4; }; qgitGit = import ./qgit/qgit-git.nix { diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix index e84f447f505f..8b53d2f5b779 100644 --- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, qt, libXext, libX11}: stdenv.mkDerivation rec { - name = "qgit-1.5.8"; + name = "qgit-2.2"; meta = { license = "GPLv2"; @@ -11,8 +11,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/qgit/${name}.tar.bz2"; - sha256 = "0qmgd1cjny5aciljpvn2bczgdvlpgd2f7wzafda24zj4mzqnppsq"; + sha256 = "82adcc59b2a9d3a3e54eef9e6a76ac6583e459b6f5c97050d26b0593d11c3d32"; }; buildInputs = [qt libXext libX11]; - configureFlags = "CXXFLAGS=-O3"; + configurePhase = "qmake PREFIX=$out"; + installPhase = '' + install -s -D -m 755 bin/qgit "$out/bin/qgit" + ''; } From 72656e7d1cd69ef01bbd346f89b382be356fd5aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 24 Apr 2009 12:48:37 +0000 Subject: [PATCH 08/22] GNU Zile 2.3.7. svn path=/nixpkgs/trunk/; revision=15287 --- pkgs/applications/editors/zile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index a968f7fa498f..0b9c1cec4501 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, ncurses, help2man }: stdenv.mkDerivation rec { - name = "zile-2.3.6"; + name = "zile-2.3.7"; src = fetchurl { url = "mirror://gnu/zile/${name}.tar.gz"; - sha256 = "0p5jij6fknj88ipk4fqw6wpr0ib1b4ycal0psjglf5jyrmzln9jm"; + sha256 = "04fiqy4nwhm42pdl839av7xgmpps9wfm4srpmhgwaydvjv79dgs1"; }; buildInputs = [ ncurses help2man ]; From 0b2be106e0776900388cafffe7fdf59fedf40098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 24 Apr 2009 13:28:16 +0000 Subject: [PATCH 09/22] GNU Time: Improve meta-information. svn path=/nixpkgs/trunk/; revision=15288 --- pkgs/tools/misc/time/default.nix | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix index 281e0a08bfbe..658afb37c035 100644 --- a/pkgs/tools/misc/time/default.nix +++ b/pkgs/tools/misc/time/default.nix @@ -2,11 +2,30 @@ stdenv.mkDerivation { name = "time-1.7"; + src = fetchurl { url = mirror://gnu/time/time-1.7.tar.gz; sha256 = "0va9063fcn7xykv658v2s9gilj2fq4rcdxx2mn2mmy1v4ndafzp3"; }; + meta = { - description = "Command for running programs and summarizing the system resources they use"; + description = "GNU Time, a tool that runs programs and summarizes the system resources they use"; + + longDescription = '' + The `time' command runs another program, then displays + information about the resources used by that program, collected + by the system while the program was running. You can select + which information is reported and the format in which it is + shown, or have `time' save the information in a file instead of + displaying it on the screen. + + The resources that `time' can report on fall into the general + categories of time, memory, and I/O and IPC calls. Some systems + do not provide much information about program resource use; + `time' reports unavailable information as zero values. + ''; + + license = "GPLv2+"; + homepage = http://www.gnu.org/software/time/; }; } From 96443f794ef87b50c603dd21d71a7c1b606810f6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Apr 2009 20:27:54 +0000 Subject: [PATCH 10/22] * Unfortunately, the Gentoo mirror of the attr library is no more stable than the SGI source. So we'll mirror it ourselves. Thanks to Matthew Curry for reporting this. svn path=/nixpkgs/trunk/; revision=15289 --- pkgs/development/libraries/acl/default.nix | 4 +--- pkgs/development/libraries/attr/default.nix | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index 342c07a1b3e6..81e2c77ee96b 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -4,9 +4,7 @@ stdenv.mkDerivation { name = "acl-2.2.47"; src = fetchurl { - # The file cannot be downloaded from sgi.com. - #url = ftp://oss.sgi.com/projects/xfs/cmd_tars/acl_2.2.47-1.tar.gz; - url = "http://gentoo.chem.wisc.edu/gentoo/distfiles/acl_2.2.47-1.tar.gz"; + url = http://nixos.org/tarballs/acl_2.2.47-1.tar.gz; sha256 = "1j39g62fki0iyji9s62slgwdfskpkqy7rmjlqcnmsvsnxbxhc294"; }; diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index 5b8aa839cf87..af15829dad9f 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -4,9 +4,7 @@ stdenv.mkDerivation { name = "attr-2.4.41"; src = fetchurl { - # The file cannot be downloaded from sgi.com. - #url = ftp://oss.sgi.com/projects/xfs/cmd_tars/attr_2.4.41-1.tar.gz; - url = "http://gentoo.chem.wisc.edu/gentoo/distfiles/attr_2.4.41-1.tar.gz"; + url = http://nixos.org/tarballs/attr_2.4.41-1.tar.gz; sha256 = "0dc286g8vr402aca6wg945sdm92bys8a142vrkwx6bkjz4bwz6gp"; }; From 72f7747c68932d6bd4bda4970125958a8dce11e1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Apr 2009 20:51:51 +0000 Subject: [PATCH 11/22] svn path=/nixpkgs/trunk/; revision=15290 --- doc/release-notes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release-notes.xml b/doc/release-notes.xml index f1cc52e3ef73..eb870da3a0e3 100644 --- a/doc/release-notes.xml +++ b/doc/release-notes.xml @@ -5,7 +5,7 @@ Nixpkgs Release Notes -
Release 0.12 (April 23, 2009) +
Release 0.12 (April 24, 2009) There are way too many additions to Nixpkgs since the last release to list here: for example, the number of packages on Linux has From e40533274133514ad7f55e967d0a108de559da5a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 24 Apr 2009 21:59:56 +0000 Subject: [PATCH 12/22] * Bumped the version number. svn path=/nixpkgs/trunk/; revision=15294 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f2bb2d0a27c0..c2bdb5632d21 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.12 \ No newline at end of file +0.13 \ No newline at end of file From c26271927a94fd67554e476fb3e91bd043e5a95d Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 25 Apr 2009 11:19:42 +0000 Subject: [PATCH 13/22] Remove multiversion expression for tailor for easier use of custom versions svn path=/nixpkgs/trunk/; revision=15296 --- .../version-management/tailor/0.9.31.nix | 19 ------------------- .../tailor/{0.9.35.nix => default.nix} | 3 ++- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 pkgs/applications/version-management/tailor/0.9.31.nix rename pkgs/applications/version-management/tailor/{0.9.35.nix => default.nix} (75%) diff --git a/pkgs/applications/version-management/tailor/0.9.31.nix b/pkgs/applications/version-management/tailor/0.9.31.nix deleted file mode 100644 index bd4dced82657..000000000000 --- a/pkgs/applications/version-management/tailor/0.9.31.nix +++ /dev/null @@ -1,19 +0,0 @@ -args : with args; -rec { - src = fetchurl { - url = http://darcs.arstecnica.it/tailor-0.9.31.tar.gz; - sha256 = "1apzd6mfmhgmxffzgzwsr17gnyqj6bycn783l9105cihsfcv9v3j"; - }; - - buildInputs = [python makeWrapper]; - configureFlags = []; - - /* doConfigure should be specified separately */ - phaseNames = ["installPythonPackage" "wrapBinContentsPython"]; - - name = "tailor-" + version; - meta = { - description = "Version control tools integration tool"; - }; -} - diff --git a/pkgs/applications/version-management/tailor/0.9.35.nix b/pkgs/applications/version-management/tailor/default.nix similarity index 75% rename from pkgs/applications/version-management/tailor/0.9.35.nix rename to pkgs/applications/version-management/tailor/default.nix index 78486ec4fa0d..67567679b903 100644 --- a/pkgs/applications/version-management/tailor/0.9.35.nix +++ b/pkgs/applications/version-management/tailor/default.nix @@ -1,7 +1,8 @@ args : with args; +let version = if args ? version then args.version else "0.9.35"; in rec { src = fetchurl { - url = http://darcs.arstecnica.it/tailor-0.9.35.tar.gz; + url = "http://darcs.arstecnica.it/tailor-${version}.tar.gz"; sha256 = "061acapxxn5ab3ipb5nd3nm8pk2xj67bi83jrfd6lqq3273fmdjh"; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7f40092d4f6e..8fc08770b091 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6778,7 +6778,7 @@ let inherit (xlibs) xextproto libXtst inputproto; }; - tailor = builderDefsPackage (selectVersion ../applications/version-management/tailor "0.9.35") { + tailor = builderDefsPackage (import ../applications/version-management/tailor) { inherit makeWrapper python; }; From 66f3af0bdd87c8f3029aefcd3dd8f069cdbff5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sat, 25 Apr 2009 14:23:00 +0000 Subject: [PATCH 14/22] ghc-wrapper now detects installed pkgs automatically. svn path=/nixpkgs/trunk/; revision=15301 --- .../compilers/ghc/ghc-get-packages.sh | 21 +++++++++++++++++++ pkgs/development/compilers/ghc/setup-hook.sh | 17 --------------- pkgs/development/compilers/ghc/wrapper.nix | 21 +++++++++++++++---- .../libraries/haskell/cabal/cabal.nix | 10 ++++++++- pkgs/top-level/haskell-packages.nix | 4 ++-- 5 files changed, 49 insertions(+), 24 deletions(-) create mode 100755 pkgs/development/compilers/ghc/ghc-get-packages.sh delete mode 100644 pkgs/development/compilers/ghc/setup-hook.sh diff --git a/pkgs/development/compilers/ghc/ghc-get-packages.sh b/pkgs/development/compilers/ghc/ghc-get-packages.sh new file mode 100755 index 000000000000..4593ead17d31 --- /dev/null +++ b/pkgs/development/compilers/ghc/ghc-get-packages.sh @@ -0,0 +1,21 @@ +#! /bin/sh +# Usage: +# $1: version of GHC +# $2: invocation path of GHC +# $3: prefix +version="$1" +if test -z "$3"; then + prefix="-package-conf " +else + prefix="$3" +fi +PATH="$2:$PATH" +IFS=":" +PKGS="" +for p in $PATH; do + PkgDir="$p/../lib/ghc-pkgs/ghc-$version" + for i in $PkgDir/*.installedconf; do + test -f $i && PKGS="$PKGS $prefix$i" + done +done +echo $PKGS diff --git a/pkgs/development/compilers/ghc/setup-hook.sh b/pkgs/development/compilers/ghc/setup-hook.sh deleted file mode 100644 index 11ad50a0c796..000000000000 --- a/pkgs/development/compilers/ghc/setup-hook.sh +++ /dev/null @@ -1,17 +0,0 @@ -# Create isolated package config -packages_db=$TMPDIR/.package.conf -cp @ghc@/lib/ghc-*/package.conf $packages_db -chmod u+w $packages_db - -export GHC_PACKAGE_PATH=$packages_db - -# Env hook to add packages to the package config -addLibToPackageConf () { - local fn - shopt -s nullglob - for fn in $1/lib/ghc-pkgs/ghc-@ghcVersion@/*.conf; do - @ghc@/bin/ghc-pkg register --force $fn - done -} - -envHooks=(${envHooks[@]} addLibToPackageConf) diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix index 932cf6343018..5cacfdf8f894 100644 --- a/pkgs/development/compilers/ghc/wrapper.nix +++ b/pkgs/development/compilers/ghc/wrapper.nix @@ -1,14 +1,27 @@ -{stdenv, ghc}: +{stdenv, ghc, makeWrapper}: stdenv.mkDerivation { - name = "ghc-wrapper-${ghc.version}"; + name = "ghc-${ghc.version}-wrapper"; + buildInputs = [makeWrapper]; propagatedBuildInputs = [ghc]; unpackPhase = "true"; - installPhase = "true"; + installPhase = '' + ensureDir $out/bin + cp $GHCGetPackages $out/bin/ghc-get-packages.sh + chmod 755 $out/bin/ghc-get-packages.sh + for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version} runghc runhaskell; do + makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\")" + done + for prg in ghc-pkg ghc-pkg-${ghc.version}; do + makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" --package-conf=)" + done + ensureDir $out/nix-support + ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages + ''; - setupHook = ./setup-hook.sh; + GHCGetPackages = ./ghc-get-packages.sh; inherit ghc; ghcVersion = ghc.version; diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix index c0dea9976839..c4ea86a4ac72 100644 --- a/pkgs/development/libraries/haskell/cabal/cabal.nix +++ b/pkgs/development/libraries/haskell/cabal/cabal.nix @@ -68,9 +68,17 @@ attrs : ./Setup copy + ensureDir $out/bin # necessary to get it added to PATH + local confDir=$out/lib/ghc-pkgs/ghc-${attrs.ghc.ghc.version} + local installedPkgConf=$confDir/${self.fname}.installedconf + local pkgConf=$confDir/${self.fname}.conf ensureDir $confDir - ./Setup register --gen-pkg-config=$confDir/${self.fname}.conf + ./Setup register --gen-pkg-config=$pkgConf + if test -f $pkgConf; then + echo '[]' > $installedPkgConf + GHC_PACKAGE_PATH=$installedPkgConf ghc-pkg --global register $pkgConf --force + fi ensureDir $out/nix-support ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ffbf72e21fd7..a10da675ae59 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1,6 +1,6 @@ {pkgs, ghc}: -let ghcReal = ghc; in +let ghcReal = pkgs.lowPrio ghc; in rec { @@ -11,7 +11,7 @@ rec { # wrapper provides essential functionality: the ability to find # Haskell packages in the buildInputs automatically. ghc = import ../development/compilers/ghc/wrapper.nix { - inherit (pkgs) stdenv; + inherit (pkgs) stdenv makeWrapper; ghc = ghcReal; }; From 2a1fae29f8acee4bef60a82a7871ceab822b8f43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sat, 25 Apr 2009 15:33:29 +0000 Subject: [PATCH 15/22] Added some SDL-related Haskell libs. svn path=/nixpkgs/trunk/; revision=15304 --- .../libraries/haskell/SDL-image/default.nix | 12 +++++++++++ .../libraries/haskell/SDL-mixer/default.nix | 12 +++++++++++ .../libraries/haskell/SDL-ttf/default.nix | 12 +++++++++++ .../libraries/haskell/SDL/default.nix | 12 +++++++++++ pkgs/top-level/haskell-packages.nix | 20 +++++++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 pkgs/development/libraries/haskell/SDL-image/default.nix create mode 100644 pkgs/development/libraries/haskell/SDL-mixer/default.nix create mode 100644 pkgs/development/libraries/haskell/SDL-ttf/default.nix create mode 100644 pkgs/development/libraries/haskell/SDL/default.nix diff --git a/pkgs/development/libraries/haskell/SDL-image/default.nix b/pkgs/development/libraries/haskell/SDL-image/default.nix new file mode 100644 index 000000000000..4555cf322b84 --- /dev/null +++ b/pkgs/development/libraries/haskell/SDL-image/default.nix @@ -0,0 +1,12 @@ +{cabal, SDL, SDL_image}: + +cabal.mkDerivation (self : { + pname = "SDL-image"; + version = "0.5.2"; + sha256 = "82765f5ed11ef2ad3eb47f59105fe5aecd8de2515d698ef9ea989dc4cec18016"; + propagatedBuildInputs = [SDL SDL_image]; + meta = { + description = "Binding to libSDL_image"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/SDL-mixer/default.nix b/pkgs/development/libraries/haskell/SDL-mixer/default.nix new file mode 100644 index 000000000000..e1bd81d834b3 --- /dev/null +++ b/pkgs/development/libraries/haskell/SDL-mixer/default.nix @@ -0,0 +1,12 @@ +{cabal, SDL, SDL_mixer}: + +cabal.mkDerivation (self : { + pname = "SDL-mixer"; + version = "0.5.5"; + sha256 = "0e1b07a0cbe22eafff7b36f53e4ea840abad50131a867cb70d47beaf902fd185"; + propagatedBuildInputs = [SDL SDL_mixer]; + meta = { + description = "Binding to libSDL_mixer"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/SDL-ttf/default.nix b/pkgs/development/libraries/haskell/SDL-ttf/default.nix new file mode 100644 index 000000000000..89c3a9bad8a6 --- /dev/null +++ b/pkgs/development/libraries/haskell/SDL-ttf/default.nix @@ -0,0 +1,12 @@ +{cabal, SDL, SDL_ttf}: + +cabal.mkDerivation (self : { + pname = "SDL-ttf"; + version = "0.5.5"; + sha256 = "577109d01fca61c103520e7bf33e45af118bcb6d15fcd6da7a8b72c43c69cbb6"; + propagatedBuildInputs = [SDL SDL_ttf]; + meta = { + description = "Binding to libSDL_ttf"; + }; +}) + diff --git a/pkgs/development/libraries/haskell/SDL/default.nix b/pkgs/development/libraries/haskell/SDL/default.nix new file mode 100644 index 000000000000..0ffca624cd4b --- /dev/null +++ b/pkgs/development/libraries/haskell/SDL/default.nix @@ -0,0 +1,12 @@ +{cabal, SDL}: + +cabal.mkDerivation (self : { + pname = "SDL"; + version = "0.5.5"; + sha256 = "cc56c723e03befd99be0a293347690ba7d2cb7fdafcbbc287f067a8cf70af172"; + propagatedBuildInputs = [SDL]; + meta = { + description = "Binding to libSDL"; + }; +}) + diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index a10da675ae59..122cb294c372 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -218,6 +218,26 @@ rec { inherit cabal regexBase; }; + SDLImage = import ../development/libraries/haskell/SDL-image { + inherit cabal SDL; + inherit (pkgs) SDL_image; + }; + + SDLMixer = import ../development/libraries/haskell/SDL-mixer { + inherit cabal SDL; + inherit (pkgs) SDL_mixer; + }; + + SDLTtf = import ../development/libraries/haskell/SDL-ttf { + inherit cabal SDL; + inherit (pkgs) SDL_ttf; + }; + + SDL = import ../development/libraries/haskell/SDL { + inherit cabal; + inherit (pkgs) SDL; + }; + stm = import ../development/libraries/haskell/stm { inherit cabal; }; From 922c14e372666eee5a0389225b46330d6a400a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sat, 25 Apr 2009 15:33:37 +0000 Subject: [PATCH 16/22] Added MonadRandom Haskell package. svn path=/nixpkgs/trunk/; revision=15305 --- .../libraries/haskell/MonadRandom/default.nix | 12 ++++++++++++ pkgs/top-level/haskell-packages.nix | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/MonadRandom/default.nix diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix new file mode 100644 index 000000000000..461f98a9033c --- /dev/null +++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix @@ -0,0 +1,12 @@ +{cabal, mtl}: + +cabal.mkDerivation (self : { + pname = "MonadRandom"; + version = "0.1.3"; + sha256 = "be4dd46a93b59a5e94b58e6986934ca91feace9962a1741b6107a3dd06879fea"; + propagatedBuildInputs = [mtl]; + meta = { + description = "Random-number generation monad"; + }; +}) + diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 122cb294c372..1c6fb17aea47 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -153,6 +153,10 @@ rec { inherit cabal; }; + MonadRandom = import ../development/libraries/haskell/MonadRandom { + inherit cabal mtl; + }; + mtl = import ../development/libraries/haskell/mtl { inherit cabal; }; From 1a6e7109d12280edce7d9243a4cc221c61caa41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sat, 25 Apr 2009 15:39:25 +0000 Subject: [PATCH 17/22] Don't build the Haskell Platform on Darwin. svn path=/nixpkgs/trunk/; revision=15306 --- pkgs/top-level/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index abec467571fb..1976b1b23ecd 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -344,7 +344,7 @@ in { gtk2hs = ghcSupported; leksah = ghcSupported; lhs2tex = ghcSupported; - haskellPlatform = ghcSupported; + haskellPlatform = linux; /* OpenGL/mesa seems to fail on darwin */ xmonad = ghcSupported; }; From 1f8e1f296da363ca3bb00f52940ead7f3c2f002c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 25 Apr 2009 16:21:56 +0000 Subject: [PATCH 18/22] Updating freeimage and vxl. svn path=/nixpkgs/trunk/; revision=15307 --- pkgs/development/libraries/freeimage/default.nix | 4 ++-- pkgs/development/libraries/vxl/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix index 7882b7fdfe53..aab578596909 100644 --- a/pkgs/development/libraries/freeimage/default.nix +++ b/pkgs/development/libraries/freeimage/default.nix @@ -2,8 +2,8 @@ stdenv.mkDerivation { name = "freeimage-3.11.0"; src = fetchurl { - url = mirror://sourceforge/freeimage/FreeImage3110.zip; - sha256 = "84021b8c0b86e5801479474ad9a99c18d121508ee16d363e02ddcbf24195340c"; + url = mirror://sourceforge/freeimage/FreeImage3120.zip; + sha256 = "1hvcmv8hnv3h24zcl324g3l0ww8aa8fkcfav2lrgs1kwzp5zqcd4"; }; buildInputs = [ unzip ]; patchPhase = '' diff --git a/pkgs/development/libraries/vxl/default.nix b/pkgs/development/libraries/vxl/default.nix index 652c423fd7ef..4d6e2beb7a13 100644 --- a/pkgs/development/libraries/vxl/default.nix +++ b/pkgs/development/libraries/vxl/default.nix @@ -3,8 +3,8 @@ stdenv.mkDerivation { name = "vxl-1.11.0"; src = fetchurl { - url = mirror://sourceforge/vxl/vxl-1.11.0.zip; - sha256 = "84f38d0c3656b5e4470e16ddce715bafcaa478ff066e6cec6f54524b5d72fa68"; + url = mirror://sourceforge/vxl/vxl-1.12.0.zip; + sha256 = "11nwa37g42l81xv18s2q2jflc4vr2ncsm7wn7yv269wfwxcjhnlc"; }; buildInputs = [ cmake unzip libtiff expat zlib libpng libjpeg ]; From 1e8fff0915597f38149ff5072ab5c22d9343b945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 25 Apr 2009 16:22:08 +0000 Subject: [PATCH 19/22] Updating Wine. svn path=/nixpkgs/trunk/; revision=15308 --- pkgs/misc/emulators/wine/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index 984e99bc92a3..7208b01a18c8 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -8,11 +8,11 @@ assert stdenv.isLinux; let lib = import ../../../lib/default.nix; in stdenv.mkDerivation rec { - name = "wine-1.1.15"; + name = "wine-1.1.20"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "0ki5isgzp62g2ikczf875z31iwqhzwf3n48j2r0s9hhrzkxgd5pg"; + sha256 = "1g6js3zszn91jz0fb3h612m426ih1132s36ggqldvl37rxx4kfys"; }; buildInputs = [ From c2d651ef68ff09efb67ca15f3ae1aae4baa4ce83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 25 Apr 2009 16:22:12 +0000 Subject: [PATCH 20/22] Removing static compilation of the driver for cromfs, so the package works again in x86_64 svn path=/nixpkgs/trunk/; revision=15309 --- pkgs/tools/archivers/cromfs/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/archivers/cromfs/default.nix b/pkgs/tools/archivers/cromfs/default.nix index 4d09d9aace32..5164d45b612b 100644 --- a/pkgs/tools/archivers/cromfs/default.nix +++ b/pkgs/tools/archivers/cromfs/default.nix @@ -14,11 +14,13 @@ stdenv.mkDerivation { description = "FUSE Compressed ROM filesystem with lzma" ; homepage = http://bisqwit.iki.fi/source/cromfs.html; }; + + # Removing the static linking, as it doesn't compile in x86_64. + makeFlags = "cromfs-driver util/mkcromfs util/unmkcromfs util/cvcromfs"; installPhase = '' install -d $out/bin install cromfs-driver $out/bin - install cromfs-driver-static $out/bin install util/cvcromfs $out/bin install util/mkcromfs $out/bin install util/unmkcromfs $out/bin From ecd43e2bfe9bf845206da01c38c580bfae4660e2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 25 Apr 2009 18:34:11 +0000 Subject: [PATCH 21/22] * Updated the script that copies tarballs used in Nixpkgs to nixos.org/tarballs. It no longer greps the source for fetchurl calls, because a lot of URLs are now computed (e.g. "http://foo/${name}.tar.bz2"). So instead we evaluate the Nix expression with "nix-instantiate --xml --strict" and look for URLs in the result. Because I'm lazy the script no longer checks whether the hash of the download matches the hash in the expression. svn path=/nixpkgs/trunk/; revision=15310 --- maintainers/scripts/copy-tarballs.sh | 57 +++++++++++++++++++ maintainers/scripts/evacuate-urls.sh | 83 ---------------------------- 2 files changed, 57 insertions(+), 83 deletions(-) create mode 100755 maintainers/scripts/copy-tarballs.sh delete mode 100755 maintainers/scripts/evacuate-urls.sh diff --git a/maintainers/scripts/copy-tarballs.sh b/maintainers/scripts/copy-tarballs.sh new file mode 100755 index 000000000000..76ced8a01d90 --- /dev/null +++ b/maintainers/scripts/copy-tarballs.sh @@ -0,0 +1,57 @@ +#! /bin/sh -e + +distDir=/data/webserver/tarballs + +urls=$(nix-instantiate --eval-only --xml --strict pkgs/top-level/build-for-release.nix \ + | grep -A2 'name="urls"' \ + | grep ' $newPath" - - if test -n "$doCopy"; then - if ! curl --disable-epsv --fail --location --max-redirs 20 --remote-time \ - "$url" --output "$newPath".tmp; then - continue - fi - mv -f "$newPath".tmp "$newPath" - fi - - fi - - if test -n "$doCopy" -a -e "$newPath"; then - - md5=$(nix-hash --flat --type md5 "$newPath") - ln -sfn "../$base" $distDir/md5/$md5 - - sha1=$(nix-hash --flat --type sha1 "$newPath") - ln -sfn "../$base" $distDir/sha1/$sha1 - - sha256=$(nix-hash --flat --type sha256 "$newPath") - ln -sfn "../$base" $distDir/sha256/$sha256 - ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256") - - fi - - fi - - fi - - done - -done - -echo DONE From f7454eae9cc9255883dd5afb6beb945fb49737f2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 25 Apr 2009 22:36:33 +0000 Subject: [PATCH 22/22] * Be able to cope with future changes to Upstart. svn path=/nixpkgs/trunk/; revision=15311 --- pkgs/os-specific/linux/upstart/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix index b35f9c036421..9f3a631bab34 100644 --- a/pkgs/os-specific/linux/upstart/default.nix +++ b/pkgs/os-specific/linux/upstart/default.nix @@ -14,6 +14,16 @@ stdenv.mkDerivation { preBuild = "export NIX_CFLAGS_COMPILE=\"$NIX_CFLAGS_COMPILE -DSHELL=\\\"$SHELL\\\"\""; + # The interface version prevents NixOS from switching to an + # incompatible Upstart at runtime. (Switching across reboots is + # fine, of course.) It should be increased whenever Upstart changes + # in a backwards-incompatible way. If the interface version of two + # Upstart builds is the same, then we can switch between them at + # runtime; otherwise we can't and we need to reboot. + passthru = { + interfaceVersion = 0; + }; + meta = { homepage = "http://upstart.ubuntu.com/"; description = "An event-based replacement for the /sbin/init daemon";