From d7d42d6b242518b5bc664d7e2644a2a78d15225a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 7 Jun 2014 21:27:30 +0200 Subject: gnu: Add udev. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- gnu-system.am | 1 + gnu/packages/linux.scm | 46 +++++++++++++++++++++++++++++ gnu/packages/patches/udev-gir-libtool.patch | 17 +++++++++++ 3 files changed, 64 insertions(+) create mode 100644 gnu/packages/patches/udev-gir-libtool.patch 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 $@ \ -- cgit v1.2.3