Leo Famulari writes:
> The update is not necessary to fix the build failure, but we might as
> well update if we are rebuilding eudev anyways.
Thanks! These patches LGTM.
> From 65c2a3f8edb1d8ef9dd32889acf833e5561329fa Mon Sep 17 00:00:00 2001
> From: Leo Famulari
> Date: Sat, 25 Feb 2017 21:45:44 -0500
> Subject: [PATCH 1/2] gnu: eudev: Update to 3.2.1.
>
> * gnu/packages/linux.scm (eudev): Update to 3.2.1.
> ---
> gnu/packages/linux.scm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 03b7e295d..b3fd9d260 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -1732,7 +1732,7 @@ from the module-init-tools project.")
>;; The post-systemd fork, maintained by Gentoo.
>(package
> (name "eudev")
> -(version "3.2")
> +(version "3.2.1")
> (source (origin
>(method url-fetch)
>(uri (string-append
> @@ -1740,7 +1740,7 @@ from the module-init-tools project.")
> version ".tar.gz"))
>(sha256
> (base32
> -"099w62ncq78nxpxizf910mx18hc8x4qvzw3azjd00fir89wmyjnq"))
> +"06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp"))
>(patches (search-patches "eudev-rules-directory.patch"
> (build-system gnu-build-system)
> (native-inputs
> --
> 2.11.1
>
> From da6db68dae4bb2573ee75f304c7d61b5b88089e4 Mon Sep 17 00:00:00 2001
> From: Leo Famulari
> Date: Sat, 25 Feb 2017 21:59:09 -0500
> Subject: [PATCH 2/2] gnu: eudev: Fix build failure caused by conflicting
> function type declaration.
>
> * gnu/packages/patches/eudev-conflicting-declaration.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/linux.scm (eudev)[source]: Use it.
> ---
> gnu/local.mk | 1 +
> gnu/packages/linux.scm | 3 ++-
> .../patches/eudev-conflicting-declaration.patch| 31
> ++
> 3 files changed, 34 insertions(+), 1 deletion(-)
> create mode 100644 gnu/packages/patches/eudev-conflicting-declaration.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 3623bbb49..6f7bed9d1 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -541,6 +541,7 @@ dist_patch_DATA =
> \
>%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
>%D%/packages/patches/emacs-source-date-epoch.patch \
>%D%/packages/patches/eudev-rules-directory.patch \
> + %D%/packages/patches/eudev-conflicting-declaration.patch \
>%D%/packages/patches/evilwm-lost-focus-bug.patch \
>%D%/packages/patches/expat-CVE-2016-0718-fix-regression.patch \
>%D%/packages/patches/fastcap-mulGlobal.patch \
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index b3fd9d260..fe72f98b7 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -1741,7 +1741,8 @@ from the module-init-tools project.")
>(sha256
> (base32
> "06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp"))
> - (patches (search-patches "eudev-rules-directory.patch"
> + (patches (search-patches "eudev-rules-directory.patch"
> +
> "eudev-conflicting-declaration.patch"
> (build-system gnu-build-system)
> (native-inputs
> `(("pkg-config" ,pkg-config)
> diff --git a/gnu/packages/patches/eudev-conflicting-declaration.patch
> b/gnu/packages/patches/eudev-conflicting-declaration.patch
> new file mode 100644
> index 0..f5399e20d
> --- /dev/null
> +++ b/gnu/packages/patches/eudev-conflicting-declaration.patch
> @@ -0,0 +1,31 @@
> +Fix build failure due to conflicting declaration of
> +keyboard_lookup_key() in gperf-3.1:
> +
> +https://bugs.gentoo.org/show_bug.cgi?id=604864
> +
> +Patch copied from upstream source repository:
> +
> +https://github.com/gentoo/eudev/commit/5bab4d8de0dcbb8e2e7d4d5125b4aea1652a0d60
> +
> +From 5bab4d8de0dcbb8e2e7d4d5125b4aea1652a0d60 Mon Sep 17 00:00:00 2001
> +From: "Anthony G. Basile"
> +Date: Thu, 5 Jan 2017 16:21:17 -0500
> +Subject: [PATCH] src/udev/udev-builtin-keyboard.c: fix build with gperf 3.1
> +
> +Signed-off-by: Anthony G. Basile
> +---
> + src/udev/udev-builtin-keyboard.c | 1 -
> + 1 file changed, 1 deletion(-)
> +
> +diff --git a/src/udev/udev-builtin-keyboard.c
> b/src/udev/udev-builtin-keyboard.c
> +index 73171c3..fad3520 100644
> +--- a/src/udev/udev-builtin-keyboard.c
> b/src/udev/udev-builtin-keyboard.c
> +@@ -28,7 +28,6 @@
> +
> + #include "udev.h"
> +
> +-static const struct key *keyboard_lookup_key(const char *str, unsigned len);
> + #include "keyboard-keys-from-name.h"
> + #include