From 1d07e9316a84a47da54469d63b1825368c0db720 Mon Sep 17 00:00:00 2001
From: John Darrington <jmd@gnu.org>
Date: Tue, 4 Feb 2014 16:12:39 +0100
Subject: gnu: inkscape: New module
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/inkscape.scm,
  gnu/packages/patches/inkscape-stray-comma.patch: New files.
* gnu-system.am (GNU_SYSTEM_MODULES): Add inkscape.scm.
  (dist_patch_DATA): Add inkscape-stray-comma.patch.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/patches/inkscape-stray-comma.patch | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 gnu/packages/patches/inkscape-stray-comma.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu/packages/patches/inkscape-stray-comma.patch b/gnu/packages/patches/inkscape-stray-comma.patch
new file mode 100644
index 0000000000..0b000d9e30
--- /dev/null
+++ b/gnu/packages/patches/inkscape-stray-comma.patch
@@ -0,0 +1,13 @@
+This is verbatim from Upstream:        http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_48_BRANCH/diff/9943
+--- a/src/widgets/desktop-widget.h	2011-06-06 06:43:00 +0000
++++ b/src/widgets/desktop-widget.h	2013-01-05 14:34:09 +0000
+@@ -239,7 +239,7 @@
+ private:
+     GtkWidget *tool_toolbox;
+     GtkWidget *aux_toolbox;
+-    GtkWidget *commands_toolbox,;
++    GtkWidget *commands_toolbox;
+     GtkWidget *snap_toolbox;
+ 
+     static void init(SPDesktopWidget *widget);
+
-- 
cgit v1.2.3


From 16686a902276c827455d78860dd62aaa68922cd2 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Wed, 5 Feb 2014 22:18:14 +0100
Subject: gnu: slim: Upgrade to 1.3.6; allow the choice of a config file at run
 time.

* gnu/packages/slim.scm (slim): Upgrade to 1.3.6.  Add patches.  Comment
  out systemd-related stuff from CMakeLists.txt.  Add
  "-DBUILD_SHARED_LIBS=OFF" and "-DCMAKE_SKIP_BUILD_RPATH=ON" to
  #:configure-flags.  Adjust 'home-page' field.
* gnu/packages/patches/slim-config.patch,
  gnu/packages/patches/slim-session.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
---
 gnu-system.am                           |  2 ++
 gnu/packages/patches/slim-config.patch  | 27 +++++++++++++++++++++++++++
 gnu/packages/patches/slim-session.patch | 17 +++++++++++++++++
 gnu/packages/slim.scm                   | 31 ++++++++++++++++++++++++-------
 4 files changed, 70 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/slim-config.patch
 create mode 100644 gnu/packages/patches/slim-session.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 66c9ab39cd..2e248c7df7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -296,6 +296,8 @@ dist_patch_DATA =						\
   gnu/packages/patches/readline-link-ncurses.patch		\
   gnu/packages/patches/ripperx-libm.patch			\
   gnu/packages/patches/scheme48-tests.patch			\
+  gnu/packages/patches/slim-session.patch			\
+  gnu/packages/patches/slim-config.patch			\
   gnu/packages/patches/tcsh-fix-autotest.patch			\
   gnu/packages/patches/teckit-cstdio.patch			\
   gnu/packages/patches/valgrind-glibc.patch			\
