From 5386b47ead669344e7f254e4bd37ee7949d51a4e Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 3 Jan 2012 17:22:11 +0000
Subject: [PATCH 01/19] * Revert.  Cmake is still broken on i686-linux.

svn path=/nixpkgs/trunk/; revision=31244
---
 pkgs/development/tools/build-managers/cmake/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 53e27836d73a..c7484ee6e84b 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -7,7 +7,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "2.8";
-  minorVersion = "7";
+  minorVersion = "4";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "17zmxh0gyis6w05d2km0swlvy94h3w10jgra0fpa5qcg7l2j628k";
+    sha256 = "1k2kjaj3vfifb329ff7fr4hcbpbaqb66l97pshq70h7m0zwajznr";
   };
 
   patches =

From b9165446519000ba9e43e4ed5ffe2912873e3c3d Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Tue, 3 Jan 2012 17:50:10 +0000
Subject: [PATCH 02/19] Updated GNU ghostscript to version 9.04.1.

 - Merged the builder.sh file into the expression itself.

 - Need to force "-lz" flag to fix linker errors. This is probably a bug
   in the build system, so further updates may not need that hack.

 - Need to force "-rpath=${freetype}/lib" flag to fix run-time errors
   because gs can't find the libfreetype.so.6 library. I don't quite
   understand why that path isn't hard-coded to begin with.

svn path=/nixpkgs/trunk/; revision=31247
---
 pkgs/misc/ghostscript/builder.sh       | 19 ------
 pkgs/misc/ghostscript/default.nix      | 35 +++++++----
 pkgs/misc/ghostscript/pstoraster.patch | 81 --------------------------
 3 files changed, 23 insertions(+), 112 deletions(-)
 delete mode 100644 pkgs/misc/ghostscript/builder.sh
 delete mode 100644 pkgs/misc/ghostscript/pstoraster.patch

