aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/ccache-stdc-predef-test.patch157
-rw-r--r--gnu/packages/patches/clucene-pkgconfig.patch21
-rw-r--r--gnu/packages/patches/doxygen-test.patch38
-rw-r--r--gnu/packages/patches/doxygen-tmake.patch24
-rw-r--r--gnu/packages/patches/mhash-keygen-test-segfault.patch13
-rw-r--r--gnu/packages/patches/openssl-CVE-2010-5298.patch27
-rw-r--r--gnu/packages/patches/openssl-extension-checking-fixes.patch40
-rw-r--r--gnu/packages/patches/perl-tk-x11-discover.patch14
-rw-r--r--gnu/packages/patches/petsc-fix-threadcomm.patch15
-rw-r--r--gnu/packages/patches/pybugz-encode-error.patch17
-rw-r--r--gnu/packages/patches/pybugz-stty.patch19
-rw-r--r--gnu/packages/patches/scotch-test-threading.patch139
-rw-r--r--gnu/packages/patches/soprano-find-clucene.patch15
-rw-r--r--gnu/packages/patches/superlu-dist-scotchmetis.patch21
14 files changed, 560 insertions, 0 deletions
diff --git a/gnu/packages/patches/ccache-stdc-predef-test.patch b/gnu/packages/patches/ccache-stdc-predef-test.patch
new file mode 100644
index 0000000000..bd9444c2df
--- /dev/null
+++ b/gnu/packages/patches/ccache-stdc-predef-test.patch
@@ -0,0 +1,157 @@
+This patch is a combination of the following commits::
+
+ https://git.samba.org/?p=ccache.git;a=commit;h=b5d63f81c1a83fd4c50b769a96a04f581b7db70c
+ https://git.samba.org/?p=ccache.git;a=commit;h=a11f5688748ecb49f590b3f4bc0e9b3458f9a56f
+ https://git.samba.org/?p=ccache.git;a=commit;h=5a9322c56ed0cd16255966e99077843aae57ab3e
+
+from the general discussion at
+http://comments.gmane.org/gmane.comp.compilers.ccache/1089
+
+--- a/test.sh
++++ b/test.sh
+@@ -562,6 +562,12 @@
+ EOF
+ backdate test1.h test2.h test3.h
+
++ $COMPILER -c -Wp,-MD,expected.d test.c
++ expected_d_content=`cat expected.d`
++
++ $COMPILER -c -Wp,-MMD,expected_mmd.d test.c
++ expected_mmd_d_content=`cat expected_mmd.d`
++
+ ##################################################################
+ # First compilation is a miss.
+ testname="first compilation"
+@@ -677,7 +683,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ rm -f other.d
+
+@@ -685,7 +691,7 @@
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ rm -f other.d
+
+@@ -698,7 +704,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_mmd_d_content"
+
+ rm -f other.d
+
+@@ -706,7 +712,7 @@
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_mmd_d_content"
+
+ rm -f other.d
+
+@@ -760,7 +766,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -768,7 +774,7 @@
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ ##################################################################
+ # Check the scenario of running a ccache with direct mode on a cache
+@@ -780,7 +786,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -788,7 +794,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 1
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -796,7 +802,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 2
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -804,7 +810,7 @@
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 2
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ ##################################################################
+ # Check that -MF works.
+@@ -815,7 +821,7 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ rm -f other.d
+
+@@ -823,7 +829,7 @@
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ ##################################################################
+ # Check that a missing .d file in the cache is handled correctly.
+@@ -835,13 +841,13 @@
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ $CCACHE $COMPILER -c -MD test.c
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ find $CCACHE_DIR -name '*.d' -exec rm -f '{}' \;
+
+@@ -849,7 +855,7 @@
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 1
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ ##################################################################
+ # Check that stderr from both the preprocessor and the compiler is emitted
diff --git a/gnu/packages/patches/clucene-pkgconfig.patch b/gnu/packages/patches/clucene-pkgconfig.patch
new file mode 100644
index 0000000000..5e4825cd3f
--- /dev/null
+++ b/gnu/packages/patches/clucene-pkgconfig.patch
@@ -0,0 +1,21 @@
+Taken from the Debian package.
+
+From 7be4a19b76d98260cf95040a47935f854a4ba7a4 Mon Sep 17 00:00:00 2001
+From: Valentin Rusu <kde@rusu.info>
+Date: Sat, 17 Dec 2011 13:47:58 +0100
+Subject: [PATCH] Fix .pc file by adding clucene-shared library
+
+---
+ src/core/libclucene-core.pc.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/core/libclucene-core.pc.cmake
++++ b/src/core/libclucene-core.pc.cmake
+@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i
+ Name: libclucene
+ Description: CLucene - a C++ search engine, ported from the popular Apache Lucene
+ Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@
+-Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core
++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared
+ Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
+ ~
diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch
new file mode 100644
index 0000000000..7a7f4e963f
--- /dev/null
+++ b/gnu/packages/patches/doxygen-test.patch
@@ -0,0 +1,38 @@
+Modify the expected outcome of test 012 so that it passes when bibtex is
+not in the path, as we do not wish to add texlive as an input just for this
+test.
+
+diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml
+--- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200
++++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200
+@@ -4,17 +4,6 @@
+ <compoundname>citelist</compoundname>
+ <title>Bibliography</title>
+ <detaileddescription>
+- <para>
+- <variablelist>
+- <varlistentry>
+- <term><anchor id="_1CITEREF_knuth79"/>[1]</term>
+- </varlistentry>
+- <listitem>
+- <para>Donald<nonbreakablespace/>E. Knuth. <emphasis>Tex and Metafont, New Directions in Typesetting</emphasis>. American Mathematical Society and Digital Press, Stanford, 1979.</para>
+- <para/>
+- </listitem>
+- </variablelist>
+- </para>
+ </detaileddescription>
+ </compounddef>
+ </doxygen>
+diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/012/indexpage.xml
+--- doxygen-1.8.7.orig/testing/012/indexpage.xml 2014-04-24 23:43:34.000000000 +0200
++++ doxygen-1.8.7/testing/012/indexpage.xml 2014-04-24 23:44:05.000000000 +0200
+@@ -4,7 +4,7 @@
+ <compoundname>index</compoundname>
+ <title>My Project</title>
+ <detaileddescription>
+- <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">[1]</ref> for more info. </para>
++ <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">knuth79</ref> for more info. </para>
+ </detaileddescription>
+ </compounddef>
+ </doxygen>
+Nur in doxygen-1.8.7/testing: test_output_012.
diff --git a/gnu/packages/patches/doxygen-tmake.patch b/gnu/packages/patches/doxygen-tmake.patch
new file mode 100644
index 0000000000..3579243702
--- /dev/null
+++ b/gnu/packages/patches/doxygen-tmake.patch
@@ -0,0 +1,24 @@
+Fix the `check_unix' function, which looks for `/bin/uname' to determine
+whether we're on a Unix-like system.
+Taken from nixpkgs.
+
+--- doxygen-1.5.8/tmake/bin/tmake 2008-12-06 14:16:20.000000000 +0100
++++ doxygen-1.5.8/tmake/bin/tmake 2009-03-05 11:29:55.000000000 +0100
+@@ -234,17 +234,7 @@ sub tmake_verb {
+ #
+
+ sub check_unix {
+- my($r);
+- $r = 0;
+- if ( -f "/bin/uname" ) {
+- $r = 1;
+- (-f "\\bin\\uname") && ($r = 0);
+- }
+- if ( -f "/usr/bin/uname" ) {
+- $r = 1;
+- (-f "\\usr\\bin\\uname") && ($r = 0);
+- }
+- return $r;
++ return 1;
+ }
+
diff --git a/gnu/packages/patches/mhash-keygen-test-segfault.patch b/gnu/packages/patches/mhash-keygen-test-segfault.patch
new file mode 100644
index 0000000000..3bd9f43418
--- /dev/null
+++ b/gnu/packages/patches/mhash-keygen-test-segfault.patch
@@ -0,0 +1,13 @@
+This patch from resolution of https://sourceforge.net/p/mhash/bugs/37/
+
+--- a/src/keygen_test.c
++++ b/src/keygen_test.c
+@@ -121,8 +121,6 @@
+
+ mhash_keygen_ext(KEYGEN_S2K_SALTED, data, key, keysize, password, passlen);
+
+- mutils_memset(tmp, 0, keysize * 2);
+-
+ tmp = mutils_asciify(key, keysize);
+
+ result = mutils_strcmp((mutils_word8 *) KEY2, tmp);
diff --git a/gnu/packages/patches/openssl-CVE-2010-5298.patch b/gnu/packages/patches/openssl-CVE-2010-5298.patch
new file mode 100644
index 0000000000..707a24dff0
--- /dev/null
+++ b/gnu/packages/patches/openssl-CVE-2010-5298.patch
@@ -0,0 +1,27 @@
+From db978be7388852059cf54e42539a363d549c5bfd Mon Sep 17 00:00:00 2001
+From: Kurt Roeckx <kurt@roeckx.be>
+Date: Sun, 13 Apr 2014 15:05:30 +0200
+Subject: [PATCH] Don't release the buffer when there still is data in it
+
+RT: 2167, 3265
+---
+ ssl/s3_pkt.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c
+index b9e45c7..32e9207 100644
+--- a/ssl/s3_pkt.c
++++ b/ssl/s3_pkt.c
+@@ -1055,7 +1055,8 @@ int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek)
+ {
+ s->rstate=SSL_ST_READ_HEADER;
+ rr->off=0;
+- if (s->mode & SSL_MODE_RELEASE_BUFFERS)
++ if (s->mode & SSL_MODE_RELEASE_BUFFERS &&
++ s->s3->rbuf.left == 0)
+ ssl3_release_read_buffer(s);
+ }
+ }
+--
+1.9.1
+
diff --git a/gnu/packages/patches/openssl-extension-checking-fixes.patch b/gnu/packages/patches/openssl-extension-checking-fixes.patch
new file mode 100644
index 0000000000..3fdd893563
--- /dev/null
+++ b/gnu/packages/patches/openssl-extension-checking-fixes.patch
@@ -0,0 +1,40 @@
+From 300b9f0b704048f60776881f1d378c74d9c32fbd Mon Sep 17 00:00:00 2001
+From: "Dr. Stephen Henson" <steve@openssl.org>
+Date: Tue, 15 Apr 2014 18:48:54 +0100
+Subject: [PATCH] Extension checking fixes.
+
+When looking for an extension we need to set the last found
+position to -1 to properly search all extensions.
+
+PR#3309.
+---
+ crypto/x509v3/v3_purp.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c
+index 6c40c7d..5f931db 100644
+--- a/crypto/x509v3/v3_purp.c
++++ b/crypto/x509v3/v3_purp.c
+@@ -389,8 +389,8 @@ static void x509v3_cache_extensions(X509 *x)
+ /* Handle proxy certificates */
+ if((pci=X509_get_ext_d2i(x, NID_proxyCertInfo, NULL, NULL))) {
+ if (x->ex_flags & EXFLAG_CA
+- || X509_get_ext_by_NID(x, NID_subject_alt_name, 0) >= 0
+- || X509_get_ext_by_NID(x, NID_issuer_alt_name, 0) >= 0) {
++ || X509_get_ext_by_NID(x, NID_subject_alt_name, -1) >= 0
++ || X509_get_ext_by_NID(x, NID_issuer_alt_name, -1) >= 0) {
+ x->ex_flags |= EXFLAG_INVALID;
+ }
+ if (pci->pcPathLengthConstraint) {
+@@ -670,7 +670,7 @@ static int check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509 *x,
+ return 0;
+
+ /* Extended Key Usage MUST be critical */
+- i_ext = X509_get_ext_by_NID((X509 *) x, NID_ext_key_usage, 0);
++ i_ext = X509_get_ext_by_NID((X509 *) x, NID_ext_key_usage, -1);
+ if (i_ext >= 0)
+ {
+ X509_EXTENSION *ext = X509_get_ext((X509 *) x, i_ext);
+--
+1.9.1
+
diff --git a/gnu/packages/patches/perl-tk-x11-discover.patch b/gnu/packages/patches/perl-tk-x11-discover.patch
new file mode 100644
index 0000000000..f4365e6882
--- /dev/null
+++ b/gnu/packages/patches/perl-tk-x11-discover.patch
@@ -0,0 +1,14 @@
+On non-x86_64 systems, this conditional can cause a specified X11 build value
+to be overwritten to null, causing x11 discovery to fail.
+
+--- a/myConfig 2014-05-12 11:16:48.152719722 -0500
++++ b/myConfig 2014-05-12 11:16:24.704719113 -0500
+@@ -350,7 +350,7 @@
+ #
+ # Prefer 64bit libraries on certain architectures
+ #
+- unless (defined $xlib and $Config{'archname'} =~ m/x86_64/)
++ unless (defined $xlib or not $Config{'archname'} =~ m/x86_64/)
+ {
+ $xlib64 = &lX11(0, chooseX11(</usr/X11*/lib64>));
+ }
diff --git a/gnu/packages/patches/petsc-fix-threadcomm.patch b/gnu/packages/patches/petsc-fix-threadcomm.patch
new file mode 100644
index 0000000000..3ef4f2d83d
--- /dev/null
+++ b/gnu/packages/patches/petsc-fix-threadcomm.patch
@@ -0,0 +1,15 @@
+Fix "error: unknown type name 'cpu_set_t'". Patch submitted upstream
+http://lists.mcs.anl.gov/pipermail/petsc-dev/2014-May/015345.html
+
+--- a/src/sys/threadcomm/impls/openmp/tcopenmp.c 2014-03-13 21:47:22.000000000 -0500
++++ b/src/sys/threadcomm/impls/openmp/tcopenmp.c 2014-04-02 14:44:57.185170151 -0500
+@@ -1,6 +1,9 @@
+ #define PETSC_DESIRE_FEATURE_TEST_MACROS
+ #include <../src/sys/threadcomm/impls/openmp/tcopenmpimpl.h>
+ #include <omp.h>
++#if defined(PETSC_HAVE_SCHED_CPU_SET_T)
++#include <sched.h>
++#endif
+
+ PetscErrorCode PetscThreadCommGetRank_OpenMP(PetscInt *trank)
+ {
diff --git a/gnu/packages/patches/pybugz-encode-error.patch b/gnu/packages/patches/pybugz-encode-error.patch
new file mode 100644
index 0000000000..ab78bf84b3
--- /dev/null
+++ b/gnu/packages/patches/pybugz-encode-error.patch
@@ -0,0 +1,17 @@
+In case of 'AttributeError', 'value' is None, so do not try to
+access it.
+Submitted upstream.
+
+--- pybugz-0.6.11/bugz.py 2006-09-02 14:35:37.000000000 +0200
++++ pybugz-0.6.11/bugz.py 2014-05-05 16:02:20.000000000 +0200
+@@ -1249,9 +1254,9 @@ class PrettyBugz(Bugz):
+ for field, name in FIELDS + MORE_FIELDS:
+ try:
+ value = result.find('//%s' % field).text
++ print '%-12s: %s' % (name, value.encode(self.enc))
+ except AttributeError:
+ continue
+- print '%-12s: %s' % (name, value.encode(self.enc))
+
+ # Print out the cc'ed people
+ cced = result.findall('.//cc')
diff --git a/gnu/packages/patches/pybugz-stty.patch b/gnu/packages/patches/pybugz-stty.patch
new file mode 100644
index 0000000000..4453e9d027
--- /dev/null
+++ b/gnu/packages/patches/pybugz-stty.patch
@@ -0,0 +1,19 @@
+Gracefully deal with 'stty size' failures.
+Submitted upstream.
+
+--- pybugz-0.6.11/bugz.py 2006-09-02 14:35:37.000000000 +0200
++++ pybugz-0.6.11/bugz.py 2014-05-05 15:17:03.000000000 +0200
+@@ -288,7 +288,12 @@ def get_cols():
+ stty = which('stty')
+ if stty:
+ row_cols = commands.getoutput("%s size" % stty)
+- rows, cols = map(int, row_cols.split())
++ try:
++ rows, cols = map(int, row_cols.split())
++ except:
++ # In some cases 'stty size' will just fail with
++ # "Inappropriate ioctl for device".
++ cols = DEFAULT_NUM_COLS
+ return cols
+ else:
+ return DEFAULT_NUM_COLS
diff --git a/gnu/packages/patches/scotch-test-threading.patch b/gnu/packages/patches/scotch-test-threading.patch
new file mode 100644
index 0000000000..2527a6e6dd
--- /dev/null
+++ b/gnu/packages/patches/scotch-test-threading.patch
@@ -0,0 +1,139 @@
+* These tests assume threading support, even when the library is compiled
+ without it. Protect these checks.
+
+* Tests should not require keyboard interaction.
+
+--- a/src/check/test_scotch_dgraph_band.c 2012-09-27 10:46:42.000000000 -0500
++++ b/src/check/test_scotch_dgraph_band.c 2014-05-13 14:36:07.479270243 -0500
+@@ -99,10 +99,12 @@
+ errorPrint ("main: Cannot initialize (1)");
+ exit (1);
+ }
++#ifdef SCOTCH_PTHREAD
+ if (thrdlvlreqval > thrdlvlproval) {
+ errorPrint ("main: Cannot initialize (2)");
+ exit (1);
+ }
++#endif
+
+ if (argc != 2) {
+ errorPrint ("main: invalid number of parameters");
+@@ -115,12 +117,14 @@
+
+ fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ());
+
++#ifdef SCOTCH_DEBUG_CHECK2
+ if (proclocnum == 0) { /* Synchronize on keybord input */
+ char c;
+
+ printf ("Waiting for key press...\n");
+ scanf ("%c", &c);
+ }
++#endif /* SCOTCH_DEBUG_CHECK2 */
+
+ if (MPI_Barrier (proccomm) != MPI_SUCCESS) { /* Synchronize for debug */
+ errorPrint ("main: cannot communicate");
+--- a/src/check/test_scotch_dgraph_grow.c 2012-11-30 12:19:33.000000000 -0600
++++ b/src/check/test_scotch_dgraph_grow.c 2014-05-13 14:35:31.307269303 -0500
+@@ -103,10 +103,12 @@
+ errorPrint ("main: Cannot initialize (1)");
+ exit (1);
+ }
++#ifdef SCOTCH_PTHREAD
+ if (thrdlvlreqval > thrdlvlproval) {
+ errorPrint ("main: Cannot initialize (2)");
+ exit (1);
+ }
++#endif
+
+ if (argc != 2) {
+ errorPrint ("main: invalid number of parameters");
+@@ -119,12 +121,14 @@
+
+ fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ());
+
++#ifdef SCOTCH_DEBUG_CHECK2
+ if (proclocnum == 0) { /* Synchronize on keybord input */
+ char c;
+
+ printf ("Waiting for key press...\n");
+ scanf ("%c", &c);
+ }
++#endif /* SCOTCH_DEBUG_CHECK2 */
+
+ if (MPI_Barrier (proccomm) != MPI_SUCCESS) { /* Synchronize for debug */
+ errorPrint ("main: cannot communicate");
+--- a/src/check/test_scotch_dgraph_redist.c 2012-09-26 11:42:27.000000000 -0500
++++ b/src/check/test_scotch_dgraph_redist.c 2014-05-13 14:34:30.323267722 -0500
+@@ -98,10 +98,12 @@
+ errorPrint ("main: Cannot initialize (1)");
+ exit (1);
+ }
++#ifdef SCOTCH_PTHREAD
+ if (thrdlvlreqval > thrdlvlproval) {
+ errorPrint ("main: Cannot initialize (2)");
+ exit (1);
+ }
++#endif
+
+ if (argc != 2) {
+ errorPrint ("main: invalid number of parameters");
+@@ -114,7 +116,6 @@
+
+ fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ());
+
+-#define SCOTCH_DEBUG_CHECK2
+ #ifdef SCOTCH_DEBUG_CHECK2
+ if (proclocnum == 0) { /* Synchronize on keybord input */
+ char c;
+--- /tmp/nix-build-scotch-6.0.0.drv-9/scotch_6.0.0/src/check/test_common_thread.c 2012-11-30 11:05:23.000000000 -0600
++++ scotch_6.0.0/src/check/test_common_thread.c 2014-05-13 17:26:27.159535244 -0500
+@@ -90,7 +90,7 @@
+ /* */
+ /*************************/
+
+-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
++#ifdef SCOTCH_PTHREAD
+
+ static
+ void
+@@ -161,7 +161,7 @@
+ return (o);
+ }
+
+-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
++#endif /* SCOTCH_PTHREAD */
+
+ /*********************/
+ /* */
+@@ -175,14 +175,14 @@
+ char * argv[])
+ {
+ TestThreadGroup groudat;
+-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
++#ifdef SCOTCH_PTHREAD
+ TestThread * restrict thrdtab;
+ int thrdnbr;
+-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
++#endif /* SCOTCH_PTHREAD */
+
+ SCOTCH_errorProg (argv[0]);
+
+-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
++#ifdef SCOTCH_PTHREAD
+ thrdnbr = SCOTCH_PTHREAD_NUMBER;
+
+ groudat.redusum = COMPVAL (thrdnbr);
+@@ -197,9 +197,9 @@
+ errorPrint ("main: cannot launch or run threads");
+ return (1);
+ }
+-#else /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
+- printf ("Scotch not compiled with either COMMON_PTHREAD or SCOTCH_PTHREAD\n");
+-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
++#else /* not SCOTCH_PTHREAD */
++ printf ("Scotch not compiled with SCOTCH_PTHREAD\n");
++#endif /* not SCOTCH_PTHREAD */
+
+ return (0);
+ }
diff --git a/gnu/packages/patches/soprano-find-clucene.patch b/gnu/packages/patches/soprano-find-clucene.patch
new file mode 100644
index 0000000000..cc2707853a
--- /dev/null
+++ b/gnu/packages/patches/soprano-find-clucene.patch
@@ -0,0 +1,15 @@
+Search for clucene include file in the clucene include directory.
+
+diff -u -r soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake soprano-2.9.4/cmake/modules/FindCLucene.cmake
+--- soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake 2013-10-09 19:22:28.000000000 +0200
++++ soprano-2.9.4/cmake/modules/FindCLucene.cmake 2014-04-28 20:08:11.000000000 +0200
+@@ -77,7 +77,8 @@
+
+ get_filename_component(TRIAL_LIBRARY_DIR ${CLUCENE_LIBRARY} PATH)
+ find_path(CLUCENE_LIBRARY_DIR
+- NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
++ NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} ${CLUCENE_INCLUDE_DIR} NO_DEFAULT_PATH)
++message (STATUS "XXX ${CLUCENE_LIBRARY_DIR}")
+ if(CLUCENE_LIBRARY_DIR)
+ message(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
+ file(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT)
diff --git a/gnu/packages/patches/superlu-dist-scotchmetis.patch b/gnu/packages/patches/superlu-dist-scotchmetis.patch
new file mode 100644
index 0000000000..3d78380551
--- /dev/null
+++ b/gnu/packages/patches/superlu-dist-scotchmetis.patch
@@ -0,0 +1,21 @@
+The METIS interface from Scotch may segfault if passed NULL to indicate a
+default parameter, so use the older calling style.
+
+--- a/SRC/get_perm_c.c 2014-05-16 23:38:30.070835316 -0500
++++ b/SRC/get_perm_c.c 2014-05-16 23:39:04.582836211 -0500
+@@ -70,11 +70,13 @@
+ #else
+
+ /* Earlier version 3.x.x */
+- /* METIS_NodeND(&nm, b_colptr, b_rowind, &numflag, metis_options,
+- perm, iperm);*/
++ METIS_NodeND(&nm, b_colptr, b_rowind, &numflag, metis_options,
++ perm, iperm);
+
+ /* Latest version 4.x.x */
++#if 0
+ METIS_NodeND(&nm, b_colptr, b_rowind, NULL, NULL, perm, iperm);
++#endif
+
+ /*check_perm_dist("metis perm", n, perm);*/
+ #endif