diff --git a/gnu/packages/patches/slim-config.patch b/gnu/packages/patches/slim-config.patch
new file mode 100644
index 0000000000..5e6135d75c
--- /dev/null
+++ b/gnu/packages/patches/slim-config.patch
@@ -0,0 +1,27 @@
+Allow the configuration file and theme directory to be specified at run time.
+Patch by Eelco Dolstra, from Nixpkgs.
+
+--- slim-1.3.6/app.cpp	2013-10-02 00:38:05.000000000 +0200
++++ slim-1.3.6/app.cpp	2013-10-15 11:02:55.629263422 +0200
+@@ -200,7 +200,9 @@
+ 
+ 	/* Read configuration and theme */
+ 	cfg = new Cfg;
+-	cfg->readConf(CFGFILE);
++	char *cfgfile = getenv("SLIM_CFGFILE");
++	if (!cfgfile) cfgfile = CFGFILE;
++	cfg->readConf(cfgfile);
+ 	string themebase = "";
+ 	string themefile = "";
+ 	string themedir = "";
+@@ -208,7 +210,9 @@
+ 	if (testing) {
+ 		themeName = testtheme;
+ 	} else {
+-		themebase = string(THEMESDIR) + "/";
++		char *themesdir = getenv("SLIM_THEMESDIR");
++		if (!themesdir) themesdir = THEMESDIR;
++		themebase = string(themesdir) + "/";
+ 		themeName = cfg->getOption("current_theme");
+ 		string::size_type pos;
+ 		if ((pos = themeName.find(",")) != string::npos) {
diff --git a/gnu/packages/patches/slim-session.patch b/gnu/packages/patches/slim-session.patch
new file mode 100644
index 0000000000..b85d3f7dd0
--- /dev/null
+++ b/gnu/packages/patches/slim-session.patch
@@ -0,0 +1,17 @@
+Exit after the user's session has finished.  This works around slim's broken
+PAM session handling (see
+http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
+
+Patch by Eelco Dolstra, from Nixpkgs.
+
+--- slim-1.3.6/app.cpp	2013-10-15 11:02:55.629263422 +0200
++++ slim-1.3.6/app.cpp	2013-10-15 13:00:10.141210784 +0200
+@@ -816,7 +822,7 @@
+ 	StopServer();
+ 	RemoveLock();
+ 	while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
+-	Run();
++	exit(OK_EXIT);
+ }
+ 
+ void App::KillAllClients(Bool top) {
diff --git a/gnu/packages/slim.scm b/gnu/packages/slim.scm
index fd2c73c772..1a1feadede 100644
--- a/gnu/packages/slim.scm
+++ b/gnu/packages/slim.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Guy Grant <gzg@riseup.net>
+;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@ (define-module (gnu packages slim)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
   #:use-module (guix packages)
+  #:use-module (gnu packages)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages libpng)
@@ -34,13 +36,17 @@ (define-module (gnu packages slim)
 (define-public slim
   (package
     (name "slim")
-    (version "1.3.3")
+    (version "1.3.6")
     (source (origin
 	     (method url-fetch)
-	     (uri (string-append "mirror://sourceforge/project/slim.berlios/slim-"
+             ;; Used to be available from
+             ;; mirror://sourceforge/project/slim.berlios/.
+	     (uri (string-append "http://download.berlios.de/slim/slim-"
 				  version ".tar.gz"))
 	     (sha256
-	      (base32 "1fdvipj3658s8dm78djmfr8xhg6l8rr7kc4qcb34bjrnkkclhln1"))))
+	      (base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
+             (patches (map search-patch
+                           (list "slim-config.patch" "slim-session.patch")))))
     (build-system cmake-build-system)
     (inputs `(("linux-pam" ,linux-pam)
 	      ("libpng" ,libpng)
@@ -62,12 +68,23 @@ (define-public slim
 		 (lambda _
 		   (substitute* "CMakeLists.txt"
 		     (("/etc")
-		      (string-append
-		       (assoc-ref %outputs "out") "/etc"))))
+		      (string-append (assoc-ref %outputs "out") "/etc"))
+                     (("install.*systemd.*")
+                      ;; The build system's logic here is: if "Linux", then
+                      ;; "systemd".  Strip that.
+                      "")))
 		 %standard-phases)
-       #:configure-flags '("-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no")
+       #:configure-flags '("-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no"
+
+                           ;; Don't build libslim.so, because then the build
+                           ;; system is unable to set the right RUNPATH on the
+                           ;; 'slim' binary.
+                           "-DBUILD_SHARED_LIBS=OFF"
+
+                           ;; Leave a valid RUNPATH upon install.
+                           "-DCMAKE_SKIP_BUILD_RPATH=ON")
        #:tests? #f))
-    (home-page "http://www.slim.berlios.de/")
+    (home-page "http://slim.berlios.de/")
     (synopsis "Desktop-independent graphcal login manager for X11")
     (description
      "SLiM is a Desktop-independent graphical login manager for X11, derived
-- 
cgit v1.2.3


From b93afd5b53714cb896e2abdea1e0b405550fb67b Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Thu, 6 Feb 2014 22:09:52 +0100
Subject: gnu: gdb: Upgrade to 7.7.

* gnu/packages/gdb.scm (gdb): Upgrade to 7.7.  Remove
  'gdb-loongson-madd-fix.patch', no longer needed.
* gnu/packages/patches/gdb-loongson-madd-fix.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
---
 gnu-system.am                                    |  1 -
 gnu/packages/gdb.scm                             |  7 ++--
 gnu/packages/patches/gdb-loongson-madd-fix.patch | 44 ------------------------
 3 files changed, 3 insertions(+), 49 deletions(-)
 delete mode 100644 gnu/packages/patches/gdb-loongson-madd-fix.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 2e248c7df7..eb1e0d06dc 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -250,7 +250,6 @@ dist_patch_DATA =						\
   gnu/packages/patches/gawk-shell.patch				\
   gnu/packages/patches/gcc-cross-environment-variables.patch	\
   gnu/packages/patches/gd-mips64-deplibs-fix.patch		\
-  gnu/packages/patches/gdb-loongson-madd-fix.patch		\
   gnu/packages/patches/glib-tests-desktop.patch			\
   gnu/packages/patches/glib-tests-homedir.patch			\
   gnu/packages/patches/glib-tests-newnet.patch			\
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 5a863e54aa..7a780d8ea2 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,15 +33,14 @@ (define-module (gnu packages gdb)
 (define-public gdb
   (package
     (name "gdb")
-    (version "7.6.2")
+    (version "7.7")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gdb/gdb-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "1s6hjqmq7xz10hqx45dgrpfh5mla578shn3zxgnrsv66w4n0wsig"))
-             (patches (list (search-patch "gdb-loongson-madd-fix.patch")))))
+               "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-cons-after
diff --git a/gnu/packages/patches/gdb-loongson-madd-fix.patch b/gnu/packages/patches/gdb-loongson-madd-fix.patch
deleted file mode 100644
index 0d50dd2dd4..0000000000
--- a/gnu/packages/patches/gdb-loongson-madd-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix the Loongson 2F specific fused multiply-add instructions on paired singles to
-use the encoding recognized by the processor, as opposed to the mistaken english
-Loongson 2F documentation.
-
-Patch by Mark H Weaver <mhw@netris.org>.
-
---- gdb/opcodes/mips-opc.c.orig	2013-02-09 05:24:18.000000000 -0500
-+++ gdb/opcodes/mips-opc.c	2013-10-27 23:35:20.191997541 -0400
-@@ -956,7 +956,7 @@
- {"madd.s",  "D,S,T",	0x4600001c, 0xffe0003f, RD_S|RD_T|WR_D|FP_S,	     0,		EE	},
- {"madd.ps", "D,R,S,T",	0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,    0,		I5_33	},
- {"madd.ps",	"D,S,T",	0x45600018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
--{"madd.ps",	"D,S,T",	0x71600018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
-+{"madd.ps",	"D,S,T",	0x72c00018,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
- {"madd",    "s,t",      0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO,           0,		L1	},
- {"madd",    "s,t",      0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO,          0,		I32|N55	},
- {"madd",    "s,t",      0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M,      0,		G1	},
-@@ -1084,7 +1084,7 @@
- {"msub.s",  "D,S,T",	0x4600001d, 0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,		EE	},
- {"msub.ps", "D,R,S,T",	0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33	},
- {"msub.ps",	"D,S,T",	0x45600019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
--{"msub.ps",	"D,S,T",	0x71600019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
-+{"msub.ps",	"D,S,T",	0x72c00019,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
- {"msub",    "s,t",      0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO,	0,		L1    	},
- {"msub",    "s,t",      0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO,     0,		I32|N55 },
- {"msub",    "7,s,t",	0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t,        0,              D32	},
-@@ -1218,7 +1218,7 @@
- {"nmadd.s",	"D,S,T",	0x7200001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2F	},
- {"nmadd.ps","D,R,S,T",	0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33	},
- {"nmadd.ps",	"D,S,T",	0x4560001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
--{"nmadd.ps",	"D,S,T",	0x7160001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
-+{"nmadd.ps",	"D,S,T",	0x72c0001a,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
- {"nmsub.d", "D,R,S,T",	0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I4_33	},
- {"nmsub.d",	"D,S,T",	0x4620001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
- {"nmsub.d",	"D,S,T",	0x7220001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
-@@ -1227,7 +1227,7 @@
- {"nmsub.s",	"D,S,T",	0x7200001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2F	},
- {"nmsub.ps","D,R,S,T",	0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33	},
- {"nmsub.ps",	"D,S,T",	0x4560001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2E	},
--{"nmsub.ps",	"D,S,T",	0x7160001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
-+{"nmsub.ps",	"D,S,T",	0x72c0001b,	0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,	IL2F	},
- /* nop is at the start of the table.  */
- {"nor",     "d,v,t",	0x00000027, 0xfc0007ff,	WR_d|RD_s|RD_t,		0,		I1	},
- {"nor",     "t,r,I",	0,    (int) M_NOR_I,	INSN_MACRO,		0,		I1	},
-- 
cgit v1.2.3


From f9ec07a9859c5b305105ab38bff3f3db0dcb842d Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sun, 9 Feb 2014 23:20:42 +0100
Subject: gnu: slim: Work around flaky synchronization with the X server.

* gnu/packages/patches/slim-sigusr1.patch: New file.
* gnu/packages/slim.scm (slim): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                           |  1 +
 gnu/packages/patches/slim-sigusr1.patch | 33 +++++++++++++++++++++++++++++++++
 gnu/packages/slim.scm                   |  3 ++-
 3 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/slim-sigusr1.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index cc34dbc7b3..a98ef250d0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -299,6 +299,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/scheme48-tests.patch			\
   gnu/packages/patches/slim-session.patch			\
   gnu/packages/patches/slim-config.patch			\
+  gnu/packages/patches/slim-sigusr1.patch			\
   gnu/packages/patches/tcsh-fix-autotest.patch			\
   gnu/packages/patches/teckit-cstdio.patch			\
   gnu/packages/patches/valgrind-glibc.patch			\
diff --git a/gnu/packages/patches/slim-sigusr1.patch b/gnu/packages/patches/slim-sigusr1.patch
new file mode 100644
index 0000000000..344b02933e
--- /dev/null
+++ b/gnu/packages/patches/slim-sigusr1.patch
@@ -0,0 +1,33 @@
+This patch fixes SLiM so it really waits for the X server to be ready
+before attempting to connect to it.  Indeed, the X server notices that
+its parent process has a handler for SIGUSR1, and consequently sends it
+SIGUSR1 when it's ready to accept connections.
+
+The problem was that SLiM doesn't pay attention to SIGUSR1.  So in practice,
+if X starts slowly, then SLiM gets ECONNREFUSED a couple of time on
+/tmp/.X11-unix/X0, then goes on trying to connect to localhost:6000,
+where nobody answers; eventually, it times out and tries again on
+/tmp/.X11-unix/X0, and finally it shows up on the screen.
+
+Patch by L. Courtès.
+
+--- slim-1.3.6/app.cpp	2014-02-05 15:27:20.000000000 +0100
++++ slim-1.3.6/app.cpp	2014-02-09 22:42:04.000000000 +0100
+@@ -119,7 +119,9 @@ void CatchSignal(int sig) {
+ 	exit(ERR_EXIT);
+ }
+ 
++static volatile int got_sigusr1 = 0;
+ void User1Signal(int sig) {
++	got_sigusr1 = 1;
+ 	signal(sig, User1Signal);
+ }
+ 
+@@ -884,6 +886,7 @@ int App::WaitForServer() {
+ 	int	ncycles	 = 120;
+ 	int	cycles;
+ 
++	while (!got_sigusr1);
+ 	for(cycles = 0; cycles < ncycles; cycles++) {
+ 		if((Dpy = XOpenDisplay(DisplayName))) {
+ 			XSetIOErrorHandler(xioerror);
diff --git a/gnu/packages/slim.scm b/gnu/packages/slim.scm
index 1a1feadede..f25b070f3c 100644
--- a/gnu/packages/slim.scm
+++ b/gnu/packages/slim.scm
@@ -46,7 +46,8 @@ (define-public slim
 	     (sha256
 	      (base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
              (patches (map search-patch
-                           (list "slim-config.patch" "slim-session.patch")))))
+                           (list "slim-config.patch" "slim-session.patch"
+                                 "slim-sigusr1.patch")))))
     (build-system cmake-build-system)
     (inputs `(("linux-pam" ,linux-pam)
 	      ("libpng" ,libpng)
-- 
cgit v1.2.3


From 266b39fc26fff62e63c63f7f6bc8c92dfbc3f91a Mon Sep 17 00:00:00 2001
From: Sree Harsha Totakura <sreeharsha@totakura.in>
Date: Fri, 31 Jan 2014 00:33:36 +0100
Subject: gnu: Add GNUnet.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnunet/packages/gnunet.scm (gnunet): New variable.
* gnu/package/patches/gnunet-fix-scheduler.patch: New file.
* gnu/package/patches/gnunet-fix-tests.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the above two patch files.

Co-authored-by: Andreas Enge <andreas@enge.fr>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu-system.am                                   |  2 +
 gnu/packages/gnunet.scm                         | 69 +++++++++++++++++++++++++
 gnu/packages/patches/gnunet-fix-scheduler.patch | 13 +++++
 gnu/packages/patches/gnunet-fix-tests.patch     | 46 +++++++++++++++++
 4 files changed, 130 insertions(+)
 create mode 100644 gnu/packages/patches/gnunet-fix-scheduler.patch
 create mode 100644 gnu/packages/patches/gnunet-fix-tests.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index a98ef250d0..3e9108cd87 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -259,6 +259,8 @@ dist_patch_DATA =						\
   gnu/packages/patches/glibc-bootstrap-system.patch		\
   gnu/packages/patches/glibc-ldd-x86_64.patch			\
   gnu/packages/patches/glibc-make-4.0.patch			\
+  gnu/packages/patches/gnunet-fix-scheduler.patch		\
+  gnu/packages/patches/gnunet-fix-tests.patch    		\
   gnu/packages/patches/gobject-introspection-cc.patch		\
   gnu/packages/patches/grub-gets-undeclared.patch		\
   gnu/packages/patches/gstreamer-0.10-bison3.patch		\
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 6af9063f19..2bbe72ffe1 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -17,6 +17,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages gnunet)
+  #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
@@ -30,10 +31,14 @@ (define-module (gnu packages gnunet)
   #:use-module (gnu packages libidn)
   #:use-module (gnu packages libjpeg)
   #:use-module (gnu packages libtiff)
+  #:use-module (gnu packages libunistring)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
   #:use-module ((guix licenses)
@@ -184,3 +189,67 @@ (define-public gnurl
    (license (license:bsd-style "file://COPYING"
                        "See COPYING in the distribution."))
    (home-page "https://gnunet.org/gnurl")))
+
+(define-public gnunet
+  (package
+   (name "gnunet")
+   (version "0.10.0")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/gnunet/gnunet-" version
+                          ".tar.gz"))
+      (sha256 (base32
+               "0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i"))
+      (patches
+       (list
+        ;; Patch to fix serious bug in scheduler; upstream commit: #31747
+        (search-patch "gnunet-fix-scheduler.patch")
+        ;; Patch to fix bugs in testcases:
+        ;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups
+        ;; * Allow revocation testcase to run on loopback; upstream: #32130
+        ;; * Skip GNS testcases requiring DNS lookups; upstream: #32118
+        (search-patch "gnunet-fix-tests.patch")))
+      (patch-flags '("-p0"))))
+   (build-system gnu-build-system)
+   (inputs
+    `(("gnutls" ,gnutls)
+      ("glpk" ,glpk)
+      ("libextractor" ,libextractor)
+      ("libgcrypt" ,libgcrypt)
+      ("gnurl" ,gnurl)
+      ("libidn" ,libidn)
+      ("openssl" ,openssl)
+      ("opus" ,opus)
+      ("libtool" ,libtool)
+      ("libunistring" ,libunistring)
+      ("pulseaudio", pulseaudio)
+      ("sqlite" ,sqlite)
+      ("zlib" ,zlib)))
+   (native-inputs
+    `(("pkg-config" ,pkg-config)
+      ("python" ,python-2)))
+   (arguments
+    '(#:phases
+       ;; swap check and install phases and set paths to installed binaries
+       (alist-cons-before
+        'check 'set-path-for-check
+        (lambda* (#:key outputs #:allow-other-keys)
+         (let ((out (assoc-ref outputs "out")))
+          (setenv "GNUNET_PREFIX" out)
+          (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
+       (alist-cons-after
+        'install 'check
+        (assoc-ref %standard-phases 'check)
+       (alist-delete
+        'check
+       %standard-phases)))))
+   (synopsis "Anonymous peer-to-peer file-sharing framework")
+   (description
+    "GNUnet is a framework for secure, peer-to-peer networking.  It works in a
+decentralized manner and does not rely on any notion of trusted services.  One
+service implemented on it is censorship-resistant file-sharing.  Communication
+is encrypted and anonymity is provided by making messages originating from a
+peer indistinguishable from those that the peer is routing.")
+   (license license:gpl3+)
+   (home-page "https://gnunet.org/")))
diff --git a/gnu/packages/patches/gnunet-fix-scheduler.patch b/gnu/packages/patches/gnunet-fix-scheduler.patch
new file mode 100644
index 0000000000..1e0aef2a1a
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-scheduler.patch
@@ -0,0 +1,13 @@
+Index: src/util/scheduler.c
+===================================================================
+--- src/util/scheduler.c	(revision 31745)
++++ src/util/scheduler.c	(working copy)
+@@ -1599,7 +1599,7 @@
+   int real_fd;
+ 
+   GNUNET_DISK_internal_file_handle_ (fd, &real_fd, sizeof (int));
+-  GNUNET_assert (real_fd > 0);
++  GNUNET_assert (real_fd >= 0);
+   return add_without_sets (
+       delay, priority,
+       on_read  ? real_fd : -1,
diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch
new file mode 100644
index 0000000000..1957b17119
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-tests.patch
@@ -0,0 +1,46 @@
+diff -ru a/src/peerinfo-tool/Makefile.in b/src/peerinfo-tool/Makefile.in
+--- src/peerinfo-tool/Makefile.in	2013-12-24 13:55:04.000000000 +0100
++++ src/peerinfo-tool/Makefile.in	2014-01-30 13:07:52.275965484 +0100
+@@ -335,9 +335,6 @@
+   $(top_builddir)/src/statistics/libgnunetstatistics.la \
+   $(top_builddir)/src/util/libgnunetutil.la 
+ 
+-@HAVE_PYTHON_TRUE@check_SCRIPTS = \
+-@HAVE_PYTHON_TRUE@ test_gnunet_peerinfo.py 
+-
+ @ENABLE_TEST_RUN_TRUE@TESTS = $(check_SCRIPTS)
+ do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
+ EXTRA_DIST = \
+diff -ru a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf
+--- src/revocation/test_revocation.conf	2013-12-21 18:57:06.000000000 +0100
++++ src/revocation/test_revocation.conf	2014-01-30 15:00:02.841340556 +0100
+@@ -20,6 +20,9 @@
+ [transport-udp]
+ BROADCAST = NO
+ 
++[nat]
++RETURN_LOCAL_ADDRESSES = YES
++
+ [peerinfo]
+ USE_INCLUDED_HELLOS = NO
+ 
+Index: src/gns/test_gns_cname_lookup.sh
+===================================================================
+--- src/gns/test_gns_cname_lookup.sh	(revision 32117)
++++ src/gns/test_gns_cname_lookup.sh	(revision 32118)
+@@ -13,6 +13,15 @@
+ 	exit 77
+ fi
+ 
++# permissive DNS resolver we will use for the test
++DNS_RESOLVER="8.8.8.8"
++if ! nslookup gnunet.org $DNS_RESOLVER &> /dev/null
++then
++  echo "Cannot reach DNS, skipping test"
++  exit 77
++fi
++
++
+ rm -rf /tmp/test-gnunet-gns-peer-1/
+ 
+ TEST_DOMAIN_PLUS="www.gnu"
-- 
cgit v1.2.3


From b6b29c7737147bf683eb61bdbc93ad712a228ca7 Mon Sep 17 00:00:00 2001
From: Sree Harsha Totakura <sreeharsha@totakura.in>
Date: Tue, 11 Feb 2014 19:17:33 +0100
Subject: gnu: curl, gnurl: Fix failing testcase 172.

* gnu/packages/patches/curl-fix-test172.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the patch file.
* gnu/packages/gnunet.scm (gnurl): Apply the patch file.
* gnu/packages/curl.scm (curl): Apply the patch file.

Signed-off-by: Andreas Enge <andreas@enge.fr>
---
 gnu-system.am                               |  1 +
 gnu/packages/curl.scm                       |  7 ++++++-
 gnu/packages/gnunet.scm                     |  5 ++++-
 gnu/packages/patches/curl-fix-test172.patch | 12 ++++++++++++
 4 files changed, 23 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/curl-fix-test172.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 3e9108cd87..8229cf0cdd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -242,6 +242,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/cdparanoia-fpic.patch			\
   gnu/packages/patches/cmake-fix-tests.patch			\
   gnu/packages/patches/cpio-gets-undeclared.patch		\
+  gnu/packages/patches/curl-fix-test172.patch			\
   gnu/packages/patches/dbus-localstatedir.patch			\
   gnu/packages/patches/diffutils-gets-undeclared.patch		\
   gnu/packages/patches/dmd-getpw.patch				\
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 7072ed3878..a9bfa76aa0 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -22,6 +22,7 @@ (define-module (gnu packages curl)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gnutls)
   #:use-module (gnu packages groff)
@@ -42,7 +43,11 @@ (define-public curl
                                 version ".tar.lzma"))
             (sha256
              (base32
-              "13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))))
+              "13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))
+            (patches
+             ;; This patch fixes testcase 172 which uses a hardcoded cookie
+             ;; expiration value which is expired as of Feb 1, 2014.
+             (list (search-patch "curl-fix-test172.patch")))))
    (build-system gnu-build-system)
    (inputs `(("gnutls" ,gnutls)
              ("gss" ,gss)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 1529f96283..f3448a7e63 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -144,7 +144,10 @@ (define-public gnurl
                                 version ".tar.bz2"))
             (sha256
              (base32
-              "0kpi9wx9lg938b982smjg54acdwswdshs2bzf10sj5r6zmb05ygp"))))
+              "0kpi9wx9lg938b982smjg54acdwswdshs2bzf10sj5r6zmb05ygp"))
+            ;; This patch fixes testcase 172 which uses a hardcoded cookie
+            ;; expiration value which is expired as of Feb 1, 2014.
+            (patches (list (search-patch "curl-fix-test172.patch")))))
    (build-system gnu-build-system)
    (inputs `(("gnutls" ,gnutls)
              ("libidn" ,libidn)
diff --git a/gnu/packages/patches/curl-fix-test172.patch b/gnu/packages/patches/curl-fix-test172.patch
new file mode 100644
index 0000000000..cc2c2705e7
--- /dev/null
+++ b/gnu/packages/patches/curl-fix-test172.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/data/test172 b/tests/data/test172
+index b3efae9..3d53418 100644
+--- a/tests/data/test172
++++ b/tests/data/test172
+@@ -36,7 +36,7 @@ http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool"
+ 
+ .%HOSTIP	TRUE	/silly/	FALSE	0	ismatch	this
+ .%HOSTIP	TRUE	/	FALSE	0	partmatch	present
+-%HOSTIP	FALSE	/we/want/	FALSE	1391252187	nodomain	value
++%HOSTIP	FALSE	/we/want/	FALSE	2139150993	nodomain	value
+ </file>
+ </client>
-- 
cgit v1.2.3


From 7af52bd58c834f46e54f27592b6193604f7119fb Mon Sep 17 00:00:00 2001
From: Sree Harsha Totakura <sreeharsha@totakura.in>
Date: Wed, 12 Feb 2014 16:15:32 +0100
Subject: gnu: gnunet: Fix failing testcases.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/gnunet.scm (gnurl): Add pkg-config.
* gnu/packages/patches/gnunet-fix-tests.patch: Append fix for integration testcases.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/gnunet.scm                     |  8 +++++---
 gnu/packages/patches/gnunet-fix-tests.patch | 12 ++++++++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

(limited to 'gnu/packages/patches')

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index f3448a7e63..960a5d725c 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -153,8 +153,9 @@ (define-public gnurl
              ("libidn" ,libidn)
              ("zlib" ,zlib)))
    (native-inputs
-    `(("perl" ,perl)
-      ("groff" ,groff)
+    `(("groff" ,groff)
+      ("perl" ,perl)
+      ("pkg-config" ,pkg-config)
       ("python" ,python-2)))
    (arguments
     `(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
@@ -211,7 +212,8 @@ (define-public gnunet
         (search-patch "gnunet-fix-scheduler.patch")
         ;; Patch to fix bugs in testcases:
         ;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups
-        ;; * Allow revocation testcase to run on loopback; upstream: #32130
+        ;; * Allow revocation and integration-tests testcases to run on
+        ;;   loopback; upstream: #32130, #32326
         ;; * Skip GNS testcases requiring DNS lookups; upstream: #32118
         (search-patch "gnunet-fix-tests.patch")))
       (patch-flags '("-p0"))))
diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch
index 1957b17119..4276db5a7c 100644
--- a/gnu/packages/patches/gnunet-fix-tests.patch
+++ b/gnu/packages/patches/gnunet-fix-tests.patch
@@ -44,3 +44,15 @@ Index: src/gns/test_gns_cname_lookup.sh
  rm -rf /tmp/test-gnunet-gns-peer-1/
  
  TEST_DOMAIN_PLUS="www.gnu"
+Index: src/integration-tests/confs/test_defaults.conf
+===================================================================
+--- src/integration-tests/confs/test_defaults.conf	(revision 32320)
++++ src/integration-tests/confs/test_defaults.conf	(working copy)
+@@ -17,6 +17,7 @@
+ EXTERNAL_ADDRESS = 127.0.0.1
+ INTERNAL_ADDRESS = 127.0.0.1
+ BINDTO = 127.0.0.1
++RETURN_LOCAL_ADDRESSES = YES
+ 
+ [hostlist]
+ SERVERS =
-- 
cgit v1.2.3


From 445c5abad8032f000387f36cc0533556289e5175 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Thu, 13 Feb 2014 00:42:41 -0500
Subject: gnu: ratpoison: Patch to use $SHELL instead of /bin/sh.

* gnu/packages/patches/ratpoison-shell.patch: New file.
* gnu/packages/ratpoison.scm (ratpoison): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
---
 gnu-system.am                              |  1 +
 gnu/packages/patches/ratpoison-shell.patch | 91 ++++++++++++++++++++++++++++++
 gnu/packages/ratpoison.scm                 |  4 +-
 3 files changed, 95 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/ratpoison-shell.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 7e68290a95..44ecf86de8 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -298,6 +298,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/qemu-make-4.0.patch			\
   gnu/packages/patches/qemu-multiple-smb-shares.patch		\
   gnu/packages/patches/qt4-tests.patch				\
+  gnu/packages/patches/ratpoison-shell.patch			\
   gnu/packages/patches/readline-link-ncurses.patch		\
   gnu/packages/patches/ripperx-libm.patch			\
   gnu/packages/patches/scheme48-tests.patch			\
diff --git a/gnu/packages/patches/ratpoison-shell.patch b/gnu/packages/patches/ratpoison-shell.patch
new file mode 100644
index 0000000000..63d265a382
--- /dev/null
+++ b/gnu/packages/patches/ratpoison-shell.patch
@@ -0,0 +1,91 @@
+Use $SHELL instead of hardcoding /bin/sh in ratpoison.
+
+Patch by Mark H Weaver <mhw@netris.org>.
+
+--- ratpoison/src/actions.c.orig	2013-04-06 21:37:43.000000000 -0400
++++ ratpoison/src/actions.c	2014-02-13 00:34:10.992553710 -0500
+@@ -19,6 +19,7 @@
+  */
+ 
+ #include <unistd.h>
++#include <stdlib.h>
+ #include <ctype.h>		/* for isspace */
+ #include <sys/wait.h>
+ #include <X11/keysym.h>
+@@ -223,12 +223,12 @@
+   add_command ("escape",        cmd_escape,     1, 1, 1,
+                "Key: ", arg_KEY);
+   add_command ("exec",          cmd_exec,       1, 1, 1,
+-               "/bin/sh -c ", arg_SHELLCMD);
++               "$SHELL -c ", arg_SHELLCMD);
+   add_command ("execa",		cmd_execa,	1, 1, 1, 
+-	       "/bin/sh -c ", arg_SHELLCMD);
++	       "$SHELL -c ", arg_SHELLCMD);
+   add_command ("execf",		cmd_execf,	2, 2, 2, 
+ 	       "frame to execute in:", arg_FRAME,
+-	       "/bin/sh -c ", arg_SHELLCMD);
++	       "$SHELL -c ", arg_SHELLCMD);
+   add_command ("fdump",         cmd_fdump,      1, 0, 0,
+                "", arg_NUMBER);
+   add_command ("focus",         cmd_next_frame, 0, 0, 0);
+@@ -359,7 +359,7 @@
+   add_command ("unsetenv",      cmd_unsetenv,   1, 1, 1,
+                "Variable: ", arg_STRING);
+   add_command ("verbexec",      cmd_verbexec,   1, 1, 1,
+-               "/bin/sh -c ", arg_SHELLCMD);
++               "$SHELL -c ", arg_SHELLCMD);
+   add_command ("version",       cmd_version,    0, 0, 0);
+   add_command ("vsplit",        cmd_v_split,    1, 0, 0,
+                "Split: ", arg_STRING);
+@@ -2627,6 +2627,9 @@
+   pid = fork();
+   if (pid == 0)
+     {
++      char *shell_path;
++      char *shell_name;
++
+       /* Some process setup to make sure the spawned process runs
+          in its own session. */
+       putenv(current_screen()->display_string);
+@@ -2641,7 +2644,18 @@
+       /* raw means don't run it through sh.  */
+       if (raw)
+         execl (cmd, cmd, NULL);
+-      execl("/bin/sh", "sh", "-c", cmd, NULL);
++
++      shell_path = getenv ("SHELL");
++      if (shell_path == NULL)
++        shell_path = "/bin/sh";
++
++      shell_name = strrchr (shell_path, '/');
++      if (shell_name == NULL)
++        shell_name = shell_path;
++      else
++        shell_name++;
++
++      execl(shell_path, shell_name, "-c", cmd, NULL);
+       _exit(EXIT_FAILURE);
+     }
+ 
+--- ratpoison/src/events.c.orig	2013-04-06 20:05:48.000000000 -0400
++++ ratpoison/src/events.c	2014-02-13 00:34:39.327758789 -0500
+@@ -920,7 +920,7 @@
+             {
+               /* Report any child that didn't return 0. */
+               if (cur->status != 0)
+-                marked_message_printf (0,0, "/bin/sh -c \"%s\" finished (%d)",
++                marked_message_printf (0,0, "$SHELL -c \"%s\" finished (%d)",
+                                        cur->cmd, cur->status);
+               list_del  (&cur->node);
+               free (cur->cmd);
+--- ratpoison/src/messages.h.orig	2012-07-20 20:25:33.000000000 -0400
++++ ratpoison/src/messages.h	2014-02-13 00:34:28.608398437 -0500
+@@ -41,7 +41,7 @@
+ 
+ #define MESSAGE_PROMPT_SWITCH_TO_WINDOW "Switch to window: "
+ #define MESSAGE_PROMPT_NEW_WINDOW_NAME  "Set window's title to: "
+-#define MESSAGE_PROMPT_SHELL_COMMAND    "/bin/sh -c "
++#define MESSAGE_PROMPT_SHELL_COMMAND    "$SHELL -c "
+ #define MESSAGE_PROMPT_COMMAND          ":"
+ #define MESSAGE_PROMPT_SWITCH_WM        "Switch to wm: "
+ #define MESSAGE_PROMPT_XTERM_COMMAND    MESSAGE_PROMPT_SHELL_COMMAND TERM_PROG " -e "
diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm
index fb1bfd8516..aabd1d330c 100644
--- a/gnu/packages/ratpoison.scm
+++ b/gnu/packages/ratpoison.scm
@@ -21,6 +21,7 @@ (define-module (gnu packages ratpoison)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (gnu packages)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages readline)
@@ -37,7 +38,8 @@ (define-public ratpoison
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0v4mh8d3vsh5xbbycfdl3g8zfygi1rkslh1x7k5hi1d05bfq3cdr"))))
+               "0v4mh8d3vsh5xbbycfdl3g8zfygi1rkslh1x7k5hi1d05bfq3cdr"))
+             (patches (list (search-patch "ratpoison-shell.patch")))))
     (build-system gnu-build-system)
     (inputs
      `(("libXi" ,libxi)
-- 
cgit v1.2.3


From 436c95d9a73064d7884530928a6ebb331377a9e3 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Sun, 16 Feb 2014 02:23:18 -0500
Subject: gnu: dmd: Sleep longer in tests, for slower machines.

* gnu/packages/patches/dmd-tests-longer-sleeps.patch: New file.
* gnu/packages/admin.scm (dmd): Add the patch.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                      |  1 +
 gnu/packages/admin.scm                             |  3 +-
 gnu/packages/patches/dmd-tests-longer-sleeps.patch | 52 ++++++++++++++++++++++
 3 files changed, 55 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/dmd-tests-longer-sleeps.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 44ecf86de8..9b0a6919d9 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -247,6 +247,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/dbus-localstatedir.patch			\
   gnu/packages/patches/diffutils-gets-undeclared.patch		\
   gnu/packages/patches/dmd-getpw.patch				\
+  gnu/packages/patches/dmd-tests-longer-sleeps.patch		\
   gnu/packages/patches/emacs-configure-sh.patch			\
   gnu/packages/patches/findutils-absolute-paths.patch		\
   gnu/packages/patches/flac-fix-memcmp-not-declared.patch	\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 928d752531..6998996523 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -49,7 +49,8 @@ (define-public dmd
              (sha256
               (base32
                "07mddw0p62fcphwjzgb6rfa0pjz5sy6jzbha0sm2vc3rqf459jxg"))
-             (patches (list (search-patch "dmd-getpw.patch")))))
+             (patches (list (search-patch "dmd-getpw.patch")
+                            (search-patch "dmd-tests-longer-sleeps.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
diff --git a/gnu/packages/patches/dmd-tests-longer-sleeps.patch b/gnu/packages/patches/dmd-tests-longer-sleeps.patch
new file mode 100644
index 0000000000..708000f351
--- /dev/null
+++ b/gnu/packages/patches/dmd-tests-longer-sleeps.patch
@@ -0,0 +1,52 @@
+Increase sleep times in tests, for slower machines.
+
+Patch by Mark H Weaver <mhw@netris.org>.
+
+--- dmd/tests/basic.sh	2013-11-30 17:22:00.000000000 -0500
++++ dmd/tests/basic.sh	2014-02-16 02:18:34.036376953 -0500
+@@ -46,7 +46,7 @@
+ dmd -I -s "$socket" -c "$conf" -l "$log" &
+ dmd_pid=$!
+ 
+-sleep 1				# XXX: wait till it's up
++sleep 3				# XXX: wait till it's up
+ kill -0 $dmd_pid
+ test -S "$socket"
+ $deco status dmd | grep -E '(Start.*dmd|Stop.*test)'
+--- dmd/tests/respawn.sh	2013-12-01 16:50:37.000000000 -0500
++++ dmd/tests/respawn.sh	2014-02-16 02:19:16.958251953 -0500
+@@ -39,7 +39,7 @@
+     i=0
+     while ! test -f "$1" && test $i -lt 20
+     do
+-	sleep 0.3
++	sleep 1
+ 	i=`expr $i + 1`
+     done
+     test -f "$1"
+@@ -65,14 +65,14 @@
+    #:provides '(test1)
+    #:start (make-forkexec-constructor
+ 	    "$SHELL" "-c"
+-	    "echo \$\$ > $service1_pid ; while true ; do sleep 1 ; done")
++	    "echo \$\$ > $service1_pid ; while true ; do sleep 3 ; done")
+    #:stop  (make-kill-destructor)
+    #:respawn? #t)
+  (make <service>
+    #:provides '(test2)
+    #:start (make-forkexec-constructor
+ 	    "$SHELL" "-c"
+-	    "echo \$\$ > $service2_pid ; while true ; do sleep 1 ; done")
++	    "echo \$\$ > $service2_pid ; while true ; do sleep 3 ; done")
+    #:stop  (make-kill-destructor)
+    #:respawn? #t))
+ (start 'test1)
+@@ -82,7 +82,7 @@
+ dmd -I -s "$socket" -c "$conf" -l "$log" &
+ dmd_pid=$!
+ 
+-sleep 1				# XXX: wait till it's up
++sleep 3				# XXX: wait till it's up
+ kill -0 $dmd_pid
+ test -S "$socket"
+ $deco status test1 | grep started
-- 
cgit v1.2.3


From 0841dcf7dd8e6c3e474f75cfa5b95a7feaf6f112 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Sun, 16 Feb 2014 20:20:10 -0500
Subject: gnu: patchelf: Fix platform page size determination.

* gnu/packages/patches/patchelf-page-size.patch: New file.
* gnu/packages/elf.scm (patchelf): Add the patch.
* gnu-system.am (dist_patch_DATA): Add the patch.
---
 gnu-system.am                                 |  1 +
 gnu/packages/elf.scm                          |  4 +-
 gnu/packages/patches/patchelf-page-size.patch | 69 +++++++++++++++++++++++++++
 3 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/patchelf-page-size.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 86bece3638..d231cfa57b 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -291,6 +291,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/make-impure-dirs.patch			\
   gnu/packages/patches/mcron-install.patch			\
   gnu/packages/patches/mit-krb5-init-fix.patch			\
+  gnu/packages/patches/patchelf-page-size.patch			\
   gnu/packages/patches/perl-no-sys-dirs.patch			\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
   gnu/packages/patches/procps-make-3.82.patch			\
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 1df9956f87..45714be70e 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -21,6 +21,7 @@ (define-module (gnu packages elf)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:select (gpl3+ lgpl3+ lgpl2.0+))
+  #:use-module (gnu packages)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages compression))
 
@@ -92,7 +93,8 @@ (define-public patchelf
                    "/patchelf-" version ".tar.bz2"))
              (sha256
               (base32
-               "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"))))
+               "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"))
+             (patches (list (search-patch "patchelf-page-size.patch")))))
     (build-system gnu-build-system)
     (home-page "http://nixos.org/patchelf.html")
     (synopsis "Modify the dynamic linker and RPATH of ELF executables")
diff --git a/gnu/packages/patches/patchelf-page-size.patch b/gnu/packages/patches/patchelf-page-size.patch
new file mode 100644
index 0000000000..2528b604e5
--- /dev/null
+++ b/gnu/packages/patches/patchelf-page-size.patch
@@ -0,0 +1,69 @@
+Improve the determination of pageSize in patchelf.cc.
+
+Patch by Mark H Weaver <mhw@netris.org>.
+
+--- patchelf/src/patchelf.cc.orig	1969-12-31 19:00:01.000000000 -0500
++++ patchelf/src/patchelf.cc	2014-02-16 20:15:06.283203125 -0500
+@@ -21,11 +21,19 @@
+ using namespace std;
+ 
+ 
+-#ifdef MIPSEL
+-/* The lemote fuloong 2f kernel defconfig sets a page size of 16KB */
+-const unsigned int pageSize = 4096*4;
+-#else
++/* Note that some platforms support multiple page sizes.  Therefore,
++   it is not enough to query the current page size.  'pageSize' must
++   be the maximum architectural page size for the platform, which is
++   typically defined in the corresponding ABI document.
++
++   XXX FIXME: This won't work when we're cross-compiling.  */
++
++#if defined __MIPSEL__ || defined __MIPSEB__ || defined __aarch64__
++const unsigned int pageSize = 65536;
++#elif defined __x86_64__ || defined __i386__ || defined __arm__
+ const unsigned int pageSize = 4096;
++#else
++# error maximum architectural page size unknown for this platform
+ #endif
+ 
+ 
+--- patchelf/tests/no-rpath.sh.orig	1969-12-31 19:00:01.000000000 -0500
++++ patchelf/tests/no-rpath.sh	2014-02-16 20:44:12.036376953 -0500
+@@ -1,22 +1,22 @@
+ #! /bin/sh -e
+ 
+-rm -rf scratch
+-mkdir -p scratch
++if [ "$(uname -m)" = i686 -a "$(uname -s)" = Linux ]; then
++    rm -rf scratch
++    mkdir -p scratch
+ 
+-cp no-rpath scratch/
++    cp no-rpath scratch/
+ 
+-oldRPath=$(../src/patchelf --print-rpath scratch/no-rpath)
+-if test -n "$oldRPath"; then exit 1; fi
+-../src/patchelf \
+-  --set-interpreter "$(../src/patchelf --print-interpreter ../src/patchelf)" \
+-  --set-rpath /foo:/bar:/xxxxxxxxxxxxxxx scratch/no-rpath
++    oldRPath=$(../src/patchelf --print-rpath scratch/no-rpath)
++    if test -n "$oldRPath"; then exit 1; fi
++    ../src/patchelf \
++      --set-interpreter "$(../src/patchelf --print-interpreter ../src/patchelf)" \
++      --set-rpath /foo:/bar:/xxxxxxxxxxxxxxx scratch/no-rpath
+ 
+-newRPath=$(../src/patchelf --print-rpath scratch/no-rpath)
+-if ! echo "$newRPath" | grep -q '/foo:/bar'; then
+-    echo "incomplete RPATH"
+-    exit 1
+-fi
++    newRPath=$(../src/patchelf --print-rpath scratch/no-rpath)
++    if ! echo "$newRPath" | grep -q '/foo:/bar'; then
++        echo "incomplete RPATH"
++        exit 1
++    fi
+ 
+-if [ "$(uname -m)" = i686 -a "$(uname -s)" = Linux ]; then
+     cd scratch && ./no-rpath
+ fi
-- 
cgit v1.2.3


From 7fe492e8d956de17ad2af2ed0d1843a745d06e17 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Wed, 19 Feb 2014 16:43:25 +0100
Subject: gnu: bigloo: Upgrade to 4.1a.

* gnu/packages/scheme.scm (bigloo): Upgrade to 4.1a.
---
 gnu/packages/patches/bigloo-gc-shebangs.patch | 4 ++--
 gnu/packages/scheme.scm                       | 9 ++++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

(limited to 'gnu/packages/patches')

diff --git a/gnu/packages/patches/bigloo-gc-shebangs.patch b/gnu/packages/patches/bigloo-gc-shebangs.patch
index 9ead2ba979..367708610a 100644
--- a/gnu/packages/patches/bigloo-gc-shebangs.patch
+++ b/gnu/packages/patches/bigloo-gc-shebangs.patch
@@ -1,7 +1,7 @@
 Patch shebangs in source that gets unpacked by `configure'.
 
---- bigloo4.0b/gc/install-gc-7.3alpha3-20130330	2013-08-19 10:45:20.000000000 +0200
-+++ bigloo4.0b/gc/install-gc-7.3alpha3-20130330	2013-08-19 10:46:36.000000000 +0200
+--- bigloo4.1a/gc/install-gc-7.4.0	2014-02-04 14:55:03.000000000 +0100
++++ bigloo4.1a/gc/install-gc-7.4.0	2014-02-04 14:55:36.000000000 +0100
 @@ -29,10 +29,12 @@ fi
  
  # untar the two versions of the GC
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 4dcd46305d..3d9e3b54dc 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -116,14 +116,14 @@ (define-public mit-scheme
 (define-public bigloo
   (package
     (name "bigloo")
-    (version "4.0b")
+    (version "4.1a")
     (source (origin
              (method url-fetch)
              (uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1fck2h48f0bvh8fl437cagmp0syfxy9lqacy1zwsis20fc76jvzi"))
+               "170q7nh08n4v20xl81fxb0xcdxphqqacfa643hsa8i2ar6pki04c"))
              (patches (list (search-patch "bigloo-gc-shebangs.patch")))))
     (build-system gnu-build-system)
     (arguments
@@ -163,6 +163,9 @@ (define-public bigloo
                      (zero?
                       (system* "./configure"
                                (string-append "--prefix=" out)
+                               ;; FIXME: Currently fails, see
+                               ;; <http://article.gmane.org/gmane.lisp.scheme.bigloo/6126>.
+                               ;; "--customgc=no" ; use our libgc
                                (string-append"--mv=" (which "mv"))
                                (string-append "--rm=" (which "rm"))))))
                  (alist-cons-after
-- 
cgit v1.2.3


From 86d07a5514d859772980ef87e39f6e2b668655c0 Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Fri, 21 Feb 2014 01:00:49 +0100
Subject: gnu: mpc123: Add patch that fixes a segfault.

* gnu/packages/patches/mpc123-initialize-ao.patch: New file.
* gnu/packages/mp3.scm (mpc123): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                   |  1 +
 gnu/packages/mp3.scm                            |  3 ++-
 gnu/packages/patches/mpc123-initialize-ao.patch | 19 +++++++++++++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/mpc123-initialize-ao.patch

(limited to 'gnu/packages/patches')

diff --git a/gnu-system.am b/gnu-system.am
index 8308480c42..e7c7bb2141 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -298,6 +298,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/make-impure-dirs.patch			\
   gnu/packages/patches/mcron-install.patch			\
   gnu/packages/patches/mit-krb5-init-fix.patch			\
+  gnu/packages/patches/mpc123-initialize-ao.patch		\
   gnu/packages/patches/patchelf-page-size.patch			\
   gnu/packages/patches/perl-no-sys-dirs.patch			\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 7e324703a6..c64efe4c03 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -298,7 +298,8 @@ (define-public mpc123
                                   version "/mpc123-" version ".tar.gz"))
               (sha256
                (base32
-                "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))))
+                "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))
+              (patches (list (search-patch "mpc123-initialize-ao.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-replace
diff --git a/gnu/packages/patches/mpc123-initialize-ao.patch b/gnu/packages/patches/mpc123-initialize-ao.patch
new file mode 100644
index 0000000000..85e461f896
--- /dev/null
+++ b/gnu/packages/patches/mpc123-initialize-ao.patch
@@ -0,0 +1,19 @@
+Description: Zero ao_sample_format structure to cope with libao 1.0.0
+Author: Colin Watson <cjwatson@debian.org>
+Bug-Debian: http://bugs.debian.org/591396
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/710268
+Forwarded: no
+Last-Update: 2013-05-07
+
+Index: b/ao.c
+===================================================================
+--- a/ao.c
++++ b/ao.c
+@@ -123,6 +123,7 @@
+ 
+   /* initialize ao_format struct */
+   /* XXX VERY WRONG */
++  memset(&ao_fmt, 0, sizeof(ao_fmt));
+   ao_fmt.bits=16;       /*tmp_stream_info.average_bitrate;*/
+   ao_fmt.rate=streaminfo->sample_freq;
+   ao_fmt.channels=streaminfo->channels;
-- 
cgit v1.2.3