diff --git a/pkgs/misc/ghostscript/builder.sh b/pkgs/misc/ghostscript/builder.sh
deleted file mode 100644
index 361b7f77f0c6..000000000000
--- a/pkgs/misc/ghostscript/builder.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-source $stdenv/setup
-
-preConfigure() {
-    # "ijs" is impure: it contains symlinks to /usr/share/automake etc.!
-    rm -rf ijs/ltmain.sh
-
-    # Don't install stuff in the Cups store path.
-    makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups)
-}
-
-installTargets="install install-so install-data install-doc install-man"
-
-postInstall() {
-    for i in $fonts; do
-        (cd $out/share/ghostscript && tar xvfz $i)
-    done
-}
-
-genericBuild
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 442fb8a0e50d..ddd51f73f79e 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl
+{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl, lcms, freetype
 , x11Support, x11 ? null
 , cupsSupport ? false, cups ? null
 , gnuFork ? true
@@ -28,10 +28,10 @@ let
   };
 
   gnuForkData = rec {
-    name = "ghostscript-8.71.1";
+    name = "ghostscript-9.04.1";
     src = fetchurl {
       url = "mirror://gnu/ghostscript/gnu-${name}.tar.bz2";
-      sha256 = "0vab9905h6sl5s5miai4vhhwdacjlkxqmykfr42x32sr25wjqgvl";
+      sha256 = "0zqa6ggbkdqiszsywgrra4ij0sddlmrfa50bx2mh568qid4ga0a2";
     };
 
     inherit meta;
@@ -56,8 +56,6 @@ in
 stdenv.mkDerivation rec {
   inherit (variant) name src meta;
 
-  builder = ./builder.sh;
-
   fonts = [
     (fetchurl {
       url = mirror://gnu/ghostscript/gnu-gs-fonts-std-6.0.tar.gz;
@@ -70,17 +68,30 @@ stdenv.mkDerivation rec {
     # ... add other fonts here
   ];
 
-  buildInputs = [libjpeg libpng libtiff zlib pkgconfig fontconfig openssl]
-    ++ stdenv.lib.optional x11Support x11
+  buildInputs = [libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms]
+    ++ stdenv.lib.optionals x11Support [x11 freetype]
     ++ stdenv.lib.optional cupsSupport cups;
 
-  configureFlags =
-    if x11Support then [ "--with-x" ] else [ "--without-x" ];
-
   CFLAGS = "-fPIC";
+  NIX_LDFLAGS = "-lz -rpath=${freetype}/lib";
 
-  patches = [ ./purity.patch ./urw-font-files.patch ]
-    ++ stdenv.lib.optional gnuFork ./pstoraster.patch;
+  patches = [ ./purity.patch ./urw-font-files.patch ];
+
+  preConfigure = ''
+    # "ijs" is impure: it contains symlinks to /usr/share/automake etc.!
+    rm -rf ijs/ltmain.sh
+
+    # Don't install stuff in the Cups store path.
+    makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups)
+  '';
+
+  configureFlags = if x11Support then [ "--with-x" ] else [ "--without-x" ];
 
   doCheck = true;
+
+  postInstall = ''
+    for i in $fonts; do
+      (cd $out/share/ghostscript && tar xvfz $i)
+    done
+  '';
 }
diff --git a/pkgs/misc/ghostscript/pstoraster.patch b/pkgs/misc/ghostscript/pstoraster.patch
deleted file mode 100644
index 465c91e4f19e..000000000000
--- a/pkgs/misc/ghostscript/pstoraster.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Upstream issue: http://bugs.ghostscript.com/show_bug.cgi?id=691108
-e.g. printing a test page prints only black
-
-Patch: https://bugs.archlinux.org/task/18339
-
---- a/cups/gdevcups.c
-+++ b/cups/gdevcups.c
-@@ -975,7 +975,8 @@ cups_map_cmyk(gx_device *pdev,		/* I - Device info */
- 	      frac      k,		/* I - Black value */
- 	      frac      *out)		/* O - Device colors */
- {
--  int	c0, c1, c2, c3;			/* Temporary color values */
-+  int	c0 = 0, c1 = 0,
-+        c2 = 0, c3 = 0;			/* Temporary color values */
-   float	rr, rg, rb,			/* Real RGB colors */
- 	ciex, ciey, ciez,		/* CIE XYZ colors */
- 	ciey_yn,			/* Normalized luminance */
-@@ -2703,9 +2704,13 @@ cups_put_params(gx_device     *pdev,	/* I - Device info */
-   int			color_set;	/* Were the color attrs set? */
-   gdev_prn_space_params	sp;		/* Space parameter data */
-   int			width,		/* New width of page */
--                        height;		/* New height of page */
-+                        height,		/* New height of page */
-+                        colorspace,     /* New color space */
-+                        bitspercolor;   /* New bits per color */
-   static int            width_old = 0,  /* Previous width */
--                        height_old = 0; /* Previous height */
-+                        height_old = 0, /* Previous height */
-+                        colorspace_old = 0,/* Previous color space */
-+                        bitspercolor_old = 0;/* Previous bits per color */
-   ppd_attr_t            *backside = NULL,
-                         *backsiderequiresflippedmargins = NULL;
-   float                 swap;
-@@ -2800,9 +2805,10 @@ cups_put_params(gx_device     *pdev,	/* I - Device info */
-   else if (code == 0) \
-   { \
-     dprintf1("DEBUG: Setting %s to", sname); \
--    for (i = 0; i < count; i ++) \
--      dprintf1(" %d", (unsigned)(arrayval.data[i]));	 \
--      cups->header.name[i] = (unsigned)arrayval.data[i]; \
-+    for (i = 0; i < count; i ++) { \
-+      dprintf1(" %d", (unsigned)(arrayval.data[i])); \
-+      cups->header.name[i] = (unsigned)(arrayval.data[i]); \
-+    } \
-     dprintf("...\n"); \
-   }
- 
-@@ -3243,23 +3249,31 @@ cups_put_params(gx_device     *pdev,	/* I - Device info */
-     }
- #endif /* CUPS_RASTER_SYNCv1 */
- 
-+    colorspace = cups->header.cupsColorSpace;
-+    bitspercolor = cups->header.cupsBitsPerColor;
-+
-    /*
-     * Don't reallocate memory unless the device has been opened...
-     * Also reallocate only if the size has actually changed...
-     */
- 
--    if (pdev->is_open && (width != width_old || height != height_old))
-+    if (pdev->is_open &&
-+	(width != width_old || height != height_old ||
-+	 colorspace != colorspace_old || bitspercolor != bitspercolor_old))
-     {
- 
-       width_old = width;
-       height_old = height;
-+      colorspace_old = colorspace;
-+      bitspercolor_old = bitspercolor;
- 
-      /*
-       * Device is open and size has changed, so reallocate...
-       */
- 
--      dprintf4("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels...\n",
--	       pdev->MediaSize[0], pdev->MediaSize[1], width, height);
-+      dprintf6("DEBUG2: Reallocating memory, [%.0f %.0f] = %dx%d pixels, color space: %d, bits per color: %d...\n",
-+	       pdev->MediaSize[0], pdev->MediaSize[1], width, height,
-+	       colorspace, bitspercolor);
- 
-       sp = ((gx_device_printer *)pdev)->space_params;
\ No newline at end of file

From 29d613ba0e9aa5ef2dd83511e997105cb7a8bc46 Mon Sep 17 00:00:00 2001
From: "Yury G. Kudryashov" <urkud.urkud@gmail.com>
Date: Tue, 3 Jan 2012 18:00:02 +0000
Subject: [PATCH 03/19] Add a warning to cmake/default.nix

svn path=/nixpkgs/trunk/; revision=31248
---
 pkgs/development/tools/build-managers/cmake/default.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index c7484ee6e84b..80958e2885ff 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -11,6 +11,7 @@ let
   version = "${majorVersion}.${minorVersion}";
 in
 
+# WARNING: Do NOT upgrade cmake in trunk: it fails to build on i686-linux
 stdenv.mkDerivation rec {
   name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
 

From e43bd7c4cea2d642ff06cd584cf8c6de20643dcd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?=
 <viric@vicerveza.homeunix.net>
Date: Tue, 3 Jan 2012 19:12:06 +0000
Subject: [PATCH 04/19] Made lua and task warrior unstable crossbuild fine

svn path=/nixpkgs/trunk/; revision=31251
---
 pkgs/applications/misc/taskwarrior/unstable.nix | 9 ++++++++-
 pkgs/development/interpreters/lua-5/default.nix | 1 +
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/pkgs/applications/misc/taskwarrior/unstable.nix b/pkgs/applications/misc/taskwarrior/unstable.nix
index 057ebbe57c53..a50654b28d25 100644
--- a/pkgs/applications/misc/taskwarrior/unstable.nix
+++ b/pkgs/applications/misc/taskwarrior/unstable.nix
@@ -10,7 +10,14 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-ldl";
 
-  buildInputs = [ cmake lua5 ];
+  buildNativeInputs = [ cmake ];
+  buildInputs = [ lua5 ];
+
+  crossAttrs = {
+    preConfigure = ''
+      export NIX_CROSS_LDFLAGS="$NIX_CROSS_LDFLAGS -ldl"
+    '';
+  };
 
   meta = {
     description = "Command-line todo list manager";
diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix
index 19a5599347ff..06703e12210d 100644
--- a/pkgs/development/interpreters/lua-5/default.nix
+++ b/pkgs/development/interpreters/lua-5/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation {
         -e "s/ ranlib/$crossConfig-ranlib/" \
         src/Makefile
     '';
+    dontStrip = true;
   };
 
   meta = {

From 195ff32a63a212fe222c91629eed8de71cd6255d Mon Sep 17 00:00:00 2001
From: Florian Friesdorf <flo@chaoflow.net>
Date: Tue, 3 Jan 2012 20:58:54 +0000
Subject: [PATCH 05/19] set emacs load-path according to NIX_PROFILES via
 site-start.el

svn path=/nixpkgs/trunk/; revision=31252
---
 pkgs/applications/editors/emacs-23/default.nix | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/pkgs/applications/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix
index 5de1b38bb41d..312ced38c41d 100644
--- a/pkgs/applications/editors/emacs-23/default.nix
+++ b/pkgs/applications/editors/emacs-23/default.nix
@@ -31,6 +31,16 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (stdenv ? glibc)
          [ "--with-crt-dir=${stdenv.glibc}/lib" ];
 
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+;; nixos specific load-path
+(setq load-path
+      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                               (split-string (getenv "NIX_PROFILES"))))
+              load-path))
+EOF
+  '';
+
   doCheck = true;
 
   meta = {

From f051f29fbd4682e7bee55da57e6a6b92690caaf6 Mon Sep 17 00:00:00 2001
From: Florian Friesdorf <flo@chaoflow.net>
Date: Tue, 3 Jan 2012 20:58:57 +0000
Subject: [PATCH 06/19] load-path also for emacs-22 and emacs-snapshot

svn path=/nixpkgs/trunk/; revision=31253
---
 pkgs/applications/editors/emacs-22/default.nix       | 10 ++++++++++
 pkgs/applications/editors/emacs-snapshot/default.nix | 10 ++++++++++
 2 files changed, 20 insertions(+)

diff --git a/pkgs/applications/editors/emacs-22/default.nix b/pkgs/applications/editors/emacs-22/default.nix
index 89c8af070e09..c6b1fcaa987e 100644
--- a/pkgs/applications/editors/emacs-22/default.nix
+++ b/pkgs/applications/editors/emacs-22/default.nix
@@ -30,6 +30,16 @@ stdenv.mkDerivation rec {
   configureFlags =
     stdenv.lib.optional gtkGUI "--with-x-toolkit=gtk";
 
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+;; nixos specific load-path
+(setq load-path
+      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                               (split-string (getenv "NIX_PROFILES"))))
+              load-path))
+EOF
+  '';
+
   meta = {
     description = "GNU Emacs, *the* text editor";
 
diff --git a/pkgs/applications/editors/emacs-snapshot/default.nix b/pkgs/applications/editors/emacs-snapshot/default.nix
index d190a5809cfc..06d8e09d5b17 100644
--- a/pkgs/applications/editors/emacs-snapshot/default.nix
+++ b/pkgs/applications/editors/emacs-snapshot/default.nix
@@ -48,6 +48,16 @@ stdenv.mkDerivation {
     ${if gtkGUI then "--with-x-toolkit=gtk --enable-font-backend --with-xft" else ""}
   ";
 
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+;; nixos specific load-path
+(setq load-path
+      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                               (split-string (getenv "NIX_PROFILES"))))
+              load-path))
+EOF
+  '';
+
   meta = {
     description = "GNU Emacs with Unicode, GTK and Xft support (23.x alpha)";
     homepage = http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs;

From 5a78287adf9b53d57723391d34d45335546ffd4a Mon Sep 17 00:00:00 2001
From: Florian Friesdorf <flo@chaoflow.net>
Date: Tue, 3 Jan 2012 20:59:00 +0000
Subject: [PATCH 07/19] added myself to maintainers

svn path=/nixpkgs/trunk/; revision=31254
---
 pkgs/applications/editors/emacs-23/default.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/applications/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix
index 312ced38c41d..cc841a9bd12c 100644
--- a/pkgs/applications/editors/emacs-23/default.nix
+++ b/pkgs/applications/editors/emacs-23/default.nix
@@ -66,7 +66,7 @@ EOF
     homepage = http://www.gnu.org/software/emacs/;
     license = "GPLv3+";
 
-    maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers; [ ludo simons chaoflow ];
     platforms = stdenv.lib.platforms.all;
   };
 }

From d028c7e00d11497df9eed2228119f1cc20b6195d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?=
 <viric@vicerveza.homeunix.net>
Date: Tue, 3 Jan 2012 21:14:14 +0000
Subject: [PATCH 08/19] Adding a preliminary package for librecad. It fails to
 install still.

svn path=/nixpkgs/trunk/; revision=31255
---
 pkgs/applications/misc/librecad/default.nix | 28 +++++++++++++++++++++
 pkgs/top-level/all-packages.nix             |  2 ++
 2 files changed, 30 insertions(+)
 create mode 100644 pkgs/applications/misc/librecad/default.nix

diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix
new file mode 100644
index 000000000000..bcf0f1aee792
--- /dev/null
+++ b/pkgs/applications/misc/librecad/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, qt4}:
+
+stdenv.mkDerivation {
+  name = "librecad-1.0.0";
+
+  src = fetchurl {
+    url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.0;
+    name = "librecad-1.0.0.tar.gz";
+    sha256 = "0s1ikyvy98zz1vw3xf5la73n3sykib6292cmhh2z738ggwigicc9";
+  };
+
+  patchPhase = ''
+    sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh
+  '';
+
+  configurePhase = "qmake PREFIX=$out";
+
+  # It builds, but it does not install
+  installPhase = "exit 1";
+
+  buildInputs = [ qt4 ];
+
+  meta = {
+    description = "A 2D CAD package based upon Qt";
+    homepage = http://librecad.org;
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 08fa1d42d392..ceee0a7ce298 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6990,6 +6990,8 @@ let
     inherit (gnome) libglade;
   };
 
+  librecad = callPackage ../applications/misc/librecad { };
+
   lingot = callPackage ../applications/audio/lingot {
     inherit (gnome) libglade;
   };

From 35879729d21b5c74806cabb7842fd750076ac3a7 Mon Sep 17 00:00:00 2001
From: Cillian de Roiste <cillian.deroiste@gmail.com>
Date: Tue, 3 Jan 2012 22:02:34 +0000
Subject: [PATCH 09/19] Ralink firmware is no longer available directly from
 ralinktech.com, it is now available from git.kernel.org. I've used the debian
 svn repo here instead for convenience

svn path=/nixpkgs/trunk/; revision=31256
---
 .../linux/firmware/rt2860/default.nix         | 23 ++++++++++++-------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/pkgs/os-specific/linux/firmware/rt2860/default.nix b/pkgs/os-specific/linux/firmware/rt2860/default.nix
index 70601f065ef4..0c8accd2f6c5 100644
--- a/pkgs/os-specific/linux/firmware/rt2860/default.nix
+++ b/pkgs/os-specific/linux/firmware/rt2860/default.nix
@@ -1,14 +1,17 @@
-{stdenv, fetchurl, unzip}:
+{stdenv, fetchsvn }:
 
-stdenv.mkDerivation rec {
+# Upstream is http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git
+
+stdenv.mkDerivation {
   name = "rt2860-fw-26";
-  src = fetchurl {
-    url = "http://www.ralinktech.com/download.php?t=U0wyRnpjMlYwY3k4eU1ERXdMekF6THpNeEwyUnZkMjVzYjJGa01UWTBNamsyTVRBNE1pNTZhWEE5UFQxU1ZESTROakJmUm1seWJYZGhjbVZmVmpJMkM%3D";
-    name = "RT2860_Firmware_V26.zip";
-    sha256 = "0kvjd8kfnmh8jj35jd10pnr1z7a00ks4c317dnnzgkd86mmcg4px";
+
+  src = fetchsvn {
+    url = svn://svn.debian.org/kernel/dists/trunk/firmware-nonfree/ralink;
+    rev = 17279;
+    sha256 = "06nc6w3xcrxzcai7gaf27k0v8k2xbq3imzpgc02rbxv5q5flxh65";
   };
 
-  buildInputs = [ unzip ];
+  unpackPhase = "true";
   
   buildPhase = "true";
 
@@ -16,7 +19,11 @@ stdenv.mkDerivation rec {
   # says: "Your rights to redistribute the Software shall be
   # contingent upon your installation of this Agreement in its
   # entirety in the same directory as the Software."
-  installPhase = "ensureDir $out/${name}; cp *.bin $out; cp *.txt $out/${name}";
+  installPhase = ''
+    ensureDir $out
+    cp $src/rt2860.bin $out
+    cp $src/LICENSE $out/rt2860.LICENSE
+  '';
   
   meta = {
     description = "Firmware for the Ralink RT2860 wireless cards";

From 30752215cd99f7985e742d553460c41680adf34f Mon Sep 17 00:00:00 2001
From: Florian Friesdorf <flo@chaoflow.net>
Date: Tue, 3 Jan 2012 22:25:38 +0000
Subject: [PATCH 10/19] linux_3_2_powertop

svn path=/nixpkgs/trunk/; revision=31257
---
 pkgs/top-level/all-packages.nix | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ceee0a7ce298..6ec8211bb652 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5702,6 +5702,25 @@ let
         #kernelPatches.mips_restart_2_6_36
       ];
   };
+
+  linux_3_2_powertop = linux_3_2.override {
+    extraConfig = ''
+        DEBUG_KERNEL y
+        PM_ADVANCED_DEBUG y
+        PM_RUNTIME y
+        TIMER_STATS y
+        USB_SUSPEND y
+        BACKTRACE_SELF_TEST n
+        CPU_NOTIFIER_ERROR_INJECT n
+        DEBUG_DEVRES n
+        DEBUG_NX_TEST n
+        DEBUG_STACK_USAGE n
+        DEBUG_STACKOVERFLOW n
+        RCU_TORTURE_TEST n
+        SCHEDSTATS n
+    '';
+  };
+
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
@@ -5849,6 +5868,7 @@ let
   linuxPackages_nanonote_jz_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_35 pkgs.linuxPackages_nanonote_jz_2_6_35);
   linuxPackages_nanonote_jz_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_36 pkgs.linuxPackages_nanonote_jz_2_6_36);
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor linux_3_2 pkgs.linuxPackages_3_2);
+  linuxPackages_3_2_powertop = recurseIntoAttrs (linuxPackagesFor linux_3_2_powertop pkgs.linuxPackages_3_2_powertop);
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;

From 032617b0ab6eefd8be002a29ce3b55fb1dc1b5f2 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 3 Jan 2012 22:25:46 +0000
Subject: [PATCH 11/19] * Check whether any packages were generated. 
 Apparently checkinstall   doesn't return a non-zero exit code if something
 goes wrong.

svn path=/nixpkgs/trunk/; revision=31258
---
 pkgs/build-support/release/debian-build.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index 52924d2c42c0..aeeb050bfaab 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -68,6 +68,8 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
       ensureDir $out/debs
       find . -name "*.deb" -exec cp {} $out/debs \;
 
+      [ "$(echo $out/debs/*.deb)" != "" ]
+
       for i in $out/debs/*.deb; do
         header "Generated DEB package: $i"
         dpkg-deb --info "$i"

From f3c3f115206bae31fdcdc6c787b3559a2d5520db Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 3 Jan 2012 22:33:48 +0000
Subject: [PATCH 12/19] * Debian requires/provides should be comma-separated.

svn path=/nixpkgs/trunk/; revision=31259
---
 pkgs/build-support/release/debian-build.nix | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index aeeb050bfaab..070a54fc945c 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -11,6 +11,8 @@
   debRequires ? []
 , ... } @ args:
 
+with stdenv.lib;
+
 vmTools.runInLinuxImage (stdenv.mkDerivation (
 
   {
@@ -61,8 +63,8 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
 
       ${checkinstall}/sbin/checkinstall --nodoc -y -D \
         --fstrans=${if fsTranslation then "yes" else "no"} \
-        --requires="${toString debRequires}" \
-        --provides="${toString debProvides}" \
+        --requires="${concatStringsSep "," debRequires}" \
+        --provides="${concatStringsSep "," debProvides}" \
         make install
 
       ensureDir $out/debs

From 0e1ea067abb9f20aaac4cbe6411d53f8e0fa29c0 Mon Sep 17 00:00:00 2001
From: Karn Kallio <tierpluspluslists@gmail.com>
Date: Wed, 4 Jan 2012 00:26:48 +0000
Subject: [PATCH 13/19] Cause ghostscript to build libgs.

This fixes the failed build of libspectre.

svn path=/nixpkgs/trunk/; revision=31260
---
 pkgs/misc/ghostscript/default.nix | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index ddd51f73f79e..c29f7c4456f8 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -89,7 +89,11 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  preBuild = "make so";
+
   postInstall = ''
+    make soinstall
+
     for i in $fonts; do
       (cd $out/share/ghostscript && tar xvfz $i)
     done

From ec8e23cc9777a46a095314bb4c02a669db31f9b5 Mon Sep 17 00:00:00 2001
From: Karn Kallio <tierpluspluslists@gmail.com>
Date: Wed, 4 Jan 2012 05:48:38 +0000
Subject: [PATCH 14/19] In Emacs site-start.el check that NIX_PROFILES is set.

In the stdenv this is not set, which causes an elisp error
which in turn makes builds depending on Emacs (eg gnuplot) fail.

svn path=/nixpkgs/trunk/; revision=31261
---
 pkgs/applications/editors/emacs-22/default.nix       | 8 ++++----
 pkgs/applications/editors/emacs-23/default.nix       | 8 ++++----
 pkgs/applications/editors/emacs-snapshot/default.nix | 8 ++++----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/pkgs/applications/editors/emacs-22/default.nix b/pkgs/applications/editors/emacs-22/default.nix
index c6b1fcaa987e..4a8369170adf 100644
--- a/pkgs/applications/editors/emacs-22/default.nix
+++ b/pkgs/applications/editors/emacs-22/default.nix
@@ -33,10 +33,10 @@ stdenv.mkDerivation rec {
   postInstall = ''
     cat >$out/share/emacs/site-lisp/site-start.el <<EOF
 ;; nixos specific load-path
-(setq load-path
-      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                               (split-string (getenv "NIX_PROFILES"))))
-              load-path))
+(when (getenv "NIX_PROFILES") (setq load-path
+                      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                                               (split-string (getenv "NIX_PROFILES"))))
+                       load-path)))
 EOF
   '';
 
diff --git a/pkgs/applications/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix
index cc841a9bd12c..84a98182e9f5 100644
--- a/pkgs/applications/editors/emacs-23/default.nix
+++ b/pkgs/applications/editors/emacs-23/default.nix
@@ -34,10 +34,10 @@ stdenv.mkDerivation rec {
   postInstall = ''
     cat >$out/share/emacs/site-lisp/site-start.el <<EOF
 ;; nixos specific load-path
-(setq load-path
-      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                               (split-string (getenv "NIX_PROFILES"))))
-              load-path))
+(when (getenv "NIX_PROFILES") (setq load-path
+                      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                                               (split-string (getenv "NIX_PROFILES"))))
+                       load-path)))
 EOF
   '';
 
diff --git a/pkgs/applications/editors/emacs-snapshot/default.nix b/pkgs/applications/editors/emacs-snapshot/default.nix
index 06d8e09d5b17..1ae864336e58 100644
--- a/pkgs/applications/editors/emacs-snapshot/default.nix
+++ b/pkgs/applications/editors/emacs-snapshot/default.nix
@@ -51,10 +51,10 @@ stdenv.mkDerivation {
   postInstall = ''
     cat >$out/share/emacs/site-lisp/site-start.el <<EOF
 ;; nixos specific load-path
-(setq load-path
-      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                               (split-string (getenv "NIX_PROFILES"))))
-              load-path))
+(when (getenv "NIX_PROFILES") (setq load-path
+                      (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                                               (split-string (getenv "NIX_PROFILES"))))
+                       load-path)))
 EOF
   '';
 

From fb0d088b33182c30189fb4e6e862408f95c794d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?=
 <viric@vicerveza.homeunix.net>
Date: Wed, 4 Jan 2012 08:14:07 +0000
Subject: [PATCH 15/19] Updating mono.

svn path=/nixpkgs/trunk/; revision=31262
---
 pkgs/development/compilers/mono/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index ee415e3b07b2..471f0d5b36d1 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl}:
 
 stdenv.mkDerivation {
-  name = "mono-2.8";
+  name = "mono-2.10.8.1";
   src = fetchurl {
-    url = http://ftp.novell.com/pub/mono/sources/mono/mono-2.8.tar.bz2;
-    sha256 = "04bivxg90mmihkp72sjshl4ijbjcbl9f6hdgm476zy794g5rwd78";
+    url = http://download.mono-project.com/sources/mono/mono-2.10.8.1.tar.gz;
+    sha256 = "0h4hdj99qg0nsg5260izwaybs59wysf7y399kffhg43fidpndz0x";
   };
 
   buildInputs = [bison pkgconfig glib gettext perl];

From b3709689db6af30e4517f678ff3844a32c9382f4 Mon Sep 17 00:00:00 2001
From: "Yury G. Kudryashov" <urkud.urkud@gmail.com>
Date: Wed, 4 Jan 2012 09:05:22 +0000
Subject: [PATCH 16/19] Add modemmanager

svn path=/nixpkgs/trunk/; revision=31263
---
 pkgs/build-support/fetchurl/gnome.nix         |  2 +-
 .../tools/networking/modemmanager/default.nix | 23 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/tools/networking/modemmanager/default.nix

diff --git a/pkgs/build-support/fetchurl/gnome.nix b/pkgs/build-support/fetchurl/gnome.nix
index 616c82036019..258b11d850e5 100644
--- a/pkgs/build-support/fetchurl/gnome.nix
+++ b/pkgs/build-support/fetchurl/gnome.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
-{ project, major, minor, patchlevel, extension ? "bz2", sha256 }:
+{ project, major, minor, patchlevel ? null, extension ? "bz2", sha256 }:
 
 let
   baseVersion = "${major}.${minor}";
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
new file mode 100644
index 000000000000..c5164d627708
--- /dev/null
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl_gnome, udev, polkit, dbus_glib, ppp, intltool, pkgconfig, xz }:
+
+stdenv.mkDerivation rec {
+  name = src.pkgname;
+
+  src = fetchurl_gnome {
+    project = "ModemManager";
+    major = "0"; minor = "5"; extension = "xz";
+    sha256 = "0zvwrni4l21d856nq28khigrhwgrq5cc7nh45zidwjj8q7bsxiz7";
+  };
+
+  buildNativeInputs = [ xz intltool pkgconfig ];
+
+  buildInputs = [ udev polkit dbus_glib ppp ];
+
+  configureFlags = "--with-polkit --with-udev-base-dir=$(out)/lib/udev";
+
+  meta = {
+    description = "WWAN modem manager, part of NetworkManager";
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = [ stdenv.lib.platforms.linux ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6ec8211bb652..bab49f41245a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -988,6 +988,8 @@ let
 
   mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
 
+  modemmanager = callPackage ../tools/networking/modemmanager {};
+
   monit = builderDefsPackage ../tools/system/monit {
     inherit openssl flex bison;
   };

From b15381fcf64cce388556936fafae92adc49c7f6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?=
 <viric@vicerveza.homeunix.net>
Date: Wed, 4 Jan 2012 09:29:52 +0000
Subject: [PATCH 17/19] Adding pngtoico.

svn path=/nixpkgs/trunk/; revision=31264
---
 pkgs/tools/graphics/pngtoico/default.nix | 23 +++++++++++++++++++++++
 pkgs/top-level/all-packages.nix          |  2 ++
 2 files changed, 25 insertions(+)
 create mode 100644 pkgs/tools/graphics/pngtoico/default.nix

diff --git a/pkgs/tools/graphics/pngtoico/default.nix b/pkgs/tools/graphics/pngtoico/default.nix
new file mode 100644
index 000000000000..df1046cb750f
--- /dev/null
+++ b/pkgs/tools/graphics/pngtoico/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libpng }:
+
+stdenv.mkDerivation rec {
+  name = "pngtoico-1.0";
+
+  src = fetchurl {
+    url = mirror://kernel/software/graphics/pngtoico/pngtoico-1.0.tar.gz;
+    sha256 = "1xb4aa57sjvgqfp01br3dm72hf7q0gb2ad144s1ifrs09215fgph";
+  };
+
+  configurePhase = ''
+    sed -i s,/usr/local,$out, Makefile
+  '';
+
+  buildInputs = [ libpng ];
+
+  meta = {
+    homepage = http://www.kernel.org/pub/software/graphics/pngtoico/;
+    description = "Small utility to convert a set of PNG images to Microsoft ICO format";
+    license = "GPLv2+";
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bab49f41245a..e5437286794a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1203,6 +1203,8 @@ let
 
   pngnq = callPackage ../tools/graphics/pngnq { };
 
+  pngtoico = callPackage ../tools/graphics/pngtoico { };
+
   polipo = callPackage ../servers/polipo { };
 
   polkit_gnome = callPackage ../tools/security/polkit-gnome { };

From 8fadcd285aaed8534617cef3e2af6e4ee22f4e87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?=
 <viric@vicerveza.homeunix.net>
Date: Wed, 4 Jan 2012 09:42:38 +0000
Subject: [PATCH 18/19] Adding icoutils

svn path=/nixpkgs/trunk/; revision=31265
---
 pkgs/tools/graphics/icoutils/default.nix | 19 +++++++++++++++++++
 pkgs/top-level/all-packages.nix          |  2 ++
 2 files changed, 21 insertions(+)
 create mode 100644 pkgs/tools/graphics/icoutils/default.nix

diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
new file mode 100644
index 000000000000..69d35fec1629
--- /dev/null
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, libpng }:
+
+stdenv.mkDerivation rec {
+  name = "icoutils-0.29.1";
+
+  src = fetchurl {
+    url = "mirror://savannah/icoutils/${name}.tar.bz2";
+    sha256 = "180yqv41yc3fi6ggx7azhmaciqzadj0ir87wajigmcpgxkjk6v34";
+  };
+
+  buildInputs = [ libpng ];
+
+  meta = {
+    homepage = http://www.nongnu.org/icoutils/
+    description = "Set of  programs to deal with Microsoft Windows(R) icon and cursor files";;
+    license = "GPLv3+";
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e5437286794a..c5e1de2532aa 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -852,6 +852,8 @@ let
 
   iasl = callPackage ../development/compilers/iasl { };
 
+  icoutils = callPackage ../tools/graphics/icoutils { };
+
   idutils = callPackage ../tools/misc/idutils { };
 
   iftop = callPackage ../tools/networking/iftop { };

From 855e8f45a4f46e409a911715add088d0a8873274 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?=
 <viric@vicerveza.homeunix.net>
Date: Wed, 4 Jan 2012 09:47:22 +0000
Subject: [PATCH 19/19] Fixing a typo in the icoutils file.

svn path=/nixpkgs/trunk/; revision=31267
---
 pkgs/tools/graphics/icoutils/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
index 69d35fec1629..5abc909ea306 100644
--- a/pkgs/tools/graphics/icoutils/default.nix
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpng ];
 
   meta = {
-    homepage = http://www.nongnu.org/icoutils/
-    description = "Set of  programs to deal with Microsoft Windows(R) icon and cursor files";;
+    homepage = http://www.nongnu.org/icoutils/;
+    description = "Set of  programs to deal with Microsoft Windows(R) icon and cursor files";
     license = "GPLv3+";
     platforms = with stdenv.lib.platforms; linux;
   };