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/cpio-CVE-2014-9112-pt1.patch231
-rw-r--r--gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch51
-rw-r--r--gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch23
-rw-r--r--gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch105
-rw-r--r--gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch88
-rw-r--r--gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch44
-rw-r--r--gnu/packages/patches/gnucash-price-quotes-perl.patch23
-rw-r--r--gnu/packages/patches/guile-present-coding.patch16
-rw-r--r--gnu/packages/patches/guile-rsvg-pkgconfig.patch16
-rw-r--r--gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch15
-rw-r--r--gnu/packages/patches/xfce4-settings-defaults.patch29
11 files changed, 99 insertions, 542 deletions
diff --git a/gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch b/gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch
deleted file mode 100644
index 1224c6c22d..0000000000
--- a/gnu/packages/patches/cpio-CVE-2014-9112-pt1.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-Partially fix CVE-2014-9112, part 1/5.  Backported to 2.11.
-
-From 746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org.ua>
-Date: Mon, 01 Dec 2014 13:15:28 +0000
-Subject: Fix memory overrun on reading improperly created link records.
-
-See http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html
-
-* src/copyin.c (get_link_name): New function.
-(list_file, copyin_link): use get_link_name
-
-* tests/symlink-bad-length.at: New file.
-* tests/symlink-long.at: New file.
-* tests/Makefile.am: Add new files.
-* tests/testsuite.at: Likewise.
----
-diff --git a/src/copyin.c b/src/copyin.c
-index 38d809f..c502c7d 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -124,10 +124,30 @@ tape_skip_padding (int in_file_des, off_t offset)
-   if (pad != 0)
-     tape_toss_input (in_file_des, pad);
- }
--
-+
-+static char *
-+get_link_name (struct cpio_file_stat *file_hdr, int in_file_des)
-+{
-+  off_t n = file_hdr->c_filesize + 1;
-+  char *link_name;
-+  
-+  if (n == 0 || n > SIZE_MAX)
-+    {
-+      error (0, 0, _("%s: stored filename length too big"), file_hdr->c_name);
-+      link_name = NULL;
-+    }
-+  else
-+    {
-+      link_name = xmalloc (n);
-+      tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize);
-+      link_name[file_hdr->c_filesize] = '\0';
-+      tape_skip_padding (in_file_des, file_hdr->c_filesize);
-+    }
-+  return link_name;
-+}
- 
- static void
--list_file(struct cpio_file_stat* file_hdr, int in_file_des)
-+list_file (struct cpio_file_stat* file_hdr, int in_file_des)
- {
-   if (verbose_flag)
-     {
-@@ -136,21 +156,16 @@ list_file(struct cpio_file_stat* file_hdr, int in_file_des)
- 	{
- 	  if (archive_format != arf_tar && archive_format != arf_ustar)
- 	    {
--	      char *link_name = NULL;	/* Name of hard and symbolic links.  */
--
--	      link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1);
--	      link_name[file_hdr->c_filesize] = '\0';
--	      tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize);
--	      long_format (file_hdr, link_name);
--	      free (link_name);
--	      tape_skip_padding (in_file_des, file_hdr->c_filesize);
--	      return;
-+	      char *link_name = get_link_name (file_hdr, in_file_des);
-+	      if (link_name)
-+		{
-+		  long_format (file_hdr, link_name);
-+		  free (link_name);
-+		}
- 	    }
- 	  else
--	    {
--	      long_format (file_hdr, file_hdr->c_tar_linkname);
--	      return;
--	    }
-+	    long_format (file_hdr, file_hdr->c_tar_linkname);
-+	  return;
- 	}
-       else
- #endif
-@@ -650,10 +665,7 @@ copyin_link(struct cpio_file_stat *file_
- 
-   if (archive_format != arf_tar && archive_format != arf_ustar)
-     {
--      link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1);
--      link_name[file_hdr->c_filesize] = '\0';
--      tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize);
--      tape_skip_padding (in_file_des, file_hdr->c_filesize);
-+      link_name = get_link_name (file_hdr, in_file_des);
-     }
-   else
-     {
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 3f714d1..b4ca92d 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -52,6 +52,8 @@ TESTSUITE_AT = \
-  setstat04.at\
-  setstat05.at\
-  symlink.at\
-+ symlink-bad-length.at\
-+ symlink-long.at\
-  version.at
- 
- TESTSUITE = $(srcdir)/testsuite
-diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at
-new file mode 100644
-index 0000000..6f804b1
---- a/dev/null
-+++ b/tests/symlink-bad-length.at
-@@ -0,0 +1,49 @@
-+# Process this file with autom4te to create testsuite.  -*- Autotest -*-
-+# Copyright (C) 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3, or (at your option)
-+# any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+# 02110-1301 USA.
-+
-+# Cpio v2.11 did segfault with badly set symlink length.
-+# References:
-+# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html
-+
-+AT_SETUP([symlink-bad-length])
-+AT_KEYWORDS([symlink-long copyout])
-+
-+AT_DATA([ARCHIVE.base64],
-+[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv
-+JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF
-+UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
-+])
-+
-+AT_CHECK([
-+base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST
-+cpio -ntv < ARCHIVE
-+test $? -eq 2
-+],
-+[0],
-+[-rw-rw-r--   1 10029    10031          13 Nov 25 13:52 FILE
-+],[cpio: LINK: stored filename length too big
-+cpio: premature end of file
-+])
-+
-+AT_CLEANUP
-diff --git a/tests/symlink-long.at b/tests/symlink-long.at
-new file mode 100644
-index 0000000..d3def2d
---- a/dev/null
-+++ b/tests/symlink-long.at
-@@ -0,0 +1,46 @@
-+# Process this file with autom4te to create testsuite.  -*- Autotest -*-
-+# Copyright (C) 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3, or (at your option)
-+# any later version.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-+# 02110-1301 USA.
-+
-+# Cpio v2.11.90 changed the way symlink name is read from archive.
-+# References:
-+# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html
-+
-+AT_SETUP([symlink-long])
-+AT_KEYWORDS([symlink-long copyout])
-+
-+AT_CHECK([
-+
-+# len(dirname) > READBUFSIZE
-+dirname=
-+for i in {1..52}; do
-+    dirname="xxxxxxxxx/$dirname"
-+    mkdir "$dirname"
-+done
-+ln -s "$dirname" x || AT_SKIP_TEST
-+
-+echo x | cpio -o > ar
-+list=`cpio -tv < ar | sed 's|.*-> ||'`
-+test "$list" = "$dirname" && echo success || echo fail
-+],
-+[0],
-+[success
-+],[2 blocks
-+2 blocks
-+])
-+
-+AT_CLEANUP
-diff --git a/tests/testsuite.at b/tests/testsuite.at
-index e67689f..3b5377e 100644
---- a/tests/testsuite.at
-+++ b/tests/testsuite.at
-@@ -31,6 +31,8 @@ m4_include([version.at])
- 
- m4_include([inout.at])
- m4_include([symlink.at])
-+m4_include([symlink-bad-length.at])
-+m4_include([symlink-long.at])
- m4_include([interdir.at])
- 
- m4_include([setstat01.at])
---
-cgit v0.9.0.2
diff --git a/gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch b/gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch
deleted file mode 100644
index 77c531cb54..0000000000
--- a/gnu/packages/patches/cpio-CVE-2014-9112-pt2.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Partially fix CVE-2014-9112, part 2/5.
-
-From 54d1c42ac2cb91389fca04a5018ad573e4ae265a Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org.ua>
-Date: Mon, 01 Dec 2014 19:10:39 +0000
-Subject: Bugfix
-
-* src/copyin.c (get_link_name): Fix range checking.
-* tests/symlink-bad-length.at: Change expected error message.
----
-diff --git a/src/copyin.c b/src/copyin.c
-index c502c7d..042cc41 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -128,17 +128,17 @@ tape_skip_padding (int in_file_des, off_t offset)
- static char *
- get_link_name (struct cpio_file_stat *file_hdr, int in_file_des)
- {
--  off_t n = file_hdr->c_filesize + 1;
-   char *link_name;
-   
--  if (n == 0 || n > SIZE_MAX)
-+  if (file_hdr->c_filesize < 0 || file_hdr->c_filesize > SIZE_MAX-1)
-     {
--      error (0, 0, _("%s: stored filename length too big"), file_hdr->c_name);
-+      error (0, 0, _("%s: stored filename length is out of range"),
-+	     file_hdr->c_name);
-       link_name = NULL;
-     }
-   else
-     {
--      link_name = xmalloc (n);
-+      link_name = xmalloc (file_hdr->c_filesize);
-       tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize);
-       link_name[file_hdr->c_filesize] = '\0';
-       tape_skip_padding (in_file_des, file_hdr->c_filesize);
-diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at
-index 6f804b1..cbf4aa7 100644
---- a/tests/symlink-bad-length.at
-+++ b/tests/symlink-bad-length.at
-@@ -42,7 +42,7 @@ test $? -eq 2
- ],
- [0],
- [-rw-rw-r--   1 10029    10031          13 Nov 25 13:52 FILE
--],[cpio: LINK: stored filename length too big
-+],[cpio: LINK: stored filename length is out of range
- cpio: premature end of file
- ])
- 
---
-cgit v0.9.0.2
diff --git a/gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch b/gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch
deleted file mode 100644
index 644dc6f9ef..0000000000
--- a/gnu/packages/patches/cpio-CVE-2014-9112-pt3.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Partially fix CVE-2014-9112, part 3/5.
-
-From 58df4f1b44a1142bba500f980fd26806413b1728 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org.ua>
-Date: Tue, 02 Dec 2014 09:33:29 +0000
-Subject: Fix typo
-
----
-diff --git a/src/copyin.c b/src/copyin.c
-index 042cc41..264bfcb 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -138,7 +138,7 @@ get_link_name (struct cpio_file_stat *file_hdr, int in_file_des)
-     }
-   else
-     {
--      link_name = xmalloc (file_hdr->c_filesize);
-+      link_name = xmalloc (file_hdr->c_filesize + 1);
-       tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize);
-       link_name[file_hdr->c_filesize] = '\0';
-       tape_skip_padding (in_file_des, file_hdr->c_filesize);
---
-cgit v0.9.0.2
diff --git a/gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch b/gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch
deleted file mode 100644
index fa2e8530b2..0000000000
--- a/gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Partially fix CVE-2014-9112, part 4/5.  Backported to 2.11.
-
-From fd262d116c4564c1796be9be2799619cf7785d07 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org.ua>
-Date: Thu, 11 Dec 2014 10:51:21 +0000
-Subject: Fix error recovery in copy-in mode
-
-* src/copyin.c (copyin_link): Fix null dereference.
-(read_in_header): Fix error recovery (bug introduced by
-27e0ae55).
-* tests/symlink-bad-length.at: Test error recovery.
-Catch various architecture-dependent error messages (suggested
-by Pavel Raiskup).
----
-diff --git a/src/copyin.c b/src/copyin.c
-index 264bfcb..ca12356 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -655,7 +655,7 @@ copyin_device (struct cpio_file_stat* file_hdr)
- }
- 
- static void
--copyin_link(struct cpio_file_stat *file_hdr, int in_file_des)
-+copyin_link (struct cpio_file_stat *file_hdr, int in_file_des)
- {
-   char *link_name = NULL;	/* Name of hard and symbolic links.  */
-   int res;			/* Result of various function calls.  */
-@@ -666,6 +666,8 @@ copyin_link(struct cpio_file_stat *file_
-   if (archive_format != arf_tar && archive_format != arf_ustar)
-     {
-       link_name = get_link_name (file_hdr, in_file_des);
-+      if (!link_name)
-+	return;
-     }
-   else
-     {
-@@ -1017,7 +1019,7 @@ read_in_header (struct cpio_file_stat *file_hdr, int in_des)
- 
-   file_hdr->c_tar_linkname = NULL;
- 
--  tape_buffered_read (magic.str, in_des, 6L);
-+  tape_buffered_read (magic.str, in_des, sizeof (magic.str));
-   while (1)
-     {
-       if (append_flag)
-@@ -1062,8 +1064,8 @@ read_in_header (struct cpio_file_stat *file_hdr, int in_des)
- 	  break;
- 	}
-       bytes_skipped++;
--      memmove (magic.str, magic.str + 1, 5);
--      tape_buffered_read (magic.str, in_des, 1L);
-+      memmove (magic.str, magic.str + 1, sizeof (magic.str) - 1);
-+      tape_buffered_read (magic.str + sizeof (magic.str) - 1, in_des, 1L);
-     }
- }
- 
-diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at
-index cbf4aa7..4dbeaa3 100644
---- a/tests/symlink-bad-length.at
-+++ b/tests/symlink-bad-length.at
-@@ -24,9 +24,9 @@ AT_SETUP([symlink-bad-length])
- AT_KEYWORDS([symlink-long copyout])
- 
- AT_DATA([ARCHIVE.base64],
--[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv
--JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF
--UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-+[x3ECCJ1jtIHoA2QAAQAAAIlUwl0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxAgidHv+h6ANk
-+AAEAAACJVHFtBQD/////TElOSwAARklMRcdxAgieHqSB6ANkAAEAAACJVDJuBgAAABIARklMRTIA
-+c29tZSBtb3JlIGNvbnRlbnQKx3EAAAAAAAAAAAAAAQAAAAAAAAALAAAAAABUUkFJTEVSISEhAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-@@ -37,13 +37,23 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
- 
- AT_CHECK([
- base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST
--cpio -ntv < ARCHIVE
--test $? -eq 2
-+TZ=UTC cpio -ntv < ARCHIVE 2>stderr
-+rc=$?
-+cat stderr | grep -v \
-+    -e 'stored filename length is out of range' \
-+    -e 'premature end of file' \
-+    -e 'archive header has reverse byte-order' \
-+    -e 'memory exhausted' \
-+    >&2
-+echo >&2 STDERR
-+test "$rc" -ne 0
- ],
--[0],
--[-rw-rw-r--   1 10029    10031          13 Nov 25 13:52 FILE
--],[cpio: LINK: stored filename length is out of range
--cpio: premature end of file
-+[1],
-+[-rw-rw-r--   1 1000     100            13 Dec 11 09:02 FILE
-+-rw-r--r--   1 1000     100            18 Dec 11 10:13 FILE2
-+],[cpio: warning: skipped 4 bytes of junk
-+1 block
-+STDERR
- ])
- 
- AT_CLEANUP
---
-cgit v0.9.0.2
diff --git a/gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch b/gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch
deleted file mode 100644
index 75313cbefa..0000000000
--- a/gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-Partially fix CVE-2014-9112, part 5/5.  Backported to 2.11.
-
-From f6a8a2cbd2d5ca40ea94900b55b845dd5ca87328 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org.ua>
-Date: Thu, 11 Dec 2014 13:21:40 +0000
-Subject: Fix symlink-bad-length test for 64-bit architectures.
-
-* src/util.c: Return non-zero exit code if EOF is hit prematurely.
-* tests/symlink-bad-length.at: Revert to original archive: there's
-no use testing for recovery, because that depends on the host
-architecture.  Don't test for exit code as well (same reason).
-Account for eventual warning messages.
----
-diff --git a/src/util.c b/src/util.c
-index 6c483f8..39c9813 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -206,10 +206,7 @@ tape_fill_input_buffer (int in_des, int
-   if (input_size < 0)
-     error (1, errno, _("read error"));
-   if (input_size == 0)
--    {
--      error (0, 0, _("premature end of file"));
--      exit (1);
--    }
-+    error (PAXEXIT_FAILURE, 0, _("premature end of file"));
-   input_bytes += input_size;
- }
- 
-diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at
-index 4dbeaa3..e1a7093 100644
---- a/tests/symlink-bad-length.at
-+++ b/tests/symlink-bad-length.at
-@@ -24,9 +24,9 @@ AT_SETUP([symlink-bad-length])
- AT_KEYWORDS([symlink-long copyout])
- 
- AT_DATA([ARCHIVE.base64],
--[x3ECCJ1jtIHoA2QAAQAAAIlUwl0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxAgidHv+h6ANk
--AAEAAACJVHFtBQD/////TElOSwAARklMRcdxAgieHqSB6ANkAAEAAACJVDJuBgAAABIARklMRTIA
--c29tZSBtb3JlIGNvbnRlbnQKx3EAAAAAAAAAAAAAAQAAAAAAAAALAAAAAABUUkFJTEVSISEhAAAA
-+[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv
-+JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF
-+UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-@@ -35,25 +35,30 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
- ])
- 
-+# The exact error message and exit status depend on the host architecture,
-+# therefore strderr is filtered out and error code is not checked.
-+
-+# So far the only case when cpio would exit with code 0 is when it skips
-+# several bytes and encounters a valid record header.  Perhaps it should
-+# exit with code 2 (non-critical error), if at least one byte was skipped,
-+# but that could hurt backward compatibility.
-+
- AT_CHECK([
- base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST
--TZ=UTC cpio -ntv < ARCHIVE 2>stderr
--rc=$?
-+TZ=UTC cpio -ntv < ARCHIVE 2>stderr 
- cat stderr | grep -v \
-     -e 'stored filename length is out of range' \
-     -e 'premature end of file' \
-     -e 'archive header has reverse byte-order' \
-     -e 'memory exhausted' \
-+    -e 'skipped [[0-9][0-9]*] bytes of junk' \
-+    -e '[[0-9][0-9]*] block' \
-     >&2
- echo >&2 STDERR
--test "$rc" -ne 0
- ],
--[1],
--[-rw-rw-r--   1 1000     100            13 Dec 11 09:02 FILE
---rw-r--r--   1 1000     100            18 Dec 11 10:13 FILE2
--],[cpio: warning: skipped 4 bytes of junk
--1 block
--STDERR
-+[0],
-+[-rw-rw-r--   1 10029    10031          13 Nov 25 11:52 FILE
-+],[STDERR
- ])
- 
- AT_CLEANUP
---
-cgit v0.9.0.2
diff --git a/gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch b/gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch
deleted file mode 100644
index 58a5a478c9..0000000000
--- a/gnu/packages/patches/cpio-fix-symlink-bad-length-test.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From bebf9662c406d1d137a66c567d8748b489d352e7 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Thu, 4 Jun 2015 13:27:42 +0200
-Subject: [PATCH] tests: fix expected output for old file
-
-Thanks Victor Rodriguez.  Upstream thread:
-http://lists.gnu.org/archive/html/bug-cpio/2015-06/msg00000.html
-
-* tests/symlink-bad-length.at (STDOUT): Expect the year string
-'2014' is printed and not time because the file in archive is
-older than 6 months.
-* Thanks: Mention Victor.
----
- THANKS                      | 1 +
- tests/symlink-bad-length.at | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/THANKS b/THANKS
-index 45b0dfb..3228df9 100644
---- a/THANKS
-+++ b/THANKS
-@@ -23,6 +23,7 @@ Mitsuru Chinen		<mchinen@yamato.ibm.com>
- Peter Breitenlohner     <peb@mppmu.mpg.de>
- Peter Vrabec            <pvrabec@redhat.com>
- Robert Millan           <rmh@aybabtu.com>
-+Victor Rodriguez        <vm.rod25@gmail.com>
- 
- Local Variables:
- mode: Fundamental
-diff --git a/tests/symlink-bad-length.at b/tests/symlink-bad-length.at
-index e1a7093..2cdc692 100644
---- a/tests/symlink-bad-length.at
-+++ b/tests/symlink-bad-length.at
-@@ -57,7 +57,7 @@ cat stderr | grep -v \
- echo >&2 STDERR
- ],
- [0],
--[-rw-rw-r--   1 10029    10031          13 Nov 25 11:52 FILE
-+[-rw-rw-r--   1 10029    10031          13 Nov 25  2014 FILE
- ],[STDERR
- ])
- 
--- 
-2.1.0
diff --git a/gnu/packages/patches/gnucash-price-quotes-perl.patch b/gnu/packages/patches/gnucash-price-quotes-perl.patch
new file mode 100644
index 0000000000..982763f0ec
--- /dev/null
+++ b/gnu/packages/patches/gnucash-price-quotes-perl.patch
@@ -0,0 +1,23 @@
+After wrapping gnc-fq-check and gnc-fq-helper we can no longer execute them
+with perl, so execute them directly instead.
+
+--- gnucash-2.6.6/src/scm/price-quotes.scm.orig	2014-04-27 17:42:28.000000000 -0500
++++ gnucash-2.6.6/src/scm/price-quotes.scm	2015-07-09 16:12:11.196218472 -0500
+@@ -74,7 +74,7 @@
+     (define (start-program)
+       (if (not (string-null? gnc:*finance-quote-check*))
+           (set! program (gnc-spawn-process-async
+-                         (list "perl" "-w" gnc:*finance-quote-check*) #t))))
++                         (list gnc:*finance-quote-check*) #t))))
+ 
+     (define (get-sources)
+       (if (not (null? program))
+@@ -158,7 +158,7 @@
+     (define (start-quoter)
+       (if (not (string-null? gnc:*finance-quote-helper*))
+           (set! quoter (gnc-spawn-process-async
+-                        (list "perl" "-w" gnc:*finance-quote-helper*) #t))))
++                        (list gnc:*finance-quote-helper*) #t))))
+ 
+     (define (get-quotes)
+       (if (not (null? quoter))
diff --git a/gnu/packages/patches/guile-present-coding.patch b/gnu/packages/patches/guile-present-coding.patch
new file mode 100644
index 0000000000..0655726158
--- /dev/null
+++ b/gnu/packages/patches/guile-present-coding.patch
@@ -0,0 +1,16 @@
+The tests/org-mode.scm tests expects 'jpl-outline-es' to be read as UTF-8.
+
+--- guile-present-0.3.0/tests/org-mode.scm	2014-09-23 22:29:51.426705753 +0200
++++ guile-present-0.3.0/tests/org-mode.scm	2014-09-23 22:30:09.634705548 +0200
+@@ -194,9 +194,10 @@
+                "(Just another hacker)"
+                "wingo@fluendo.com")
+             (p "Julien Moutte, CEO" "julien@fluendo.com")))
++   (with-fluids ((%default-port-encoding "UTF-8"))
+    (call-with-input-file
+        (in-vicinity *top-srcdir* "tests/jpl-outline-es")
+-     org->presentation)))
++       org->presentation))))
+ 
+ (setlocale LC_ALL "")
+ (exit-with-summary (run-all-defined-test-cases))
diff --git a/gnu/packages/patches/guile-rsvg-pkgconfig.patch b/gnu/packages/patches/guile-rsvg-pkgconfig.patch
new file mode 100644
index 0000000000..2272b4e1cd
--- /dev/null
+++ b/gnu/packages/patches/guile-rsvg-pkgconfig.patch
@@ -0,0 +1,16 @@
+This patch fixes a bug in guile-rsvg's build system, whereby the CFLAGS
+and LDFLAGS for Guile would not be captured.
+
+--- guile-rsvg-2.18.1/configure.ac	2015-08-31 22:30:30.578909480 +0200
++++ guile-rsvg-2.18.1/configure.ac	2015-08-31 22:32:15.071516084 +0200
+@@ -39,6 +39,10 @@ AC_SUBST(WARN_CFLAGS)
+ 
+ GUILE_PKG([2.2 2.0 1.8])
+ 
++dnl The above macro fails to set the 'GUILE_CFLAGS' and 'GUILE_LIBS'
++dnl substitution variables, hence this line.
++PKG_CHECK_MODULES(GUILE, guile-2.0)
++
+ PKG_CHECK_MODULES(GUILE_CAIRO, guile-cairo >= 1.4.0)
+ AC_SUBST(GUILE_CAIRO_LIBS)
+ AC_SUBST(GUILE_CAIRO_CFLAGS)
diff --git a/gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch b/gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch
new file mode 100644
index 0000000000..5f37bb0ba7
--- /dev/null
+++ b/gnu/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch
@@ -0,0 +1,15 @@
+Rather than unconditionally using Mozilla's CA certificates, let the user tell
+LWP's UserAgent where to find certificates with the PERL_LWP_SSL_CA_FILE,
+HTTPS_CA_FILE, PERL_LWP_SSL_CA_PATH, or HTTPS_CA_DIR environment variables
+instead.
+
+--- Finance-Quote-1.37/lib/Finance/Quote/Tiaacref.pm.orig	2015-02-01 13:24:41.000000000 -0600
++++ Finance-Quote-1.37/lib/Finance/Quote/Tiaacref.pm	2015-07-07 20:09:47.278885944 -0500
+@@ -30,7 +30,6 @@
+ package Finance::Quote::Tiaacref;
+ require 5.005;
+ require LWP::Protocol::https;
+-require Mozilla::CA;
+ 
+ use strict;
+ 
diff --git a/gnu/packages/patches/xfce4-settings-defaults.patch b/gnu/packages/patches/xfce4-settings-defaults.patch
new file mode 100644
index 0000000000..fe91ae5f70
--- /dev/null
+++ b/gnu/packages/patches/xfce4-settings-defaults.patch
@@ -0,0 +1,29 @@
+This patch make Xfce use "gnome" as the default icon theme and enable font antialias.
+
+Taken from ArchLinux.
+
+diff -upr xfce4-settings-4.12.0.orig/xfsettingsd/xsettings.xml xfce4-settings-4.12.0/xfsettingsd/xsettings.xml
+--- xfce4-settings-4.12.0.orig/xfsettingsd/xsettings.xml	2015-02-24 03:33:11.000000000 +0200
++++ xfce4-settings-4.12.0/xfsettingsd/xsettings.xml	2015-03-01 09:52:24.376869688 +0200
+@@ -6,8 +6,8 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <channel name="xsettings" version="1.0">
+   <property name="Net" type="empty">
+     <property name="ThemeName" type="empty"/>
+-    <property name="IconThemeName" type="empty"/>
++    <property name="IconThemeName" type="string" value="gnome"/>
+     <property name="DoubleClickTime" type="int" value="400"/>
+     <property name="DoubleClickDistance" type="int" value="5"/>
+     <property name="DndDragThreshold" type="int" value="8"/>
+@@ -19,9 +19,9 @@
+   </property>
+   <property name="Xft" type="empty">
+     <property name="DPI" type="empty"/>
+-    <property name="Antialias" type="int" value="-1"/>
++    <property name="Antialias" type="int" value="1"/>
+     <property name="Hinting" type="int" value="-1"/>
+-    <property name="HintStyle" type="string" value="hintnone"/>
++    <property name="HintStyle" type="string" value="hintfull"/>
+     <property name="RGBA" type="string" value="none"/>
+     <!-- <property name="Lcdfilter" type="string" value="none"/> -->
+   </property>