summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/bitlbee-configure-doc-fix.patch15
-rw-r--r--gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch16
-rw-r--r--gnu/packages/patches/curl-support-capath-on-gnutls.patch102
-rw-r--r--gnu/packages/patches/fltk-shared-lib-defines.patch51
-rw-r--r--gnu/packages/patches/fuse-CVE-2015-3202.patch65
-rw-r--r--gnu/packages/patches/gcc-5.0-libvtv-runpath.patch15
-rw-r--r--gnu/packages/patches/gnutls-fix-duplicate-manpages.patch30
-rw-r--r--gnu/packages/patches/guix-test-networking.patch15
-rw-r--r--gnu/packages/patches/hop-linker-flags.patch60
-rw-r--r--gnu/packages/patches/inetutils-syslogd.patch20
-rw-r--r--gnu/packages/patches/libtool-skip-tests.patch55
-rw-r--r--gnu/packages/patches/linux-libre-libreboot-fix.patch37
-rw-r--r--gnu/packages/patches/maxima-defsystem-mkdir.patch13
-rw-r--r--gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch15
-rw-r--r--gnu/packages/patches/qemu-CVE-2015-3209.patch49
-rw-r--r--gnu/packages/patches/qemu-CVE-2015-3456.patch85
-rw-r--r--gnu/packages/patches/r-fix-15899.patch17
-rw-r--r--gnu/packages/patches/rsem-makefile.patch682
-rw-r--r--gnu/packages/patches/serf-comment-style-fix.patch23
-rw-r--r--gnu/packages/patches/serf-deflate-buckets-test-fix.patch69
-rw-r--r--gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch59
-rw-r--r--gnu/packages/patches/tvtime-gcc41.patch58
-rw-r--r--gnu/packages/patches/tvtime-pngoutput.patch15
-rw-r--r--gnu/packages/patches/tvtime-videodev2.patch15
-rw-r--r--gnu/packages/patches/tvtime-xmltv.patch28
-rw-r--r--gnu/packages/patches/udev-gir-libtool.patch17
-rw-r--r--gnu/packages/patches/wicd-template-instantiation.patch29
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-2-fix.patch51
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-3-fix.patch43
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch75
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch68
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch54
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch52
-rw-r--r--gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch34
34 files changed, 1725 insertions, 307 deletions
diff --git a/gnu/packages/patches/bitlbee-configure-doc-fix.patch b/gnu/packages/patches/bitlbee-configure-doc-fix.patch
new file mode 100644
index 0000000000..ade0b7f25c
--- /dev/null
+++ b/gnu/packages/patches/bitlbee-configure-doc-fix.patch
@@ -0,0 +1,15 @@
+Fix the check for the prebuilt helpfile when xsltproc is not available.
+
+--- bitlbee-3.4/configure.orig	2015-03-25 18:09:10.000000000 -0400
++++ bitlbee-3.4/configure	2015-05-20 14:51:33.627975970 -0400
+@@ -650,8 +650,8 @@
+ 
+ if [ "$doc" = "1" ]; then
+ 	if [ ! -e doc/user-guide/help.txt ] && \
+-	     ! type xmlto > /dev/null 2> /dev/null || \
+-	     ! type xsltproc > /dev/null 2> /dev/null
++	     (! type xmlto > /dev/null 2> /dev/null || \
++	      ! type xsltproc > /dev/null 2> /dev/null)
+ 	then
+ 		echo
+ 		echo 'WARNING: Building from an unreleased source tree without prebuilt helpfile.'
diff --git a/gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch b/gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch
deleted file mode 100644
index d2391d461d..0000000000
--- a/gnu/packages/patches/curl-support-capath-on-gnutls-conf.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-This patch updates 'configure' as autoreconf would have done after
-applying curl-support-capath-on-gnutls.patch.
-
---- a/configure       2015-03-22 01:11:23.178743705 +0100
-+++ b/configure       2015-02-25 00:05:37.000000000 +0100
-@@ -23952,8 +24432,8 @@
-         ca="$want_ca"
-     capath="no"
-   elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
--        if test "x$OPENSSL_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
--      as_fn_error $? "--with-ca-path only works with openSSL or PolarSSL" "$LINENO" 5
-+        if test "x$OPENSSL_ENABLED" != "x1" -a "x$GNUTLS_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
-+      as_fn_error $? "--with-ca-path only works with OpenSSL, GnuTLS or PolarSSL" "$LINENO" 5
-     fi
-     capath="$want_capath"
-     ca="no"
diff --git a/gnu/packages/patches/curl-support-capath-on-gnutls.patch b/gnu/packages/patches/curl-support-capath-on-gnutls.patch
deleted file mode 100644
index d05dd021e8..0000000000
--- a/gnu/packages/patches/curl-support-capath-on-gnutls.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-This patch adds support for CURLOPT_CAPATH to the GnuTLS backend.
-
-From 5a1614cecdd57cab8b4ae3e9bc19dfff5ba77e80 Mon Sep 17 00:00:00 2001
-From: Alessandro Ghedini <alessandro@ghedini.me>
-Date: Sun, 8 Mar 2015 20:11:06 +0100
-Subject: [PATCH] gtls: add support for CURLOPT_CAPATH
-
----
- acinclude.m4                       |  4 ++--
- docs/libcurl/opts/CURLOPT_CAPATH.3 |  5 ++---
- lib/vtls/gtls.c                    | 22 ++++++++++++++++++++++
- lib/vtls/gtls.h                    |  3 +++
- 4 files changed, 29 insertions(+), 5 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 6ed7ffb..ca01869 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2615,8 +2615,8 @@ AC_HELP_STRING([--without-ca-path], [Don't use a default CA path]),
-     capath="no"
-   elif test "x$want_capath" != "xno" -a "x$want_capath" != "xunset"; then
-     dnl --with-ca-path given
--    if test "x$OPENSSL_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
--      AC_MSG_ERROR([--with-ca-path only works with openSSL or PolarSSL])
-+    if test "x$OPENSSL_ENABLED" != "x1" -a "x$GNUTLS_ENABLED" != "x1" -a "x$POLARSSL_ENABLED" != "x1"; then
-+      AC_MSG_ERROR([--with-ca-path only works with OpenSSL, GnuTLS or PolarSSL])
-     fi
-     capath="$want_capath"
-     ca="no"
-diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
-index 642953d..6695f9f 100644
---- a/docs/libcurl/opts/CURLOPT_CAPATH.3
-+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
-@@ -43,9 +43,8 @@ All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
- .SH EXAMPLE
- TODO
- .SH AVAILABILITY
--This option is OpenSSL-specific and does nothing if libcurl is built to use
--GnuTLS. NSS-powered libcurl provides the option only for backward
--compatibility.
-+This option is supported by the OpenSSL, GnuTLS and PolarSSL backends. The NSS
-+backend provides the option only for backward compatibility.
- .SH RETURN VALUE
- Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or
- CURLE_OUT_OF_MEMORY if there was insufficient heap space.
-diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c
-index 05aef19..c792540 100644
---- a/lib/vtls/gtls.c
-+++ b/lib/vtls/gtls.c
-@@ -97,6 +97,10 @@ static bool gtls_inited = FALSE;
- #  if (GNUTLS_VERSION_NUMBER >= 0x03020d)
- #    define HAS_OCSP
- #  endif
-+
-+#  if (GNUTLS_VERSION_NUMBER >= 0x030306)
-+#    define HAS_CAPATH
-+#  endif
- #endif
- 
- #ifdef HAS_OCSP
-@@ -462,6 +466,24 @@ gtls_connect_step1(struct connectdata *conn,
-             rc, data->set.ssl.CAfile);
-   }
- 
-+#ifdef HAS_CAPATH
-+  if(data->set.ssl.CApath) {
-+    /* set the trusted CA cert directory */
-+    rc = gnutls_certificate_set_x509_trust_dir(conn->ssl[sockindex].cred,
-+                                                data->set.ssl.CApath,
-+                                                GNUTLS_X509_FMT_PEM);
-+    if(rc < 0) {
-+      infof(data, "error reading ca cert file %s (%s)\n",
-+            data->set.ssl.CAfile, gnutls_strerror(rc));
-+      if(data->set.ssl.verifypeer)
-+        return CURLE_SSL_CACERT_BADFILE;
-+    }
-+    else
-+      infof(data, "found %d certificates in %s\n",
-+            rc, data->set.ssl.CApath);
-+  }
-+#endif
-+
-   if(data->set.ssl.CRLfile) {
-     /* set the CRL list file */
-     rc = gnutls_certificate_set_x509_crl_file(conn->ssl[sockindex].cred,
-diff --git a/lib/vtls/gtls.h b/lib/vtls/gtls.h
-index c3867e5..af1cb5b 100644
---- a/lib/vtls/gtls.h
-+++ b/lib/vtls/gtls.h
-@@ -54,6 +54,9 @@ bool Curl_gtls_cert_status_request(void);
- /* Set the API backend definition to GnuTLS */
- #define CURL_SSL_BACKEND CURLSSLBACKEND_GNUTLS
- 
-+/* this backend supports the CAPATH option */
-+#define have_curlssl_ca_path 1
-+
- /* API setup for GnuTLS */
- #define curlssl_init Curl_gtls_init
- #define curlssl_cleanup Curl_gtls_cleanup
--- 
-2.2.1
-
diff --git a/gnu/packages/patches/fltk-shared-lib-defines.patch b/gnu/packages/patches/fltk-shared-lib-defines.patch
new file mode 100644
index 0000000000..d36a50ff5e
--- /dev/null
+++ b/gnu/packages/patches/fltk-shared-lib-defines.patch
@@ -0,0 +1,51 @@
+This patch from upstream revision 10588.
+
+--- fltk-1.3.3/src/Xutf8.h
++++ fltk-1.3.3/src/Xutf8.h
+@@ -25,6 +25,7 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xlocale.h>
+ #include <X11/Xutil.h>
++#include <FL/Fl_Export.H>
+ 
+ typedef struct {
+ 	int nb_font;
+@@ -98,8 +99,8 @@
+ 	XUtf8FontStruct  *font_set,
+ 	unsigned int            ucs);
+ 
+-int
+-XGetUtf8FontAndGlyph(
++FL_EXPORT int
++fl_XGetUtf8FontAndGlyph(
+         XUtf8FontStruct  *font_set,
+         unsigned int            ucs,
+         XFontStruct     **fnt,
+--- fltk-1.3.3/src/gl_draw.cxx
++++ fltk-1.3.3/src/gl_draw.cxx
+@@ -114,7 +114,7 @@
+   for (int i = 0; i < 0x400; i++) {
+     XFontStruct *font = NULL;
+     unsigned short id;
+-    XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id);
++    fl_XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id);
+     if (font) glXUseXFont(font->fid, id, 1, gl_fontsize->listbase+ii);
+     ii++;
+    }
+--- fltk-1.3.3/src/xutf8/utf8Wrap.c
++++ fltk-1.3.3/src/xutf8/utf8Wrap.c
+@@ -816,10 +816,10 @@
+ /**  get the X font and glyph ID of a UCS char                              **/
+ /*****************************************************************************/
+ int
+-XGetUtf8FontAndGlyph(XUtf8FontStruct  *font_set,
+-		     unsigned int     ucs,
+-		     XFontStruct      **fnt,
+-		     unsigned short   *id) {
++fl_XGetUtf8FontAndGlyph(XUtf8FontStruct  *font_set,
++			unsigned int     ucs,
++			XFontStruct      **fnt,
++			unsigned short   *id) {
+ 
+   /* int             x; */
+   int             *encodings; /* encodings array */
diff --git a/gnu/packages/patches/fuse-CVE-2015-3202.patch b/gnu/packages/patches/fuse-CVE-2015-3202.patch
new file mode 100644
index 0000000000..7c64de7683
--- /dev/null
+++ b/gnu/packages/patches/fuse-CVE-2015-3202.patch
@@ -0,0 +1,65 @@
+The following patch was copied from Debian.
+
+Description: Fix CVE-2015-3202
+ Missing scrubbing of the environment before executing a mount or umount
+ of a filesystem.
+Origin: upstream
+Author: Miklos Szeredi <miklos@szeredi.hu>
+Last-Update: 2015-05-19
+
+---
+ lib/mount_util.c |   23 +++++++++++++++++------
+ 1 file changed, 17 insertions(+), 6 deletions(-)
+
+--- a/lib/mount_util.c
++++ b/lib/mount_util.c
+@@ -95,10 +95,12 @@ static int add_mount(const char *prognam
+ 		goto out_restore;
+ 	}
+ 	if (res == 0) {
++		char *env = NULL;
++
+ 		sigprocmask(SIG_SETMASK, &oldmask, NULL);
+ 		setuid(geteuid());
+-		execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
+-		      "-f", "-t", type, "-o", opts, fsname, mnt, NULL);
++		execle("/bin/mount", "/bin/mount", "--no-canonicalize", "-i",
++		       "-f", "-t", type, "-o", opts, fsname, mnt, NULL, &env);
+ 		fprintf(stderr, "%s: failed to execute /bin/mount: %s\n",
+ 			progname, strerror(errno));
+ 		exit(1);
+@@ -146,10 +148,17 @@ static int exec_umount(const char *progn
+ 		goto out_restore;
+ 	}
+ 	if (res == 0) {
++		char *env = NULL;
++
+ 		sigprocmask(SIG_SETMASK, &oldmask, NULL);
+ 		setuid(geteuid());
+-		execl("/bin/umount", "/bin/umount", "-i", rel_mnt,
+-		      lazy ? "-l" : NULL, NULL);
++		if (lazy) {
++			execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
++			       "-l", NULL, &env);
++		} else {
++			execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
++			       NULL, &env);
++		}
+ 		fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
+ 			progname, strerror(errno));
+ 		exit(1);
+@@ -205,10 +214,12 @@ static int remove_mount(const char *prog
+ 		goto out_restore;
+ 	}
+ 	if (res == 0) {
++		char *env = NULL;
++
+ 		sigprocmask(SIG_SETMASK, &oldmask, NULL);
+ 		setuid(geteuid());
+-		execl("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
+-		      "--fake", mnt, NULL);
++		execle("/bin/umount", "/bin/umount", "--no-canonicalize", "-i",
++		       "--fake", mnt, NULL, &env);
+ 		fprintf(stderr, "%s: failed to execute /bin/umount: %s\n",
+ 			progname, strerror(errno));
+ 		exit(1);
diff --git a/gnu/packages/patches/gcc-5.0-libvtv-runpath.patch b/gnu/packages/patches/gcc-5.0-libvtv-runpath.patch
new file mode 100644
index 0000000000..9a9bc5ca53
--- /dev/null
+++ b/gnu/packages/patches/gcc-5.0-libvtv-runpath.patch
@@ -0,0 +1,15 @@
+GCC 4.9 and later have libvtv and, just like libstdc++ (see
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354), it doesn't
+have $libdir in its RUNPATH, but it NEEDs libgcc_s.  This patch
+fixes that.
+
+--- gcc-5.1.0/libvtv/Makefile.in	2014-10-30 09:28:58.000000000 +0100
++++ gcc-5.1.0/libvtv/Makefile.in	2015-04-30 09:51:04.161129705 +0200
+@@ -15,6 +15,7 @@
+ 
+ @SET_MAKE@
+ 
++libvtv_la_LDFLAGS = -Wl,-rpath=$(libdir)
+ 
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
diff --git a/gnu/packages/patches/gnutls-fix-duplicate-manpages.patch b/gnu/packages/patches/gnutls-fix-duplicate-manpages.patch
deleted file mode 100644
index 95a25560e5..0000000000
--- a/gnu/packages/patches/gnutls-fix-duplicate-manpages.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Remove duplicate manpage entries from Makefile.
-
---- gnutls-3.4.0/doc/manpages/Makefile.am.orig	2015-04-06 04:48:30.000000000 -0400
-+++ gnutls-3.4.0/doc/manpages/Makefile.am	2015-04-12 16:52:58.029694525 -0400
-@@ -134,11 +134,8 @@
- APIMANS += gnutls_certificate_get_peers_subkey_id.3
- APIMANS += gnutls_certificate_get_trust_list.3
- APIMANS += gnutls_certificate_get_verify_flags.3
--APIMANS += gnutls_certificate_get_verify_flags.3
--APIMANS += gnutls_certificate_get_x509_crt.3
- APIMANS += gnutls_certificate_get_x509_crt.3
- APIMANS += gnutls_certificate_get_x509_key.3
--APIMANS += gnutls_certificate_get_x509_key.3
- APIMANS += gnutls_certificate_send_x509_rdn_sequence.3
- APIMANS += gnutls_certificate_server_set_request.3
- APIMANS += gnutls_certificate_set_dh_params.3
---- gnutls-3.4.0/doc/manpages/Makefile.in.orig	2015-04-08 02:08:30.000000000 -0400
-+++ gnutls-3.4.0/doc/manpages/Makefile.in	2015-04-12 16:53:13.319694530 -0400
-@@ -1275,11 +1275,8 @@
- 	gnutls_certificate_get_peers_subkey_id.3 \
- 	gnutls_certificate_get_trust_list.3 \
- 	gnutls_certificate_get_verify_flags.3 \
--	gnutls_certificate_get_verify_flags.3 \
--	gnutls_certificate_get_x509_crt.3 \
- 	gnutls_certificate_get_x509_crt.3 \
- 	gnutls_certificate_get_x509_key.3 \
--	gnutls_certificate_get_x509_key.3 \
- 	gnutls_certificate_send_x509_rdn_sequence.3 \
- 	gnutls_certificate_server_set_request.3 \
- 	gnutls_certificate_set_dh_params.3 \
diff --git a/gnu/packages/patches/guix-test-networking.patch b/gnu/packages/patches/guix-test-networking.patch
deleted file mode 100644
index a8d1f4fd2f..0000000000
--- a/gnu/packages/patches/guix-test-networking.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Skip that test when the network is unreachable.
-
-diff --git a/tests/packages.scm b/tests/packages.scm
-index 04e3b0b..6ac215b 100644
---- a/tests/packages.scm
-+++ b/tests/packages.scm
-@@ -139,6 +139,8 @@
-     (and (direct-store-path? source)
-          (string-suffix? "utils.scm" source))))
- 
-+(unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))
-+  (test-skip 1))
- (test-equal "package-source-derivation, snippet"
-   "OK"
-   (let* ((file   (search-bootstrap-binary "guile-2.0.9.tar.xz"
diff --git a/gnu/packages/patches/hop-linker-flags.patch b/gnu/packages/patches/hop-linker-flags.patch
new file mode 100644
index 0000000000..f1f5dbfbd9
--- /dev/null
+++ b/gnu/packages/patches/hop-linker-flags.patch
@@ -0,0 +1,60 @@
+Make hop's link rules honor flags set by the --blflags configure argument.
+
+--- hop-2.4.0/src/Makefile	2015-05-05 19:41:04.800151036 -0500
++++ hop-2.4.0/src/Makefile	2015-05-05 19:40:40.916150417 -0500
+@@ -69,10 +69,10 @@
+ 	$(MAKE) link.$(LINK) DEST=$@
+ 
+ link.dynamic:
+-	@ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$(DEST))
++	@ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$(DEST))
+ 
+ link.static:
+-	@ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),-static-all-bigloo $(OBJECTS),-o,$(DEST))
++	@ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),-static-all-bigloo $(OBJECTS),-o,$(DEST))
+ 
+ link.library:
+ 	echo "***ERROR: link.library not currently supported!"
+--- hop-2.4.0/hopc/Makefile	2013-01-30 07:17:59.000000000 -0600
++++ hop-2.4.0/hopc/Makefile	2015-05-05 19:45:21.876157699 -0500
+@@ -62,7 +62,7 @@
+ 	mkdir -p $@
+ 
+ $(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
+-	@ $(call link,$(BIGLOO),$(BCFLAGS),,$(OBJECTS),-o,$@)
++	@ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
+ 
+ $(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
+ 	$(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
+--- hop-2.4.0/hophz/Makefile	2013-01-30 07:17:59.000000000 -0600
++++ hop-2.4.0/hophz/Makefile	2015-05-05 19:59:42.996180030 -0500
+@@ -16,9 +16,6 @@
+ -include ../etc/Makefile.hopconfig
+ -include ../etc/Makefile.version
+ 
+-BLFLAGS		= 
+-BLINKFLAGS 	= -suffix hop
+-
+ #*---------------------------------------------------------------------*/
+ #*    Target and Project                                               */
+ #*---------------------------------------------------------------------*/
+@@ -72,7 +69,7 @@
+ 	mkdir -p $@
+ 
+ $(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
+-	@ $(call link,$(BIGLOO),$(BCFLAGS),$(BLINKFLAGS),$(OBJECTS),-o,$@)
++	@ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
+ 
+ $(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
+ 	@ $(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
+--- hop-2.4.0/hopsh/Makefile	2013-01-30 07:17:59.000000000 -0600
++++ hop-2.4.0/hopsh/Makefile	2015-05-05 19:46:36.060159626 -0500
+@@ -60,7 +60,7 @@
+ 	mkdir -p $@
+ 
+ $(BUILDBINDIR)/$(EXEC): .afile .etags $(OBJECTS)
+-	@ $(call link,$(BIGLOO),$(BCFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
++	@ $(call link,$(BIGLOO),$(BCFLAGS) $(BLFLAGS),$(BCFLAGSDEV),$(OBJECTS),-o,$@)
+ 
+ $(BUILDBINDIR)/$(EXEC).jar: .afile .etags .jfile $(BGL_CLASSES) META-INF/MANIFEST.MF jvm-stdlibs jvm-share jvm-lib
+ 	@ $(JAR) $@ META-INF/MANIFEST.MF -C o/class_s .
diff --git a/gnu/packages/patches/inetutils-syslogd.patch b/gnu/packages/patches/inetutils-syslogd.patch
deleted file mode 100644
index 0bf9eb7fc6..0000000000
--- a/gnu/packages/patches/inetutils-syslogd.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From <http://lists.gnu.org/archive/html/bug-inetutils/2015-04/msg00001.html>.
-
-2015-04-01  Ludovic Courtès  <ludo@gnu.org>
-
-	* src/syslogd.c (load_conffile): Use 'bcopy' instead of 'strcpy'
-	since the two regions may overlap.
-	Reported by Alex Kost <alezost@gmail.com>
-	at <http://lists.gnu.org/archive/html/guix-devel/2015-03/msg00780.html>.
-
---- a/src/syslogd.c
-+++ b/src/syslogd.c
-@@ -1989,7 +1989,7 @@ load_conffile (const char *filename, struct filed **nextp)
-       if (*p == '\0' || *p == '#')
- 	continue;
- 
--      strcpy (cline, p);
-+      bcopy (p, cline, strlen (p) + 1);
- 
-       /* Cut the trailing spaces.  */
-       for (p = strchr (cline, '\0'); isspace (*--p);)
diff --git a/gnu/packages/patches/libtool-skip-tests.patch b/gnu/packages/patches/libtool-skip-tests.patch
deleted file mode 100644
index 9191d40487..0000000000
--- a/gnu/packages/patches/libtool-skip-tests.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Because our GCC 'lib' spec automatically adds '-rpath' for each '-L'
-and a couple more '-rpath, there are two test failures:
-one in demo.test, and one in destdir.at.  Disable these.
-
-Also skip the nopic test on ARM and MIPS systems.
-
---- libtool-2.4.6/tests/demo.at.orig	2015-01-16 13:52:04.000000000 -0500
-+++ libtool-2.4.6/tests/demo.at	2015-02-16 10:48:51.435851966 -0500
-@@ -510,7 +510,7 @@
- AT_SETUP([force non-PIC objects])
- 
- AT_CHECK([case $host in
--hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
-   # These hosts cannot use non-PIC shared libs
-   exit 77 ;;
- *-solaris*|*-sunos*)
---- libtool-2.4.6/tests/testsuite.orig	2015-02-15 11:15:25.000000000 -0500
-+++ libtool-2.4.6/tests/testsuite	2015-02-16 10:50:58.736483216 -0500
-@@ -8741,7 +8741,7 @@
- 
- { set +x
- $as_echo "$at_srcdir/demo.at:535: case \$host in
--hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
-   # These hosts cannot use non-PIC shared libs
-   exit 77 ;;
- *-solaris*|*-sunos*)
-@@ -8766,7 +8766,7 @@
- "
- at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535"
- ( $at_check_trace; case $host in
--hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
-   # These hosts cannot use non-PIC shared libs
-   exit 77 ;;
- *-solaris*|*-sunos*)
-@@ -9298,7 +9298,7 @@
- #AT_START_34
- at_fn_group_banner 34 'demo.at:548' \
-   "hardcoding library path" "                        " 4
--at_xfail=no
-+at_xfail=yes
-       test no = "$ACLOCAL" && at_xfail=yes
-       test no = "$AUTOHEADER" && at_xfail=yes
-       test no = "$AUTOMAKE" && at_xfail=yes
-@@ -27243,7 +27243,7 @@
- #AT_START_98
- at_fn_group_banner 98 'destdir.at:75' \
-   "DESTDIR with in-package deplibs" "                " 8
--at_xfail=no
-+at_xfail=yes
-       eval `$LIBTOOL --config | $GREP '^fast_install='`
-            case $fast_install in no) :;; *) false;; esac && at_xfail=yes
- (
diff --git a/gnu/packages/patches/linux-libre-libreboot-fix.patch b/gnu/packages/patches/linux-libre-libreboot-fix.patch
deleted file mode 100644
index d340a99fcb..0000000000
--- a/gnu/packages/patches/linux-libre-libreboot-fix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-This patch fixes linux-libre-3.19.x on Libreboot X60 machines.
-Copied from https://bugzilla.kernel.org/show_bug.cgi?id=93171#c25
-
---- a/drivers/gpu/drm/i915/i915_irq.c	
-+++ a/drivers/gpu/drm/i915/i915_irq.c	
-@@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device *dev)
- 		~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
- 		  I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
- 		  I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
--		  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
--		  I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
-+		  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
- 	I915_WRITE16(IMR, dev_priv->irq_mask);
- 
- 	I915_WRITE16(IER,
- 		     I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
- 		     I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
--		     I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
- 		     I915_USER_INTERRUPT);
- 	POSTING_READ16(IER);
- 
-@@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device *dev)
- 		  I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
- 		  I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
- 		  I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
--		  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
--		  I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
-+		  I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
- 
- 	enable_mask =
- 		I915_ASLE_INTERRUPT |
- 		I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
- 		I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
--		I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
- 		I915_USER_INTERRUPT;
- 
- 	if (I915_HAS_HOTPLUG(dev)) {
diff --git a/gnu/packages/patches/maxima-defsystem-mkdir.patch b/gnu/packages/patches/maxima-defsystem-mkdir.patch
new file mode 100644
index 0000000000..bc42e51a32
--- /dev/null
+++ b/gnu/packages/patches/maxima-defsystem-mkdir.patch
@@ -0,0 +1,13 @@
+Change 'ensure-directories-exist' to look for 'mkdir' in $PATH, not in /bin.
+
+--- maxima-5.36.1/lisp-utils/defsystem.lisp.orig	2014-11-22 16:21:30.000000000 -0500
++++ maxima-5.36.1/lisp-utils/defsystem.lisp	2015-05-25 21:53:31.223648483 -0400
+@@ -4627,7 +4627,7 @@
+         (cmd (if (member :win32 *features*)
+                  (format nil "mkdir \"~a\""
+                          (coerce (subst #\\ #\/ (coerce (namestring dir) 'list)) 'string))
+-                 (format nil "/bin/mkdir -p ~S" (namestring dir)))))
++                 (format nil "mkdir -p ~S" (namestring dir)))))
+    (unless (directory dir)
+      (lisp:system cmd))
+    ;; The second return value is supposed to be T if directories were
diff --git a/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch
deleted file mode 100644
index 2f8b159870..0000000000
--- a/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-From resolution of upstream python issue #20901: http://bugs.python.org/issue20901
-
-diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
---- Lib/sqlite3/test/hooks.py
-+++ Lib/sqlite3/test/hooks.py
-@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase):
-             create table bar (a, b)
-             """)
-         second_count = len(progress_calls)
--        self.assertGreater(first_count, second_count)
-+        self.assertGreaterEqual(first_count, second_count)
- 
-     def CheckCancelOperation(self):
-         """
-
diff --git a/gnu/packages/patches/qemu-CVE-2015-3209.patch b/gnu/packages/patches/qemu-CVE-2015-3209.patch
new file mode 100644
index 0000000000..0bb726698c
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2015-3209.patch
@@ -0,0 +1,49 @@
+From 9f7c594c006289ad41169b854d70f5da6e400a2a Mon Sep 17 00:00:00 2001
+From: Petr Matousek <pmatouse@redhat.com>
+Date: Sun, 24 May 2015 10:53:44 +0200
+Subject: [PATCH] pcnet: force the buffer access to be in bounds during tx
+
+4096 is the maximum length per TMD and it is also currently the size of
+the relay buffer pcnet driver uses for sending the packet data to QEMU
+for further processing. With packet spanning multiple TMDs it can
+happen that the overall packet size will be bigger than sizeof(buffer),
+which results in memory corruption.
+
+Fix this by only allowing to queue maximum sizeof(buffer) bytes.
+
+This is CVE-2015-3209.
+
+[Fixed 3-space indentation to QEMU's 4-space coding standard.
+--Stefan]
+
+Signed-off-by: Petr Matousek <pmatouse@redhat.com>
+Reported-by: Matt Tait <matttait@google.com>
+Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
+---
+ hw/net/pcnet.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
+index bdfd38f..68b9981 100644
+--- a/hw/net/pcnet.c
++++ b/hw/net/pcnet.c
+@@ -1241,6 +1241,14 @@ static void pcnet_transmit(PCNetState *s)
+         }
+ 
+         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
++
++        /* if multi-tmd packet outsizes s->buffer then skip it silently.
++           Note: this is not what real hw does */
++        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
++            s->xmit_pos = -1;
++            goto txdone;
++        }
++
+         s->phys_mem_read(s->dma_opaque, PHYSADDR(s, tmd.tbadr),
+                          s->buffer + s->xmit_pos, bcnt, CSR_BSWP(s));
+         s->xmit_pos += bcnt;
+-- 
+2.2.1
+
diff --git a/gnu/packages/patches/qemu-CVE-2015-3456.patch b/gnu/packages/patches/qemu-CVE-2015-3456.patch
new file mode 100644
index 0000000000..9514f7c3e5
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2015-3456.patch
@@ -0,0 +1,85 @@
+From e907746266721f305d67bc0718795fedee2e824c Mon Sep 17 00:00:00 2001
+From: Petr Matousek <pmatouse@redhat.com>
+Date: Wed, 6 May 2015 09:48:59 +0200
+Subject: [PATCH] fdc: force the fifo access to be in bounds of the allocated
+ buffer
+
+During processing of certain commands such as FD_CMD_READ_ID and
+FD_CMD_DRIVE_SPECIFICATION_COMMAND the fifo memory access could
+get out of bounds leading to memory corruption with values coming
+from the guest.
+
+Fix this by making sure that the index is always bounded by the
+allocated memory.
+
+This is CVE-2015-3456.
+
+Signed-off-by: Petr Matousek <pmatouse@redhat.com>
+Reviewed-by: John Snow <jsnow@redhat.com>
+Signed-off-by: John Snow <jsnow@redhat.com>
+---
+ hw/block/fdc.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/hw/block/fdc.c b/hw/block/fdc.c
+index f72a392..d8a8edd 100644
+--- a/hw/block/fdc.c
++++ b/hw/block/fdc.c
+@@ -1497,7 +1497,7 @@ static uint32_t fdctrl_read_data(FDCtrl *fdctrl)
+ {
+     FDrive *cur_drv;
+     uint32_t retval = 0;
+-    int pos;
++    uint32_t pos;
+ 
+     cur_drv = get_cur_drv(fdctrl);
+     fdctrl->dsr &= ~FD_DSR_PWRDOWN;
+@@ -1506,8 +1506,8 @@ static uint32_t fdctrl_read_data(FDCtrl *fdctrl)
+         return 0;
+     }
+     pos = fdctrl->data_pos;
++    pos %= FD_SECTOR_LEN;
+     if (fdctrl->msr & FD_MSR_NONDMA) {
+-        pos %= FD_SECTOR_LEN;
+         if (pos == 0) {
+             if (fdctrl->data_pos != 0)
+                 if (!fdctrl_seek_to_next_sect(fdctrl, cur_drv)) {
+@@ -1852,10 +1852,13 @@ static void fdctrl_handle_option(FDCtrl *fdctrl, int direction)
+ static void fdctrl_handle_drive_specification_command(FDCtrl *fdctrl, int direction)
+ {
+     FDrive *cur_drv = get_cur_drv(fdctrl);
++    uint32_t pos;
+ 
+-    if (fdctrl->fifo[fdctrl->data_pos - 1] & 0x80) {
++    pos = fdctrl->data_pos - 1;
++    pos %= FD_SECTOR_LEN;
++    if (fdctrl->fifo[pos] & 0x80) {
+         /* Command parameters done */
+-        if (fdctrl->fifo[fdctrl->data_pos - 1] & 0x40) {
++        if (fdctrl->fifo[pos] & 0x40) {
+             fdctrl->fifo[0] = fdctrl->fifo[1];
+             fdctrl->fifo[2] = 0;
+             fdctrl->fifo[3] = 0;
+@@ -1955,7 +1958,7 @@ static uint8_t command_to_handler[256];
+ static void fdctrl_write_data(FDCtrl *fdctrl, uint32_t value)
+ {
+     FDrive *cur_drv;
+-    int pos;
++    uint32_t pos;
+ 
+     /* Reset mode */
+     if (!(fdctrl->dor & FD_DOR_nRESET)) {
+@@ -2004,7 +2007,9 @@ static void fdctrl_write_data(FDCtrl *fdctrl, uint32_t value)
+     }
+ 
+     FLOPPY_DPRINTF("%s: %02x\n", __func__, value);
+-    fdctrl->fifo[fdctrl->data_pos++] = value;
++    pos = fdctrl->data_pos++;
++    pos %= FD_SECTOR_LEN;
++    fdctrl->fifo[pos] = value;
+     if (fdctrl->data_pos == fdctrl->data_len) {
+         /* We now have all parameters
+          * and will be able to treat the command
+-- 
+2.2.1
+
diff --git a/gnu/packages/patches/r-fix-15899.patch b/gnu/packages/patches/r-fix-15899.patch
new file mode 100644
index 0000000000..40593d34e6
--- /dev/null
+++ b/gnu/packages/patches/r-fix-15899.patch
@@ -0,0 +1,17 @@
+Without the "extern" keyword external applications linking against R (such as
+Shogun, for example) might not be linkable.
+
+See https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15899 for details
+about this bug.
+
+--- a/src/include/Rinterface.h	(revision 66251)
++++ b/src/include/Rinterface.h	(working copy)
+@@ -84,7 +84,7 @@
+ void fpu_setup(Rboolean);
+ 
+ /* in unix/system.c */
+-int R_running_as_main_program; 
++extern int R_running_as_main_program; 
+ 
+ #ifdef CSTACK_DEFNS
+ /* duplicating Defn.h */
diff --git a/gnu/packages/patches/rsem-makefile.patch b/gnu/packages/patches/rsem-makefile.patch
new file mode 100644
index 0000000000..5481dc685f
--- /dev/null
+++ b/gnu/packages/patches/rsem-makefile.patch
@@ -0,0 +1,682 @@
+This patch simplifies the Makefile, making it much easier to build rsem
+without the bundled version of samtools.  It has already been submitted
+upstream: https://github.com/bli25wisc/RSEM/pull/11
+
+From 161894e91a16c7e15af57e4fcfe8cb613711c7fa Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 14:51:07 +0200
+Subject: [PATCH 1/7] remove all headers from Makefile
+
+---
+ Makefile | 95 +++++++++++-----------------------------------------------------
+ 1 file changed, 16 insertions(+), 79 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 54e2603..3a55ed8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,133 +10,70 @@ all : $(PROGRAMS)
+ sam/libbam.a :
+ 	cd sam ; ${MAKE} all
+ 
+-Transcript.h : utils.h
+-
+-Transcripts.h : utils.h my_assert.h Transcript.h
+-
+-rsem-extract-reference-transcripts : utils.h my_assert.h GTFItem.h Transcript.h Transcripts.h extractRef.cpp
++rsem-extract-reference-transcripts : extractRef.cpp
+ 	$(CC) -Wall -O3 extractRef.cpp -o rsem-extract-reference-transcripts
+ 
+-rsem-synthesis-reference-transcripts : utils.h my_assert.h Transcript.h Transcripts.h synthesisRef.cpp
++rsem-synthesis-reference-transcripts : synthesisRef.cpp
+ 	$(CC) -Wall -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
+ 
+-BowtieRefSeqPolicy.h : RefSeqPolicy.h
+-
+-RefSeq.h : utils.h
+-
+-Refs.h : utils.h RefSeq.h RefSeqPolicy.h PolyARules.h
+-
+-
+ rsem-preref : preRef.o
+ 	$(CC) preRef.o -o rsem-preref
+ 
+-preRef.o : utils.h RefSeq.h Refs.h PolyARules.h RefSeqPolicy.h AlignerRefSeqPolicy.h preRef.cpp
++preRef.o : preRef.cpp
+ 	$(CC) $(COFLAGS) preRef.cpp
+ 
+-
+-SingleRead.h : Read.h
+-
+-SingleReadQ.h : Read.h
+-
+-PairedEndRead.h : Read.h SingleRead.h
+-
+-PairedEndReadQ.h : Read.h SingleReadQ.h
+-
+-
+-PairedEndHit.h : SingleHit.h
+-
+-HitContainer.h : GroupInfo.h
+-
+-
+-SamParser.h : sam/sam.h sam/bam.h utils.h my_assert.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h SingleHit.h PairedEndHit.h Transcripts.h
+-
+-
+ rsem-parse-alignments : parseIt.o sam/libbam.a
+ 	$(CC) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread 
+ 
+-parseIt.o : utils.h GroupInfo.h Read.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h SingleHit.h PairedEndHit.h HitContainer.h SamParser.h Transcripts.h sam/sam.h sam/bam.h parseIt.cpp
++parseIt.o : parseIt.cpp
+ 	$(CC) -Wall -O2 -c -I. parseIt.cpp
+ 
+-
+-rsem-build-read-index : utils.h buildReadIndex.cpp
++rsem-build-read-index : buildReadIndex.cpp
+ 	$(CC) -O3 buildReadIndex.cpp -o rsem-build-read-index
+ 
+-
+-simul.h : boost/random.hpp
+-
+-ReadReader.h : SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h ReadIndex.h
+-
+-SingleModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h Profile.h NoiseProfile.h ModelParams.h RefSeq.h Refs.h SingleRead.h SingleHit.h ReadReader.h simul.h
+-
+-SingleQModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h ModelParams.h RefSeq.h Refs.h SingleReadQ.h SingleHit.h ReadReader.h simul.h
+-
+-PairedEndModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h Profile.h NoiseProfile.h ModelParams.h RefSeq.h Refs.h SingleRead.h PairedEndRead.h PairedEndHit.h ReadReader.h simul.h 
+-
+-PairedEndQModel.h : utils.h my_assert.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h ModelParams.h RefSeq.h Refs.h SingleReadQ.h PairedEndReadQ.h PairedEndHit.h ReadReader.h simul.h
+-
+-HitWrapper.h : HitContainer.h
+-
+-sam_rsem_aux.h : sam/bam.h
+-
+-sam_rsem_cvt.h : sam/bam.h Transcript.h Transcripts.h
+-
+-BamWriter.h : sam/sam.h sam/bam.h sam_rsem_aux.h sam_rsem_cvt.h SingleHit.h PairedEndHit.h HitWrapper.h Transcript.h Transcripts.h
+-
+-sampling.h : boost/random.hpp
+-
+-WriteResults.h : utils.h my_assert.h GroupInfo.h Transcript.h Transcripts.h RefSeq.h Refs.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h
+-
+ rsem-run-em : EM.o sam/libbam.a
+ 	$(CC) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
+ 
+-EM.o : utils.h my_assert.h Read.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h SingleHit.h PairedEndHit.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h Refs.h GroupInfo.h HitContainer.h ReadIndex.h ReadReader.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h ModelParams.h RefSeq.h RefSeqPolicy.h PolyARules.h Profile.h NoiseProfile.h Transcript.h Transcripts.h HitWrapper.h BamWriter.h sam/bam.h sam/sam.h simul.h sam_rsem_aux.h sampling.h boost/random.hpp WriteResults.h EM.cpp
++EM.o : EM.cpp
+ 	$(CC) $(COFLAGS) EM.cpp
+ 
+-bc_aux.h : sam/bam.h
+-
+-BamConverter.h : utils.h my_assert.h sam/sam.h sam/bam.h sam_rsem_aux.h sam_rsem_cvt.h bc_aux.h Transcript.h Transcripts.h
+-
+-rsem-tbam2gbam : utils.h Transcripts.h Transcript.h bc_aux.h BamConverter.h sam/sam.h sam/bam.h sam/libbam.a sam_rsem_aux.h sam_rsem_cvt.h tbam2gbam.cpp sam/libbam.a
++rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
+ 	$(CC) -O3 -Wall tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+-rsem-bam2wig : utils.h my_assert.h wiggle.h wiggle.o sam/libbam.a bam2wig.cpp
++rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
+ 	$(CC) -O3 -Wall bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ 
+-rsem-bam2readdepth : utils.h my_assert.h wiggle.h wiggle.o sam/libbam.a bam2readdepth.cpp
++rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
+ 	$(CC) -O3 -Wall bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ 
+-wiggle.o: sam/bam.h sam/sam.h wiggle.cpp wiggle.h
++wiggle.o: wiggle.cpp
+ 	$(CC) $(COFLAGS) wiggle.cpp
+ 
+ rsem-simulate-reads : simulation.o
+ 	$(CC) -o rsem-simulate-reads simulation.o
+ 
+-simulation.o : utils.h Read.h SingleRead.h SingleReadQ.h PairedEndRead.h PairedEndReadQ.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h Refs.h RefSeq.h GroupInfo.h Transcript.h Transcripts.h Orientation.h LenDist.h RSPD.h QualDist.h QProfile.h NoiseQProfile.h Profile.h NoiseProfile.h simul.h boost/random.hpp WriteResults.h simulation.cpp
++simulation.o : simulation.cpp
+ 	$(CC) $(COFLAGS) simulation.cpp
+ 
+ rsem-run-gibbs : Gibbs.o
+ 	$(CC) -o rsem-run-gibbs Gibbs.o -lpthread
+ 
+-#some header files are omitted
+-Gibbs.o : utils.h my_assert.h boost/random.hpp sampling.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h RefSeq.h RefSeqPolicy.h PolyARules.h Refs.h GroupInfo.h WriteResults.h Gibbs.cpp 
++Gibbs.o : Gibbs.cpp
+ 	$(CC) $(COFLAGS) Gibbs.cpp
+ 
+-Buffer.h : my_assert.h
+-
+ rsem-calculate-credibility-intervals : calcCI.o
+ 	$(CC) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
+ 
+-#some header files are omitted
+-calcCI.o : utils.h my_assert.h boost/random.hpp sampling.h Model.h SingleModel.h SingleQModel.h PairedEndModel.h PairedEndQModel.h RefSeq.h RefSeqPolicy.h PolyARules.h Refs.h GroupInfo.h WriteResults.h Buffer.h calcCI.cpp
++calcCI.o : calcCI.cpp
+ 	$(CC) $(COFLAGS) calcCI.cpp
+ 
+-rsem-get-unique : sam/bam.h sam/sam.h getUnique.cpp sam/libbam.a
++rsem-get-unique : getUnique.cpp sam/libbam.a
+ 	$(CC) -O3 -Wall getUnique.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+-rsem-sam-validator : sam/bam.h sam/sam.h my_assert.h samValidator.cpp sam/libbam.a
++rsem-sam-validator : samValidator.cpp sam/libbam.a
+ 	$(CC) -O3 -Wall samValidator.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+-rsem-scan-for-paired-end-reads : sam/bam.h sam/sam.h my_assert.h scanForPairedEndReads.cpp sam/libbam.a
++rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
+ 	$(CC) -O3 -Wall scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+ ebseq :
+
+From ec136638a727632e20abfaeb65c22c46d15ca8c4 Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 15:06:41 +0200
+Subject: [PATCH 2/7] include current dir, ./sam and ./boost by default
+
+---
+ Makefile | 48 ++++++++++++++++++++++++------------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 3a55ed8..1dd97ca 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ CC = g++
+-CFLAGS = -Wall -c -I.
+-COFLAGS = -Wall -O3 -ffast-math -c -I.
++CFLAGS = -Wall -I. -I./sam -I./boost
++COFLAGS = -O3 -ffast-math -c
+ PROGRAMS = rsem-extract-reference-transcripts rsem-synthesis-reference-transcripts rsem-preref rsem-parse-alignments rsem-build-read-index rsem-run-em rsem-tbam2gbam rsem-run-gibbs rsem-calculate-credibility-intervals rsem-simulate-reads rsem-bam2wig rsem-get-unique rsem-bam2readdepth rsem-sam-validator rsem-scan-for-paired-end-reads
+ 
+ .PHONY : all ebseq clean
+@@ -11,70 +11,70 @@ sam/libbam.a :
+ 	cd sam ; ${MAKE} all
+ 
+ rsem-extract-reference-transcripts : extractRef.cpp
+-	$(CC) -Wall -O3 extractRef.cpp -o rsem-extract-reference-transcripts
++	$(CC) $(CFLAGS) -O3 extractRef.cpp -o rsem-extract-reference-transcripts
+ 
+ rsem-synthesis-reference-transcripts : synthesisRef.cpp
+-	$(CC) -Wall -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
++	$(CC) $(CFLAGS) -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
+ 
+ rsem-preref : preRef.o
+-	$(CC) preRef.o -o rsem-preref
++	$(CC) $(CFLAGS) preRef.o -o rsem-preref
+ 
+ preRef.o : preRef.cpp
+-	$(CC) $(COFLAGS) preRef.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
+ 
+ rsem-parse-alignments : parseIt.o sam/libbam.a
+-	$(CC) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread 
++	$(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
+ 
+ parseIt.o : parseIt.cpp
+-	$(CC) -Wall -O2 -c -I. parseIt.cpp
++	$(CC) $(CFLAGS) -O2 -c parseIt.cpp
+ 
+ rsem-build-read-index : buildReadIndex.cpp
+-	$(CC) -O3 buildReadIndex.cpp -o rsem-build-read-index
++	$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
+ 
+ rsem-run-em : EM.o sam/libbam.a
+-	$(CC) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
++	$(CC) $(CFLAGS) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
+ 
+ EM.o : EM.cpp
+-	$(CC) $(COFLAGS) EM.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) EM.cpp
+ 
+ rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
+-	$(CC) -O3 -Wall tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+ rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
+-	$(CC) -O3 -Wall bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ 
+ rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
+-	$(CC) -O3 -Wall bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ 
+ wiggle.o: wiggle.cpp
+-	$(CC) $(COFLAGS) wiggle.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
+ 
+ rsem-simulate-reads : simulation.o
+-	$(CC) -o rsem-simulate-reads simulation.o
++	$(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
+ 
+ simulation.o : simulation.cpp
+-	$(CC) $(COFLAGS) simulation.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
+ 
+ rsem-run-gibbs : Gibbs.o
+-	$(CC) -o rsem-run-gibbs Gibbs.o -lpthread
++	$(CC) $(CFLAGS) -o rsem-run-gibbs Gibbs.o -lpthread
+ 
+ Gibbs.o : Gibbs.cpp
+-	$(CC) $(COFLAGS) Gibbs.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
+ 
+ rsem-calculate-credibility-intervals : calcCI.o
+-	$(CC) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
++	$(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
+ 
+ calcCI.o : calcCI.cpp
+-	$(CC) $(COFLAGS) calcCI.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
+ 
+ rsem-get-unique : getUnique.cpp sam/libbam.a
+-	$(CC) -O3 -Wall getUnique.cpp sam/libbam.a -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 getUnique.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+ rsem-sam-validator : samValidator.cpp sam/libbam.a
+-	$(CC) -O3 -Wall samValidator.cpp sam/libbam.a -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 samValidator.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+ rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
+-	$(CC) -O3 -Wall scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+ ebseq :
+ 	cd EBSeq ; ${MAKE} all
+
+From d366614ea50f79fdd93e3c76383ccb6fcdeaa8e0 Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 15:10:49 +0200
+Subject: [PATCH 3/7] separate object rules from rules for executables
+
+---
+ Makefile | 50 ++++++++++++++++++++++++++------------------------
+ 1 file changed, 26 insertions(+), 24 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1dd97ca..ae4de3b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,6 +10,32 @@ all : $(PROGRAMS)
+ sam/libbam.a :
+ 	cd sam ; ${MAKE} all
+ 
++ebseq :
++	cd EBSeq ; ${MAKE} all
++
++
++calcCI.o : calcCI.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
++
++EM.o : EM.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) EM.cpp
++
++Gibbs.o : Gibbs.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
++
++preRef.o : preRef.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
++
++parseIt.o : parseIt.cpp
++	$(CC) $(CFLAGS) -O2 -c parseIt.cpp
++
++simulation.o : simulation.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
++
++wiggle.o: wiggle.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
++
++
+ rsem-extract-reference-transcripts : extractRef.cpp
+ 	$(CC) $(CFLAGS) -O3 extractRef.cpp -o rsem-extract-reference-transcripts
+ 
+@@ -19,24 +45,15 @@ rsem-synthesis-reference-transcripts : synthesisRef.cpp
+ rsem-preref : preRef.o
+ 	$(CC) $(CFLAGS) preRef.o -o rsem-preref
+ 
+-preRef.o : preRef.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
+-
+ rsem-parse-alignments : parseIt.o sam/libbam.a
+ 	$(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
+ 
+-parseIt.o : parseIt.cpp
+-	$(CC) $(CFLAGS) -O2 -c parseIt.cpp
+-
+ rsem-build-read-index : buildReadIndex.cpp
+ 	$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
+ 
+ rsem-run-em : EM.o sam/libbam.a
+ 	$(CC) $(CFLAGS) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
+ 
+-EM.o : EM.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) EM.cpp
+-
+ rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
+ 	$(CC) $(CFLAGS) -O3 tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+@@ -46,27 +63,15 @@ rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
+ rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
+ 	$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
+ 
+-wiggle.o: wiggle.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
+-
+ rsem-simulate-reads : simulation.o
+ 	$(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
+ 
+-simulation.o : simulation.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
+-
+ rsem-run-gibbs : Gibbs.o
+ 	$(CC) $(CFLAGS) -o rsem-run-gibbs Gibbs.o -lpthread
+ 
+-Gibbs.o : Gibbs.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
+-
+ rsem-calculate-credibility-intervals : calcCI.o
+ 	$(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
+ 
+-calcCI.o : calcCI.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
+-
+ rsem-get-unique : getUnique.cpp sam/libbam.a
+ 	$(CC) $(CFLAGS) -O3 getUnique.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+@@ -76,9 +81,6 @@ rsem-sam-validator : samValidator.cpp sam/libbam.a
+ rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
+ 	$(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
+ 
+-ebseq :
+-	cd EBSeq ; ${MAKE} all
+-
+ clean :
+ 	rm -f *.o *~ $(PROGRAMS)
+ 	cd sam ; ${MAKE} clean
+
+From 6ba1c33cccdf7c8e7df7a3189e7db204be3b1e8d Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 15:28:30 +0200
+Subject: [PATCH 4/7] add ./sam to library directories, link with -lbam
+
+---
+ Makefile | 36 ++++++++++++++++++------------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ae4de3b..a87cc4d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,11 +1,11 @@
+ CC = g++
+-CFLAGS = -Wall -I. -I./sam -I./boost
++CFLAGS = -Wall -I. -I./sam -I./boost -L./sam
+ COFLAGS = -O3 -ffast-math -c
+ PROGRAMS = rsem-extract-reference-transcripts rsem-synthesis-reference-transcripts rsem-preref rsem-parse-alignments rsem-build-read-index rsem-run-em rsem-tbam2gbam rsem-run-gibbs rsem-calculate-credibility-intervals rsem-simulate-reads rsem-bam2wig rsem-get-unique rsem-bam2readdepth rsem-sam-validator rsem-scan-for-paired-end-reads
+ 
+ .PHONY : all ebseq clean
+ 
+-all : $(PROGRAMS)
++all : sam/libbam.a $(PROGRAMS)
+ 
+ sam/libbam.a :
+ 	cd sam ; ${MAKE} all
+@@ -45,23 +45,23 @@ rsem-synthesis-reference-transcripts : synthesisRef.cpp
+ rsem-preref : preRef.o
+ 	$(CC) $(CFLAGS) preRef.o -o rsem-preref
+ 
+-rsem-parse-alignments : parseIt.o sam/libbam.a
+-	$(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o sam/libbam.a -lz -lpthread
++rsem-parse-alignments : parseIt.o
++	$(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o -lbam -lz -lpthread
+ 
+ rsem-build-read-index : buildReadIndex.cpp
+ 	$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
+ 
+-rsem-run-em : EM.o sam/libbam.a
+-	$(CC) $(CFLAGS) -o rsem-run-em EM.o sam/libbam.a -lz -lpthread
++rsem-run-em : EM.o
++	$(CC) $(CFLAGS) -o rsem-run-em EM.o -lbam -lz -lpthread
+ 
+-rsem-tbam2gbam : tbam2gbam.cpp sam/libbam.a
+-	$(CC) $(CFLAGS) -O3 tbam2gbam.cpp sam/libbam.a -lz -lpthread -o $@
++rsem-tbam2gbam : tbam2gbam.cpp
++	$(CC) $(CFLAGS) -O3 tbam2gbam.cpp -lbam -lz -lpthread -o $@
+ 
+-rsem-bam2wig : wiggle.o sam/libbam.a bam2wig.cpp
+-	$(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
++rsem-bam2wig : wiggle.o bam2wig.cpp
++	$(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o -lbam -lz -lpthread -o $@
+ 
+-rsem-bam2readdepth : wiggle.o sam/libbam.a bam2readdepth.cpp
+-	$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o sam/libbam.a -lz -lpthread -o $@
++rsem-bam2readdepth : wiggle.o bam2readdepth.cpp
++	$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o -lbam -lz -lpthread -o $@
+ 
+ rsem-simulate-reads : simulation.o
+ 	$(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
+@@ -72,14 +72,14 @@ rsem-run-gibbs : Gibbs.o
+ rsem-calculate-credibility-intervals : calcCI.o
+ 	$(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
+ 
+-rsem-get-unique : getUnique.cpp sam/libbam.a
+-	$(CC) $(CFLAGS) -O3 getUnique.cpp sam/libbam.a -lz -lpthread -o $@
++rsem-get-unique : getUnique.cpp
++	$(CC) $(CFLAGS) -O3 getUnique.cpp -lbam -lz -lpthread -o $@
+ 
+-rsem-sam-validator : samValidator.cpp sam/libbam.a
+-	$(CC) $(CFLAGS) -O3 samValidator.cpp sam/libbam.a -lz -lpthread -o $@
++rsem-sam-validator : samValidator.cpp
++	$(CC) $(CFLAGS) -O3 samValidator.cpp -lbam -lz -lpthread -o $@
+ 
+-rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp sam/libbam.a
+-	$(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp sam/libbam.a -lz -lpthread -o $@
++rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp
++	$(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp -lbam -lz -lpthread -o $@
+ 
+ clean :
+ 	rm -f *.o *~ $(PROGRAMS)
+
+From 5402b88c269df79ee245c1c59e15f3c8282a0220 Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 15:33:02 +0200
+Subject: [PATCH 5/7] do not repeat target name, use $@ instead
+
+---
+ Makefile | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a87cc4d..7ec90a3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -37,22 +37,22 @@ wiggle.o: wiggle.cpp
+ 
+ 
+ rsem-extract-reference-transcripts : extractRef.cpp
+-	$(CC) $(CFLAGS) -O3 extractRef.cpp -o rsem-extract-reference-transcripts
++	$(CC) $(CFLAGS) -O3 extractRef.cpp -o $@
+ 
+ rsem-synthesis-reference-transcripts : synthesisRef.cpp
+-	$(CC) $(CFLAGS) -O3 synthesisRef.cpp -o rsem-synthesis-reference-transcripts
++	$(CC) $(CFLAGS) -O3 synthesisRef.cpp -o $@
+ 
+ rsem-preref : preRef.o
+-	$(CC) $(CFLAGS) preRef.o -o rsem-preref
++	$(CC) $(CFLAGS) preRef.o -o $@
+ 
+ rsem-parse-alignments : parseIt.o
+-	$(CC) $(CFLAGS) -o rsem-parse-alignments parseIt.o -lbam -lz -lpthread
++	$(CC) $(CFLAGS) -o $@ parseIt.o -lbam -lz -lpthread
+ 
+ rsem-build-read-index : buildReadIndex.cpp
+-	$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o rsem-build-read-index
++	$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o $@
+ 
+ rsem-run-em : EM.o
+-	$(CC) $(CFLAGS) -o rsem-run-em EM.o -lbam -lz -lpthread
++	$(CC) $(CFLAGS) -o $@ EM.o -lbam -lz -lpthread
+ 
+ rsem-tbam2gbam : tbam2gbam.cpp
+ 	$(CC) $(CFLAGS) -O3 tbam2gbam.cpp -lbam -lz -lpthread -o $@
+@@ -64,13 +64,13 @@ rsem-bam2readdepth : wiggle.o bam2readdepth.cpp
+ 	$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o -lbam -lz -lpthread -o $@
+ 
+ rsem-simulate-reads : simulation.o
+-	$(CC) $(CFLAGS) -o rsem-simulate-reads simulation.o
++	$(CC) $(CFLAGS) -o $@ simulation.o
+ 
+ rsem-run-gibbs : Gibbs.o
+-	$(CC) $(CFLAGS) -o rsem-run-gibbs Gibbs.o -lpthread
++	$(CC) $(CFLAGS) -o $@ Gibbs.o -lpthread
+ 
+ rsem-calculate-credibility-intervals : calcCI.o
+-	$(CC) $(CFLAGS) -o rsem-calculate-credibility-intervals calcCI.o -lpthread
++	$(CC) $(CFLAGS) -o $@ calcCI.o -lpthread
+ 
+ rsem-get-unique : getUnique.cpp
+ 	$(CC) $(CFLAGS) -O3 getUnique.cpp -lbam -lz -lpthread -o $@
+
+From f60784bc7aa303cc825bd87dd3f5d7d26c51bded Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 15:44:53 +0200
+Subject: [PATCH 6/7] use automatic variables to refer to prerequisites
+
+---
+ Makefile | 44 ++++++++++++++++++++++----------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7ec90a3..6540d81 100644
+--- a/Makefile
++++ b/Makefile
+@@ -15,71 +15,71 @@ ebseq :
+ 
+ 
+ calcCI.o : calcCI.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) calcCI.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) $<
+ 
+ EM.o : EM.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) EM.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) $<
+ 
+ Gibbs.o : Gibbs.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) Gibbs.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) $<
+ 
+ preRef.o : preRef.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) preRef.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) $<
+ 
+ parseIt.o : parseIt.cpp
+-	$(CC) $(CFLAGS) -O2 -c parseIt.cpp
++	$(CC) $(CFLAGS) -O2 -c $<
+ 
+ simulation.o : simulation.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) simulation.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) $<
+ 
+ wiggle.o: wiggle.cpp
+-	$(CC) $(CFLAGS) $(COFLAGS) wiggle.cpp
++	$(CC) $(CFLAGS) $(COFLAGS) $<
+ 
+ 
+ rsem-extract-reference-transcripts : extractRef.cpp
+-	$(CC) $(CFLAGS) -O3 extractRef.cpp -o $@
++	$(CC) $(CFLAGS) -O3 $< -o $@
+ 
+ rsem-synthesis-reference-transcripts : synthesisRef.cpp
+-	$(CC) $(CFLAGS) -O3 synthesisRef.cpp -o $@
++	$(CC) $(CFLAGS) -O3 $< -o $@
+ 
+ rsem-preref : preRef.o
+-	$(CC) $(CFLAGS) preRef.o -o $@
++	$(CC) $(CFLAGS) $< -o $@
+ 
+ rsem-parse-alignments : parseIt.o
+-	$(CC) $(CFLAGS) -o $@ parseIt.o -lbam -lz -lpthread
++	$(CC) $(CFLAGS) -o $@ $< -lbam -lz -lpthread
+ 
+ rsem-build-read-index : buildReadIndex.cpp
+-	$(CC) $(CFLAGS) -O3 buildReadIndex.cpp -o $@
++	$(CC) $(CFLAGS) -O3 $< -o $@
+ 
+ rsem-run-em : EM.o
+-	$(CC) $(CFLAGS) -o $@ EM.o -lbam -lz -lpthread
++	$(CC) $(CFLAGS) -o $@ $< -lbam -lz -lpthread
+ 
+ rsem-tbam2gbam : tbam2gbam.cpp
+-	$(CC) $(CFLAGS) -O3 tbam2gbam.cpp -lbam -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
+ 
+ rsem-bam2wig : wiggle.o bam2wig.cpp
+-	$(CC) $(CFLAGS) -O3 bam2wig.cpp wiggle.o -lbam -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 $^ -lbam -lz -lpthread -o $@
+ 
+ rsem-bam2readdepth : wiggle.o bam2readdepth.cpp
+-	$(CC) $(CFLAGS) -O3 bam2readdepth.cpp wiggle.o -lbam -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 $^ -lbam -lz -lpthread -o $@
+ 
+ rsem-simulate-reads : simulation.o
+-	$(CC) $(CFLAGS) -o $@ simulation.o
++	$(CC) $(CFLAGS) -o $@ $<
+ 
+ rsem-run-gibbs : Gibbs.o
+-	$(CC) $(CFLAGS) -o $@ Gibbs.o -lpthread
++	$(CC) $(CFLAGS) -o $@ $< -lpthread
+ 
+ rsem-calculate-credibility-intervals : calcCI.o
+-	$(CC) $(CFLAGS) -o $@ calcCI.o -lpthread
++	$(CC) $(CFLAGS) -o $@ $< -lpthread
+ 
+ rsem-get-unique : getUnique.cpp
+-	$(CC) $(CFLAGS) -O3 getUnique.cpp -lbam -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
+ 
+ rsem-sam-validator : samValidator.cpp
+-	$(CC) $(CFLAGS) -O3 samValidator.cpp -lbam -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
+ 
+ rsem-scan-for-paired-end-reads : scanForPairedEndReads.cpp
+-	$(CC) $(CFLAGS) -O3 scanForPairedEndReads.cpp -lbam -lz -lpthread -o $@
++	$(CC) $(CFLAGS) -O3 $< -lbam -lz -lpthread -o $@
+ 
+ clean :
+ 	rm -f *.o *~ $(PROGRAMS)
+
+From 0cf9721077f67fb4ca15fdc59cbfbf24a944debd Mon Sep 17 00:00:00 2001
+From: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
+Date: Wed, 22 Apr 2015 15:49:19 +0200
+Subject: [PATCH 7/7] split long line
+
+---
+ Makefile | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6540d81..0ab04a5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,22 @@
+ CC = g++
+ CFLAGS = -Wall -I. -I./sam -I./boost -L./sam
+ COFLAGS = -O3 -ffast-math -c
+-PROGRAMS = rsem-extract-reference-transcripts rsem-synthesis-reference-transcripts rsem-preref rsem-parse-alignments rsem-build-read-index rsem-run-em rsem-tbam2gbam rsem-run-gibbs rsem-calculate-credibility-intervals rsem-simulate-reads rsem-bam2wig rsem-get-unique rsem-bam2readdepth rsem-sam-validator rsem-scan-for-paired-end-reads
++PROGRAMS = \
++  rsem-extract-reference-transcripts \
++  rsem-synthesis-reference-transcripts \
++  rsem-preref \
++  rsem-parse-alignments \
++  rsem-build-read-index \
++  rsem-run-em \
++  rsem-tbam2gbam \
++  rsem-run-gibbs \
++  rsem-calculate-credibility-intervals \
++  rsem-simulate-reads \
++  rsem-bam2wig \
++  rsem-get-unique \
++  rsem-bam2readdepth \
++  rsem-sam-validator \
++  rsem-scan-for-paired-end-reads
+ 
+ .PHONY : all ebseq clean
+ 
diff --git a/gnu/packages/patches/serf-comment-style-fix.patch b/gnu/packages/patches/serf-comment-style-fix.patch
new file mode 100644
index 0000000000..5d336fb3c8
--- /dev/null
+++ b/gnu/packages/patches/serf-comment-style-fix.patch
@@ -0,0 +1,23 @@
+r2443 | andreas.stieger@gmx.de | 2014-10-21 17:42:56 -0400 (Tue, 21 Oct 2014) | 7 lines
+
+Follow-up to r2419: Correct comment style
+
+* test/test_buckets.c
+  (deflate_compress): Correct comment style not supported by strict
+  compilers, fails on /branches/1.3.x
+
+Index: test/test_buckets.c
+===================================================================
+--- test/test_buckets.c	(revision 2442)
++++ test/test_buckets.c	(revision 2443)
+@@ -1323,9 +1323,9 @@
+ 
+     /* The largest buffer we should need is 0.1% larger than the
+        uncompressed data, + 12 bytes. This info comes from zlib.h.
++       buf_size = orig_len + (orig_len / 1000) + 12;
+        Note: This isn't sufficient when using Z_NO_FLUSH and extremely compressed
+        data. Use a buffer bigger than what we need. */
+-//    buf_size = orig_len + (orig_len / 1000) + 12;
+     buf_size = 100000;
+ 
+     write_buf = apr_palloc(pool, buf_size);
diff --git a/gnu/packages/patches/serf-deflate-buckets-test-fix.patch b/gnu/packages/patches/serf-deflate-buckets-test-fix.patch
new file mode 100644
index 0000000000..be8be1b1e8
--- /dev/null
+++ b/gnu/packages/patches/serf-deflate-buckets-test-fix.patch
@@ -0,0 +1,69 @@
+r2445 | chemodax | 2014-10-23 12:15:22 -0400 (Thu, 23 Oct 2014) | 6 lines
+
+Reduce memory usage by deflate buckets test.
+
+* test/test_buckets.c
+  (deflate_buckets): Add POOL argument and use it instead of tb->pool.
+  (test_deflate_buckets): Use iterpool for deflate_buckets() call.
+
+Index: test/test_buckets.c
+===================================================================
+--- test/test_buckets.c	(revision 2444)
++++ test/test_buckets.c	(revision 2445)
+@@ -1400,12 +1400,12 @@
+                           expected_len);
+ }
+ 
+-static void deflate_buckets(CuTest *tc, int nr_of_loops)
++static void deflate_buckets(CuTest *tc, int nr_of_loops, apr_pool_t *pool)
+ {
+     const char *msg = "12345678901234567890123456789012345678901234567890";
+ 
+     test_baton_t *tb = tc->testBaton;
+-    serf_bucket_alloc_t *alloc = serf_bucket_allocator_create(tb->pool, NULL,
++    serf_bucket_alloc_t *alloc = serf_bucket_allocator_create(pool, NULL,
+                                                               NULL);
+     z_stream zdestr;
+     int i;
+@@ -1424,8 +1424,8 @@
+     {
+         serf_config_t *config;
+ 
+-        serf_context_t *ctx = serf_context_create(tb->pool);
+-        /* status = */ serf__config_store_get_config(ctx, NULL, &config, tb->pool);
++        serf_context_t *ctx = serf_context_create(pool);
++        /* status = */ serf__config_store_get_config(ctx, NULL, &config, pool);
+ 
+         serf_bucket_set_config(defbkt, config);
+     }
+@@ -1447,11 +1447,11 @@
+         if (i == nr_of_loops - 1) {
+             CuAssertIntEquals(tc, APR_SUCCESS,
+                               deflate_compress(&data, &len, &zdestr, msg,
+-                                               strlen(msg), 1, tb->pool));
++                                               strlen(msg), 1, pool));
+         } else {
+             CuAssertIntEquals(tc, APR_SUCCESS,
+                               deflate_compress(&data, &len, &zdestr, msg,
+-                                               strlen(msg), 0, tb->pool));
++                                               strlen(msg), 0, pool));
+         }
+ 
+         if (len == 0)
+@@ -1469,10 +1469,15 @@
+ static void test_deflate_buckets(CuTest *tc)
+ {
+     int i;
++    apr_pool_t *iterpool;
++    test_baton_t *tb = tc->testBaton;
+ 
++    apr_pool_create(&iterpool, tb->pool);
+     for (i = 1; i < 1000; i++) {
+-        deflate_buckets(tc, i);
++        apr_pool_clear(iterpool);
++        deflate_buckets(tc, i, iterpool);
+     }
++    apr_pool_destroy(iterpool);
+ }
+ 
+ static apr_status_t discard_data(serf_bucket_t *bkt,
diff --git a/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch b/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch
new file mode 100644
index 0000000000..92d8a85c8f
--- /dev/null
+++ b/gnu/packages/patches/subversion-sqlite-3.8.9-fix.patch
@@ -0,0 +1,59 @@
+This upstream patch (r1672295) is needed to fix a test failure when built
+against sqlite 3.8.9.  See:
+
+  https://mail-archives.apache.org/mod_mbox/subversion-dev/201504.mbox/%3C5526D197.6020808@gmx.de%3E
+
+
+r1672295 | rhuijben | 2015-04-09 07:31:12 -0400 (Thu, 09 Apr 2015) | 15 lines
+
+Optimize STMT_SELECT_EXTERNALS_DEFINED when using Sqlite 3.8.9, by
+adding two more rows to the sqlite_stat1 table.
+
+This fixes a test failure in wc-queries-test.c, but actual users most
+likely don't notice a difference as a tablescan on an EXTERNALS tables
+index is not that expensive, given that most working copies don't have
+many externals.
+
+* subversion/libsvn_wc/wc-metadata.sql
+  (STMT_INSTALL_SCHEMA_STATISTICS): Add two rows.
+
+* subversion/tests/libsvn_wc/wc-queries-test.c
+  (test_schema_statistics): Add a dummy externals row to allow
+    verifying schema.
+
+Index: subversion/tests/libsvn_wc/wc-queries-test.c
+===================================================================
+--- subversion/tests/libsvn_wc/wc-queries-test.c	(revision 1672294)
++++ subversion/tests/libsvn_wc/wc-queries-test.c	(revision 1672295)
+@@ -927,6 +927,15 @@
+                    "VALUES (1, '', '')",
+                    NULL, NULL, NULL));
+ 
++  SQLITE_ERR(
++      sqlite3_exec(sdb,
++                   "INSERT INTO EXTERNALS (wc_id, local_relpath,"
++                   "                       parent_relpath, repos_id,"
++                   "                       presence, kind, def_local_relpath,"
++                   "                       def_repos_relpath) "
++                   "VALUES (1, 'subdir', '', 1, 'normal', 'dir', '', '')",
++                   NULL, NULL, NULL));
++
+   /* These are currently not necessary for query optimization, but it's better
+      to tell Sqlite how we intend to use this table anyway */
+   SQLITE_ERR(
+Index: subversion/libsvn_wc/wc-metadata.sql
+===================================================================
+--- subversion/libsvn_wc/wc-metadata.sql	(revision 1672294)
++++ subversion/libsvn_wc/wc-metadata.sql	(revision 1672295)
+@@ -619,6 +619,11 @@
+ INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
+     ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1',           '100 100 1');
+ 
++INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
++    ('EXTERNALS','sqlite_autoindex_EXTERNALS_1',        '100 100 1');
++INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
++    ('EXTERNALS','I_EXTERNALS_DEFINED',                 '100 100 3 1');
++
+ /* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is
+    a INTEGER PRIMARY KEY AUTOINCREMENT table */
+ 
diff --git a/gnu/packages/patches/tvtime-gcc41.patch b/gnu/packages/patches/tvtime-gcc41.patch
new file mode 100644
index 0000000000..d6e42721b8
--- /dev/null
+++ b/gnu/packages/patches/tvtime-gcc41.patch
@@ -0,0 +1,58 @@
+Source: https://projects.archlinux.org/svntogit/community.git/tree/trunk/tvtime-1.0.2-gcc41.patch?h=packages/tvtime
+
+--- tvtime-1.0.1/plugins/greedyh.asm	2005-08-14 18:16:43.000000000 +0200
++++ tvtime-1.0.1-gcc41/plugins/greedyh.asm	2005-11-28 17:53:09.210774544 +0100
+@@ -18,7 +18,7 @@
+ 
+ #include "x86-64_macros.inc"
+ 
+-void DScalerFilterGreedyH::FUNCT_NAME(TDeinterlaceInfo* pInfo)
++void FUNCT_NAME(TDeinterlaceInfo* pInfo)
+ {
+     int64_t i;
+     bool InfoIsOdd = (pInfo->PictureHistory[0]->Flags & PICTURE_INTERLACED_ODD) ? 1 : 0;
+diff -Naur tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc
+--- tvtime-1.0.1/plugins/tomsmocomp/TomsMoCompAll2.inc	2004-10-20 17:31:05.000000000 +0200
++++ tvtime-1.0.1-gcc41/plugins/tomsmocomp/TomsMoCompAll2.inc	2005-11-28 17:53:33.251119856 +0100
+@@ -5,9 +5,9 @@
+ #endif
+ 
+ #ifdef USE_STRANGE_BOB
+-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n##_SB)
++#define SEARCH_EFFORT_FUNC(n) SEFUNC(n##_SB)
+ #else
+-#define SEARCH_EFFORT_FUNC(n) DScalerFilterTomsMoComp::SEFUNC(n)
++#define SEARCH_EFFORT_FUNC(n) SEFUNC(n)
+ #endif
+ 
+ int SEARCH_EFFORT_FUNC(0)		// we don't try at all ;-)
+diff -Naur tvtime-1.0.1/plugins/tomsmocomp.cpp tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp
+--- tvtime-1.0.1/plugins/tomsmocomp.cpp	2004-10-20 19:38:04.000000000 +0200
++++ tvtime-1.0.1-gcc41/plugins/tomsmocomp.cpp	2005-11-28 17:52:53.862107896 +0100
+@@ -31,7 +31,7 @@
+ 
+ #define IS_MMX
+ #define SSE_TYPE MMX
+-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_MMX
++#define FUNCT_NAME filterDScaler_MMX
+ #include "tomsmocomp/TomsMoCompAll.inc"
+ #undef  IS_MMX
+ #undef  SSE_TYPE
+@@ -39,7 +39,7 @@
+ 
+ #define IS_3DNOW
+ #define SSE_TYPE 3DNOW
+-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_3DNOW
++#define FUNCT_NAME filterDScaler_3DNOW
+ #include "tomsmocomp/TomsMoCompAll.inc"
+ #undef  IS_3DNOW
+ #undef  SSE_TYPE
+@@ -47,7 +47,7 @@
+ 
+ #define IS_SSE
+ #define SSE_TYPE SSE
+-#define FUNCT_NAME DScalerFilterTomsMoComp::filterDScaler_SSE
++#define FUNCT_NAME filterDScaler_SSE
+ #include "tomsmocomp/TomsMoCompAll.inc"
+ #undef  IS_SSE
+ #undef  SSE_TYPE
diff --git a/gnu/packages/patches/tvtime-pngoutput.patch b/gnu/packages/patches/tvtime-pngoutput.patch
new file mode 100644
index 0000000000..0d14f77ca1
--- /dev/null
+++ b/gnu/packages/patches/tvtime-pngoutput.patch
@@ -0,0 +1,15 @@
+Source: https://sources.debian.net/src/tvtime/1.0.2-14/debian/patches/libpng.diff
+
+From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+Date: Mon, 14 May 2012 19:01:31 +0900
+Prepares the package for libpng 1.5.  Closes: #650582.
+
+--- tvtime-1.0.2.orig/src/pngoutput.c
++++ tvtime-1.0.2/src/pngoutput.c
+@@ -18,5 +18,6 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <zlib.h>
+ #include <png.h>
+ #include "pngoutput.h" 
diff --git a/gnu/packages/patches/tvtime-videodev2.patch b/gnu/packages/patches/tvtime-videodev2.patch
new file mode 100644
index 0000000000..74131f25d0
--- /dev/null
+++ b/gnu/packages/patches/tvtime-videodev2.patch
@@ -0,0 +1,15 @@
+Fix compilation error: non-existing header file.
+
+This is an excerpt from the debian patch:
+http://http.debian.net/debian/pool/main/t/tvtime/tvtime_1.0.2-14.diff.gz
+
+--- tvtime-1.0.2.orig/src/videodev2.h
++++ tvtime-1.0.2/src/videodev2.h
+@@ -16,7 +16,6 @@
+ #ifdef __KERNEL__
+ #include <linux/time.h> /* need struct timeval */
+ #endif
+-#include <linux/compiler.h> /* need __user */
+ 
+ /* for kernel versions 2.4.26 and below: */
+ #ifndef __user
diff --git a/gnu/packages/patches/tvtime-xmltv.patch b/gnu/packages/patches/tvtime-xmltv.patch
new file mode 100644
index 0000000000..2f4afc6e5a
--- /dev/null
+++ b/gnu/packages/patches/tvtime-xmltv.patch
@@ -0,0 +1,28 @@
+Fix compilation error: conflicting types for 'locale_t'.
+
+This is an excerpt from the debian patch ... 
+http://http.debian.net/debian/pool/main/t/tvtime/tvtime_1.0.2-14.diff.gz
+
+--- tvtime-1.0.2.orig/src/xmltv.c
++++ tvtime-1.0.2/src/xmltv.c
+@@ -118,9 +118,9 @@
+ typedef struct {
+     const char *code;
+     const char *name;
+-} locale_t;
++} tvtime_locale_t;
+ 
+-static locale_t locale_table[] = {
++static tvtime_locale_t locale_table[] = {
+     {"AA", "Afar"},           {"AB", "Abkhazian"},      {"AF", "Afrikaans"},
+     {"AM", "Amharic"},        {"AR", "Arabic"},         {"AS", "Assamese"},
+     {"AY", "Aymara"},         {"AZ", "Azerbaijani"},    {"BA", "Bashkir"},
+@@ -168,7 +168,7 @@
+     {"XH", "Xhosa"},          {"YO", "Yoruba"},         {"ZH", "Chinese"},
+     {"ZU", "Zulu"} };
+ 
+-const int num_locales = sizeof( locale_table ) / sizeof( locale_t );
++const int num_locales = sizeof( locale_table ) / sizeof( tvtime_locale_t );
+ 
+ /**
+  * Timezone parsing code based loosely on the algorithm in
diff --git a/gnu/packages/patches/udev-gir-libtool.patch b/gnu/packages/patches/udev-gir-libtool.patch
deleted file mode 100644
index 7504f87eb8..0000000000
--- a/gnu/packages/patches/udev-gir-libtool.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Without this patch, 'ld' as invoked by 'g-ir-scanner' fails to find -lgudev-1.0
-This is because libtool puts it in $(top_builddir)/.libs.
-
-This patch forces 'g-ir-scanner' to use libtool, which enables it to find
-libgudev-1.0.la.
-
---- udev-182/Makefile.in	2014-06-22 14:55:07.000000000 +0200
-+++ udev-182/Makefile.in	2014-06-22 14:55:15.000000000 +0200
-@@ -3622,7 +3622,7 @@ test-sys-distclean:
- @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--namespace GUdev \
- @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--nsversion=1.0 \
- @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--include=GObject-2.0 \
--@ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--library=gudev-1.0 \
-+@ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--library=gudev-1.0 --libtool=$(top_builddir)/libtool \
- @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--library-path=$(top_builddir)/src \
- @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--library-path=$(top_builddir)/src/gudev \
- @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@		--output $@ \
diff --git a/gnu/packages/patches/wicd-template-instantiation.patch b/gnu/packages/patches/wicd-template-instantiation.patch
new file mode 100644
index 0000000000..16d8fa6e1d
--- /dev/null
+++ b/gnu/packages/patches/wicd-template-instantiation.patch
@@ -0,0 +1,29 @@
+Wicd 1.7.3 fails to instantiate template lines that have several
+variable references.  For instance, the line:
+
+  wep_key$_KEY_INDEX=$_KEY
+
+which is found in in the 'wep-hex' template, expands to these two
+lines:
+
+  wep_key0=$_KEY
+  wep_key0=123456789ab
+
+This patch fixes that by only emitting the fully substituted line.
+
+Patch by Ludovic Courtès <ludo@gnu.org>.
+
+--- a/wicd/misc.py	2012-11-17 00:07:08 +0000
++++ b/wicd/misc.py	2015-05-09 11:22:37 +0000
+@@ -321,11 +321,11 @@ def ParseEncryption(network):
+                                 rep_val = '0'
+                         if rep_val:
+                             line = line.replace("$_%s" % cur_val, str(rep_val))
+-                            config_file = ''.join([config_file, line])
+                         else:
+                             print "Ignoring template line: '%s'" % line
+                     else:
+                         print "Weird parsing error occurred"
++                config_file = ''.join([config_file, line])
+             else:  # Just a regular entry.
+                 config_file = ''.join([config_file, line])
diff --git a/gnu/packages/patches/wpa-supplicant-2015-2-fix.patch b/gnu/packages/patches/wpa-supplicant-2015-2-fix.patch
new file mode 100644
index 0000000000..cd097006d2
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-2-fix.patch
@@ -0,0 +1,51 @@
+Patch copied from http://w1.fi/security/2015-2/
+
+From 5acd23f4581da58683f3cf5e36cb71bbe4070bd7 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Tue, 28 Apr 2015 17:08:33 +0300
+Subject: [PATCH] WPS: Fix HTTP chunked transfer encoding parser
+
+strtoul() return value may end up overflowing the int h->chunk_size and
+resulting in a negative value to be stored as the chunk_size. This could
+result in the following memcpy operation using a very large length
+argument which would result in a buffer overflow and segmentation fault.
+
+This could have been used to cause a denial service by any device that
+has been authorized for network access (either wireless or wired). This
+would affect both the WPS UPnP functionality in a WPS AP (hostapd with
+upnp_iface parameter set in the configuration) and WPS ER
+(wpa_supplicant with WPS_ER_START control interface command used).
+
+Validate the parsed chunk length value to avoid this. In addition to
+rejecting negative values, we can also reject chunk size that would be
+larger than the maximum configured body length.
+
+Thanks to Kostya Kortchinsky of Google security team for discovering and
+reporting this issue.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/wps/httpread.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/wps/httpread.c b/src/wps/httpread.c
+index 2f08f37..d2855e3 100644
+--- a/src/wps/httpread.c
++++ b/src/wps/httpread.c
+@@ -533,6 +533,13 @@ static void httpread_read_handler(int sd, void *eloop_ctx, void *sock_ctx)
+ 					if (!isxdigit(*cbp))
+ 						goto bad;
+ 					h->chunk_size = strtoul(cbp, NULL, 16);
++					if (h->chunk_size < 0 ||
++					    h->chunk_size > h->max_bytes) {
++						wpa_printf(MSG_DEBUG,
++							   "httpread: Invalid chunk size %d",
++							   h->chunk_size);
++						goto bad;
++					}
+ 					/* throw away chunk header
+ 					 * so we have only real data
+ 					 */
+-- 
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-2015-3-fix.patch b/gnu/packages/patches/wpa-supplicant-2015-3-fix.patch
new file mode 100644
index 0000000000..de042f0c49
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-3-fix.patch
@@ -0,0 +1,43 @@
+Patch copied from http://w1.fi/security/2015-3/
+
+From ef566a4d4f74022e1fdb0a2addfe81e6de9f4aae Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Wed, 29 Apr 2015 02:21:53 +0300
+Subject: [PATCH] AP WMM: Fix integer underflow in WMM Action frame parser
+
+The length of the WMM Action frame was not properly validated and the
+length of the information elements (int left) could end up being
+negative. This would result in reading significantly past the stack
+buffer while parsing the IEs in ieee802_11_parse_elems() and while doing
+so, resulting in segmentation fault.
+
+This can result in an invalid frame being used for a denial of service
+attack (hostapd process killed) against an AP with a driver that uses
+hostapd for management frame processing (e.g., all mac80211-based
+drivers).
+
+Thanks to Kostya Kortchinsky of Google security team for discovering and
+reporting this issue.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/ap/wmm.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/ap/wmm.c b/src/ap/wmm.c
+index 6d4177c..314e244 100644
+--- a/src/ap/wmm.c
++++ b/src/ap/wmm.c
+@@ -274,6 +274,9 @@ void hostapd_wmm_action(struct hostapd_data *hapd,
+ 		return;
+ 	}
+ 
++	if (left < 0)
++		return; /* not a valid WMM Action frame */
++
+ 	/* extract the tspec info element */
+ 	if (ieee802_11_parse_elems(pos, left, &elems, 1) == ParseFailed) {
+ 		hostapd_logger(hapd, mgmt->sa, HOSTAPD_MODULE_IEEE80211,
+-- 
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch
new file mode 100644
index 0000000000..7ebf5f4cc1
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt1.patch
@@ -0,0 +1,75 @@
+Patch copied from http://w1.fi/security/2015-4/
+
+From dd2f043c9c43d156494e33d7ce22db96e6ef42c7 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 1 May 2015 16:37:45 +0300
+Subject: [PATCH 1/5] EAP-pwd peer: Fix payload length validation for Commit
+ and Confirm
+
+The length of the received Commit and Confirm message payloads was not
+checked before reading them. This could result in a buffer read
+overflow when processing an invalid message.
+
+Fix this by verifying that the payload is of expected length before
+processing it. In addition, enforce correct state transition sequence to
+make sure there is no unexpected behavior if receiving a Commit/Confirm
+message before the previous exchanges have been completed.
+
+Thanks to Kostya Kortchinsky of Google security team for discovering and
+reporting this issue.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_peer/eap_pwd.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+diff --git a/src/eap_peer/eap_pwd.c b/src/eap_peer/eap_pwd.c
+index f2b0926..a629437 100644
+--- a/src/eap_peer/eap_pwd.c
++++ b/src/eap_peer/eap_pwd.c
+@@ -355,6 +355,23 @@ eap_pwd_perform_commit_exchange(struct eap_sm *sm, struct eap_pwd_data *data,
+ 	BIGNUM *mask = NULL, *x = NULL, *y = NULL, *cofactor = NULL;
+ 	u16 offset;
+ 	u8 *ptr, *scalar = NULL, *element = NULL;
++	size_t prime_len, order_len;
++
++	if (data->state != PWD_Commit_Req) {
++		ret->ignore = TRUE;
++		goto fin;
++	}
++
++	prime_len = BN_num_bytes(data->grp->prime);
++	order_len = BN_num_bytes(data->grp->order);
++
++	if (payload_len != 2 * prime_len + order_len) {
++		wpa_printf(MSG_INFO,
++			   "EAP-pwd: Unexpected Commit payload length %u (expected %u)",
++			   (unsigned int) payload_len,
++			   (unsigned int) (2 * prime_len + order_len));
++		goto fin;
++	}
+ 
+ 	if (((data->private_value = BN_new()) == NULL) ||
+ 	    ((data->my_element = EC_POINT_new(data->grp->group)) == NULL) ||
+@@ -554,6 +571,18 @@ eap_pwd_perform_confirm_exchange(struct eap_sm *sm, struct eap_pwd_data *data,
+ 	u8 conf[SHA256_MAC_LEN], *cruft = NULL, *ptr;
+ 	int offset;
+ 
++	if (data->state != PWD_Confirm_Req) {
++		ret->ignore = TRUE;
++		goto fin;
++	}
++
++	if (payload_len != SHA256_MAC_LEN) {
++		wpa_printf(MSG_INFO,
++			   "EAP-pwd: Unexpected Confirm payload length %u (expected %u)",
++			   (unsigned int) payload_len, SHA256_MAC_LEN);
++		goto fin;
++	}
++
+ 	/*
+ 	 * first build up the ciphersuite which is group | random_function |
+ 	 *	prf
+-- 
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch
new file mode 100644
index 0000000000..c11e4175d9
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt2.patch
@@ -0,0 +1,68 @@
+Patch copied from http://w1.fi/security/2015-4/
+
+From e28a58be26184c2a23f80b410e0997ef1bd5d578 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 1 May 2015 16:40:44 +0300
+Subject: [PATCH 2/5] EAP-pwd server: Fix payload length validation for Commit
+ and Confirm
+
+The length of the received Commit and Confirm message payloads was not
+checked before reading them. This could result in a buffer read
+overflow when processing an invalid message.
+
+Fix this by verifying that the payload is of expected length before
+processing it. In addition, enforce correct state transition sequence to
+make sure there is no unexpected behavior if receiving a Commit/Confirm
+message before the previous exchanges have been completed.
+
+Thanks to Kostya Kortchinsky of Google security team for discovering and
+reporting this issue.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_server/eap_server_pwd.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/src/eap_server/eap_server_pwd.c b/src/eap_server/eap_server_pwd.c
+index 66bd5d2..3189105 100644
+--- a/src/eap_server/eap_server_pwd.c
++++ b/src/eap_server/eap_server_pwd.c
+@@ -656,9 +656,21 @@ eap_pwd_process_commit_resp(struct eap_sm *sm, struct eap_pwd_data *data,
+ 	BIGNUM *x = NULL, *y = NULL, *cofactor = NULL;
+ 	EC_POINT *K = NULL, *point = NULL;
+ 	int res = 0;
++	size_t prime_len, order_len;
+ 
+ 	wpa_printf(MSG_DEBUG, "EAP-pwd: Received commit response");
+ 
++	prime_len = BN_num_bytes(data->grp->prime);
++	order_len = BN_num_bytes(data->grp->order);
++
++	if (payload_len != 2 * prime_len + order_len) {
++		wpa_printf(MSG_INFO,
++			   "EAP-pwd: Unexpected Commit payload length %u (expected %u)",
++			   (unsigned int) payload_len,
++			   (unsigned int) (2 * prime_len + order_len));
++		goto fin;
++	}
++
+ 	if (((data->peer_scalar = BN_new()) == NULL) ||
+ 	    ((data->k = BN_new()) == NULL) ||
+ 	    ((cofactor = BN_new()) == NULL) ||
+@@ -774,6 +786,13 @@ eap_pwd_process_confirm_resp(struct eap_sm *sm, struct eap_pwd_data *data,
+ 	u8 conf[SHA256_MAC_LEN], *cruft = NULL, *ptr;
+ 	int offset;
+ 
++	if (payload_len != SHA256_MAC_LEN) {
++		wpa_printf(MSG_INFO,
++			   "EAP-pwd: Unexpected Confirm payload length %u (expected %u)",
++			   (unsigned int) payload_len, SHA256_MAC_LEN);
++		goto fin;
++	}
++
+ 	/* build up the ciphersuite: group | random_function | prf */
+ 	grp = htons(data->group_num);
+ 	ptr = (u8 *) &cs;
+-- 
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch
new file mode 100644
index 0000000000..963dac9270
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt3.patch
@@ -0,0 +1,54 @@
+Patch copied from http://w1.fi/security/2015-4/
+
+From 477c74395acd0123340457ba6f15ab345d42016e Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sat, 2 May 2015 19:23:04 +0300
+Subject: [PATCH 3/5] EAP-pwd peer: Fix Total-Length parsing for fragment
+ reassembly
+
+The remaining number of bytes in the message could be smaller than the
+Total-Length field size, so the length needs to be explicitly checked
+prior to reading the field and decrementing the len variable. This could
+have resulted in the remaining length becoming negative and interpreted
+as a huge positive integer.
+
+In addition, check that there is no already started fragment in progress
+before allocating a new buffer for reassembling fragments. This avoid a
+potential memory leak when processing invalid message.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_peer/eap_pwd.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/eap_peer/eap_pwd.c b/src/eap_peer/eap_pwd.c
+index a629437..1d2079b 100644
+--- a/src/eap_peer/eap_pwd.c
++++ b/src/eap_peer/eap_pwd.c
+@@ -866,11 +866,23 @@ eap_pwd_process(struct eap_sm *sm, void *priv, struct eap_method_ret *ret,
+ 	 * if it's the first fragment there'll be a length field
+ 	 */
+ 	if (EAP_PWD_GET_LENGTH_BIT(lm_exch)) {
++		if (len < 2) {
++			wpa_printf(MSG_DEBUG,
++				   "EAP-pwd: Frame too short to contain Total-Length field");
++			ret->ignore = TRUE;
++			return NULL;
++		}
+ 		tot_len = WPA_GET_BE16(pos);
+ 		wpa_printf(MSG_DEBUG, "EAP-pwd: Incoming fragments whose "
+ 			   "total length = %d", tot_len);
+ 		if (tot_len > 15000)
+ 			return NULL;
++		if (data->inbuf) {
++			wpa_printf(MSG_DEBUG,
++				   "EAP-pwd: Unexpected new fragment start when previous fragment is still in use");
++			ret->ignore = TRUE;
++			return NULL;
++		}
+ 		data->inbuf = wpabuf_alloc(tot_len);
+ 		if (data->inbuf == NULL) {
+ 			wpa_printf(MSG_INFO, "Out of memory to buffer "
+-- 
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch
new file mode 100644
index 0000000000..3d945382bc
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt4.patch
@@ -0,0 +1,52 @@
+Patch copied from http://w1.fi/security/2015-4/
+
+From 3035cc2894e08319b905bd6561e8bddc8c2db9fa Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sat, 2 May 2015 19:26:06 +0300
+Subject: [PATCH 4/5] EAP-pwd server: Fix Total-Length parsing for fragment
+ reassembly
+
+The remaining number of bytes in the message could be smaller than the
+Total-Length field size, so the length needs to be explicitly checked
+prior to reading the field and decrementing the len variable. This could
+have resulted in the remaining length becoming negative and interpreted
+as a huge positive integer.
+
+In addition, check that there is no already started fragment in progress
+before allocating a new buffer for reassembling fragments. This avoid a
+potential memory leak when processing invalid message.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_server/eap_server_pwd.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/eap_server/eap_server_pwd.c b/src/eap_server/eap_server_pwd.c
+index 3189105..2bfc3c2 100644
+--- a/src/eap_server/eap_server_pwd.c
++++ b/src/eap_server/eap_server_pwd.c
+@@ -942,11 +942,21 @@ static void eap_pwd_process(struct eap_sm *sm, void *priv,
+ 	 * the first fragment has a total length
+ 	 */
+ 	if (EAP_PWD_GET_LENGTH_BIT(lm_exch)) {
++		if (len < 2) {
++			wpa_printf(MSG_DEBUG,
++				   "EAP-pwd: Frame too short to contain Total-Length field");
++			return;
++		}
+ 		tot_len = WPA_GET_BE16(pos);
+ 		wpa_printf(MSG_DEBUG, "EAP-pwd: Incoming fragments, total "
+ 			   "length = %d", tot_len);
+ 		if (tot_len > 15000)
+ 			return;
++		if (data->inbuf) {
++			wpa_printf(MSG_DEBUG,
++				   "EAP-pwd: Unexpected new fragment start when previous fragment is still in use");
++			return;
++		}
+ 		data->inbuf = wpabuf_alloc(tot_len);
+ 		if (data->inbuf == NULL) {
+ 			wpa_printf(MSG_INFO, "EAP-pwd: Out of memory to "
+-- 
+1.9.1
+
diff --git a/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch
new file mode 100644
index 0000000000..30f71974ad
--- /dev/null
+++ b/gnu/packages/patches/wpa-supplicant-2015-4-fix-pt5.patch
@@ -0,0 +1,34 @@
+Patch copied from http://w1.fi/security/2015-4/
+
+From 28a069a545b06b99eb55ad53f63f2c99e65a98f6 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sat, 2 May 2015 19:26:28 +0300
+Subject: [PATCH 5/5] EAP-pwd peer: Fix asymmetric fragmentation behavior
+
+The L (Length) and M (More) flags needs to be cleared before deciding
+whether the locally generated response requires fragmentation. This
+fixes an issue where these flags from the server could have been invalid
+for the following message. In some cases, this could have resulted in
+triggering the wpabuf security check that would terminate the process
+due to invalid buffer allocation.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/eap_peer/eap_pwd.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/eap_peer/eap_pwd.c b/src/eap_peer/eap_pwd.c
+index 1d2079b..e58b13a 100644
+--- a/src/eap_peer/eap_pwd.c
++++ b/src/eap_peer/eap_pwd.c
+@@ -968,6 +968,7 @@ eap_pwd_process(struct eap_sm *sm, void *priv, struct eap_method_ret *ret,
+ 	/*
+ 	 * we have output! Do we need to fragment it?
+ 	 */
++	lm_exch = EAP_PWD_GET_EXCHANGE(lm_exch);
+ 	len = wpabuf_len(data->outbuf);
+ 	if ((len + EAP_PWD_HDR_SIZE) > data->mtu) {
+ 		resp = eap_msg_alloc(EAP_VENDOR_IETF, EAP_TYPE_PWD, data->mtu,
+-- 
+1.9.1
+