summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/glib/old-kernels.patch16
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py4
2 files changed, 20 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/glib/old-kernels.patch b/var/spack/repos/builtin/packages/glib/old-kernels.patch
new file mode 100644
index 0000000000..4061410320
--- /dev/null
+++ b/var/spack/repos/builtin/packages/glib/old-kernels.patch
@@ -0,0 +1,16 @@
+--- a/gio/gfile.c 2018-06-11 15:28:30.527667202 -0500
++++ b/gio/gfile.c 2018-03-12 11:23:37.000000000 -0500
+@@ -3014,11 +3014,11 @@
+
+ /* Try a 1MiB buffer for improved throughput. If that fails, use the default
+ * pipe size. See: https://bugzilla.gnome.org/791457 */
+- buffer_size = fcntl (buffer[1], F_SETPIPE_SZ, 1024 * 1024);
++ buffer_size = -1;
+ if (buffer_size <= 0)
+ {
+ int errsv;
+- buffer_size = fcntl (buffer[1], F_GETPIPE_SZ);
++ buffer_size = 65536;
+ errsv = errno;
+
+ if (buffer_size <= 0)
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index 87a0286950..76e411aa71 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -72,6 +72,10 @@ class Glib(AutotoolsPackage):
# Clang doesn't seem to acknowledge the pragma lines to disable the -Werror
# around a legitimate usage.
patch('no-Werror=format-security.patch')
+ # Patch to prevent compiler errors in kernels older than 2.6.35
+ patch('old-kernels.patch', when='@2.56: os=rhel6')
+ patch('old-kernels.patch', when='@2.56: os=centos6')
+ patch('old-kernels.patch', when='@2.56: os=sl6')
def url_for_version(self, version):
"""Handle glib's version-based custom URLs."""