gnu: gpm: Fix building with glibc 2.26.
authorLeo Famulari <leo@famulari.name>
Thu, 4 Jan 2018 04:24:51 +0000 (23:24 -0500)
committerLeo Famulari <leo@famulari.name>
Wed, 10 Jan 2018 08:07:40 +0000 (00:07 -0800)
* 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.

gnu/local.mk
gnu/packages/linux.scm
gnu/packages/patches/gpm-glibc-2.26.patch [new file with mode: 0644]

index 9d725b6..7257a8e 100644 (file)
@@ -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           \
index ba58ffc..6390697 100644 (file)
@@ -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 (file)
index 0000000..6caf7a0
--- /dev/null
@@ -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
+