summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2018-01-03 23:24:51 -0500
committerLeo Famulari <leo@famulari.name>2018-01-10 00:07:40 -0800
commitfddb22ac1954a49985b3c0dd5ef253b2c0d35b7c (patch)
treedd7777a54b5cc76d0fa4588b344194acfabff1a4
parent606e2468610798b4b141c2812ff1516b83fcd2ef (diff)
downloadguix-fddb22ac1954a49985b3c0dd5ef253b2c0d35b7c.tar.gz
gnu: gpm: Fix building with glibc 2.26.
* gnu/packages/patches/gpm-glibc-2.26.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (gpm)[source]: Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/linux.scm1
-rw-r--r--gnu/packages/patches/gpm-glibc-2.26.patch50
3 files changed, 52 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9d725b684a..7257a8e967 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -709,6 +709,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
   %D%/packages/patches/gobject-introspection-cc.patch		\
   %D%/packages/patches/gobject-introspection-girepository.patch	\
+  %D%/packages/patches/gpm-glibc-2.26.patch			\
   %D%/packages/patches/graphite2-ffloat-store.patch		\
   %D%/packages/patches/grep-timing-sensitive-test.patch		\
   %D%/packages/patches/groff-source-date-epoch.patch		\
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ba58ffc8f2..6390697b90 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3045,6 +3045,7 @@ write access to exFAT devices.")
               (uri (string-append
                     "http://www.nico.schottelius.org/software/gpm/archives/gpm-"
                     version ".tar.bz2"))
+              (patches (search-patches "gpm-glibc-2.26.patch"))
               (sha256
                (base32
                 "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))))
diff --git a/gnu/packages/patches/gpm-glibc-2.26.patch b/gnu/packages/patches/gpm-glibc-2.26.patch
new file mode 100644
index 0000000000..6caf7a01e0
--- /dev/null
+++ b/gnu/packages/patches/gpm-glibc-2.26.patch
@@ -0,0 +1,50 @@
+Fix building of GPM with glibc 2.26:
+
+https://bugs.gentoo.org/629774
+
+Patches copied from Gentoo:
+
+https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-libs/gpm/files/gpm-1.20.7-glibc-2.26.patch?id=1618968c56caf7f8c08823908d88dc49bb8f7649
+https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-libs/gpm/files/gpm-1.20.7-sysmacros.patch?id=1618968c56caf7f8c08823908d88dc49bb8f7649
+
+--- a/src/prog/gpm-root.y	2012-10-26 17:21:38.000000000 -0400
++++ b/src/prog/gpm-root.y	2017-09-07 20:39:51.933264063 -0400
+@@ -1197,7 +1197,7 @@
+    /* reap your zombies */
+    childaction.sa_handler=reap_children;
+ #if defined(__GLIBC__)
+-   __sigemptyset(&childaction.sa_mask);
++   sigemptyset(&childaction.sa_mask);
+ #else /* __GLIBC__ */
+    childaction.sa_mask=0;
+ #endif /* __GLIBC__ */
+From b350aee4ea5785a75cb6ad770f6b768c506ebb70 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Mar 2016 15:39:54 -0400
+Subject: [PATCH] fix building w/newer glibc
+
+Linux C libraries are looking to disentangle sysmacros.h from the
+sys/types.h include, so make sure we pull in the header when it is
+found.
+---
+ src/daemon/open_console.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/daemon/open_console.c b/src/daemon/open_console.c
+index 4d6c0af..6dd43e6 100644
+--- a/src/daemon/open_console.c
++++ b/src/daemon/open_console.c
+@@ -24,6 +24,10 @@
+ #include <sys/types.h>              /* major()           */
+ #include <sys/ioctl.h>              /* ioctl             */
+ 
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>          /* major() w/newer glibc */
++#endif
++
+ /* Linux specific (to be outsourced in gpm2 */
+ #include <linux/serial.h>           /* for serial console check */
+ #include <asm/ioctls.h>            /* for serial console check */
+-- 
+2.6.2
+