aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2014-06-07 21:27:30 +0200
committerLudovic Courtès <ludo@gnu.org>2014-06-22 15:02:20 +0200
commitd7d42d6b242518b5bc664d7e2644a2a78d15225a (patch)
tree1072faeaa25a2eab004d6fdecd1d6cbf821043d4
parente062d54240af140393dc8368b27611d31fb29441 (diff)
downloadpatches-d7d42d6b242518b5bc664d7e2644a2a78d15225a.tar
patches-d7d42d6b242518b5bc664d7e2644a2a78d15225a.tar.gz
gnu: Add udev.
* gnu/packages/linux.scm (udev): New variable. * gnu/packages/patches/udev-gir-libtool.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/linux.scm46
-rw-r--r--gnu/packages/patches/udev-gir-libtool.patch17
3 files changed, 64 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index bf90b8e77f..eb3c55d180 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -363,6 +363,7 @@ dist_patch_DATA = \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
+ gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/valgrind-glibc.patch \
gnu/packages/patches/vpnc-script.patch \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1a3e5a6d8d..9c5d59ce70 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -27,8 +27,10 @@
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages libusb)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pciutils)
#:use-module (gnu packages bdb)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -1222,3 +1224,47 @@ These tools are designed on top of libkmod, a library that is shipped with
kmod. The aim is to be compatible with tools, configurations and indices
from the module-init-tools project.")
(license gpl2+))) ; library under lgpl2.1+
+
+(define-public udev
+ (package
+ (name "udev")
+ (version "182")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/linux/utils/kernel/hotplug/udev-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1awp7p07gi083w0dwqhhbbas68a7fx2sbm1yf1ip2jwf7cpqkf5d"))
+ (patches (list (search-patch "udev-gir-libtool.patch")))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags (list (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")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gperf" ,gperf)
+ ("perl" ,perl) ; for the tests
+ ("python" ,python-2))) ; ditto
+ (inputs
+ `(("kmod" ,kmod)
+ ("pciutils" ,pciutils)
+ ("usbutils" ,usbutils)
+ ("util-linux" ,util-linux)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)))
+ (home-page "http://www.freedesktop.org/software/systemd/libudev/")
+ (synopsis "Userspace device management")
+ (description "Udev is a daemon which dynamically creates and removes
+device nodes from /dev/, handles hotplug events and loads drivers at boot
+time.")
+ (license gpl2+))) ; libudev is under lgpl2.1+
diff --git a/gnu/packages/patches/udev-gir-libtool.patch b/gnu/packages/patches/udev-gir-libtool.patch
new file mode 100644
index 0000000000..7504f87eb8
--- /dev/null
+++ b/gnu/packages/patches/udev-gir-libtool.patch
@@ -0,0 +1,17 @@
+Without this patch, 'ld' as invoked by 'g-ir-scanner' fails to find -lgudev-1.0
+This is because libtool puts it in $(top_builddir)/.libs.
+
+This patch forces 'g-ir-scanner' to use libtool, which enables it to find
+libgudev-1.0.la.
+
+--- udev-182/Makefile.in 2014-06-22 14:55:07.000000000 +0200
++++ udev-182/Makefile.in 2014-06-22 14:55:15.000000000 +0200
+@@ -3622,7 +3622,7 @@ test-sys-distclean:
+ @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --namespace GUdev \
+ @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --nsversion=1.0 \
+ @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --include=GObject-2.0 \
+-@ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --library=gudev-1.0 \
++@ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --library=gudev-1.0 --libtool=$(top_builddir)/libtool \
+ @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/src \
+ @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/src/gudev \
+ @ENABLE_GUDEV_TRUE@@ENABLE_INTROSPECTION_TRUE@ --output $@ \