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>
This commit is contained in:
Andreas Enge 2014-06-07 21:27:30 +02:00 committed by Ludovic Courtès
parent e062d54240
commit d7d42d6b24
3 changed files with 64 additions and 0 deletions

@ -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 \

@ -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+

@ -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 $@ \