aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/linux.scm52
-rw-r--r--gnu/packages/patches/eudev-rules-directory.patch18
2 files changed, 15 insertions, 55 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4ee42349f8..474e914c13 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1568,7 +1568,7 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "2.1.1")
+ (version "3.1.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1576,55 +1576,15 @@ from the module-init-tools project.")
version ".tar.gz"))
(sha256
(base32
- "0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva"))
- (patches (list (search-patch "eudev-rules-directory.patch")))
- (modules '((guix build utils)))
- (snippet
- ;; 'configure' checks uses <linux/btrfs.h> as an indication of
- ;; whether Linux headers are available, but it doesn't actually
- ;; use it, and our 'linux-libre-headers' package doesn't
- ;; provide it. So just remove that.
- '(substitute* "configure"
- (("linux/btrfs\\.h")
- "")))))
+ "0akg9gcc3c2p56xbhlvbybqavcprly5q0bvk655zwl6d62j8an7p"))
+ (patches (list (search-patch "eudev-rules-directory.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
- ("gperf" ,gperf)
- ("glib" ,glib "bin") ; glib-genmarshal, etc.
- ("perl" ,perl) ; for the tests
- ("python" ,python-2))) ; ditto
+ ("perl" ,perl)
+ ("gperf" ,gperf)))
(inputs
- `(("kmod" ,kmod)
- ("pciutils" ,pciutils)
- ("usbutils" ,usbutils)
- ("util-linux" ,util-linux)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
- (arguments
- `(#:configure-flags (list "--enable-libkmod"
-
- (string-append
- "--with-pci-ids-path="
- (assoc-ref %build-inputs "pciutils")
- "/share/pci.ids.gz")
-
- "--with-firmware-path=/no/firmware"
-
- ;; Work around undefined reference to
- ;; 'mq_getattr' in sc-daemon.c.
- "LDFLAGS=-lrt")
- #:phases
- (alist-cons-before
- 'build 'pre-build
- ;; The program 'g-ir-scanner' (part of the package
- ;; 'gobject-introspection'), to generate .gir files, makes some
- ;; library pre-processing. During that phase it looks for the C
- ;; compiler as either 'cc' or as defined by the environment variable
- ;; 'CC' (with code in 'giscanner/dumper.py').
- (lambda* _
- (setenv "CC" "gcc"))
- %standard-phases)))
+ `(("kmod" ,kmod)))
(home-page "http://www.gentoo.org/proj/en/eudev/")
(synopsis "Userspace device management")
(description "Udev is a daemon which dynamically creates and removes
diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch
index 9173e22f76..54fc01c6d5 100644
--- a/gnu/packages/patches/eudev-rules-directory.patch
+++ b/gnu/packages/patches/eudev-rules-directory.patch
@@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed
the search path to be customized, but eudev no longer has this, hence
this hack.
---- eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:21:59.615980259 +0200
-+++ eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:24:13.839976335 +0200
-@@ -46,15 +46,11 @@
+--- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800
++++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800
+@@ -47,15 +47,11 @@
};
};
@@ -14,23 +14,23 @@ this hack.
+static const char* rules_dirs[] = {
UDEV_CONF_DIR "/rules.d",
UDEV_RULES_DIR,
-- "/run/udev/rules.d",
+- UDEV_ROOT_RUN "/udev/rules.d",
UDEV_LIBEXEC_DIR "/rules.d",
-#ifdef HAVE_SPLIT_USR
- "/lib/udev/rules.d",
- "/usr/lib/udev/rules.d",
-#endif
-+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
++ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
NULL};
struct udev_rules {
-@@ -1637,6 +1633,9 @@
+@@ -1704,6 +1700,9 @@
udev_rules_check_timestamp(rules);
-+ /* Allow the user to specify an additional rules directory. */
-+ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY");
++ /* Allow the user to specify an additional rules directory. */
++ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY");
+
r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs);
if (r < 0) {
- log_error("failed to enumerate rules files: %s", strerror(-r));
+ log_error_errno(r, "failed to enumerate rules files: %m");