;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages base))
(define-public pciutils
(package
(name "pciutils")
- (version "3.3.1")
+ (version "3.5.6")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/software/utils/pciutils/pciutils-"
- version
- ".tar.xz"))
+ version ".tar.xz"))
(sha256
(base32
- "1ag3skny1bamqil46dlppw8j1fp08spqa60fjygbxkg4fzdknjji"))))
+ "08dvsk1b5m1r7qqzsm849h4glq67mngf8zw7bg0102ff1jwywipk"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; There's no 'configure' script, just a raw makefile.
- (substitute* "Makefile"
- (("^PREFIX=.*$")
- (string-append "PREFIX := " (assoc-ref outputs "out")
- "\n"))
- (("^MANDIR:=.*$")
- ;; By default the thing tries to automatically
- ;; determine whether to use $prefix/man or
- ;; $prefix/share/man, and wrongly so.
- (string-append "MANDIR := " (assoc-ref outputs "out")
- "/share/man\n"))
- (("^SHARED=.*$")
- ;; Build libpciutils.so.
- "SHARED := yes\n")
- (("^ZLIB=.*$")
- ;; Ask for zlib support.
- "ZLIB := yes\n")))
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; There's no 'configure' script, just a raw makefile.
+ (substitute* "Makefile"
+ (("^PREFIX=.*$")
+ (string-append "PREFIX := " (assoc-ref outputs "out")
+ "\n"))
+ (("^MANDIR:=.*$")
+ ;; By default the thing tries to automatically
+ ;; determine whether to use $prefix/man or
+ ;; $prefix/share/man, and wrongly so.
+ (string-append "MANDIR := " (assoc-ref outputs "out")
+ "/share/man\n"))
- (alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Install the commands, library, and .pc files.
- (zero? (system* "make" "install" "install-lib")))
- %standard-phases))
+ (("^SHARED=.*$")
+ ;; Build libpciutils.so.
+ "SHARED := yes\n")
+ (("^ZLIB=.*$")
+ ;; Ask for zlib support, for 'pci.ids.gz' decompression.
+ "ZLIB := yes\n")
+
+ (("^IDSDIR=.*$")
+ ;; Installation directory of 'pci.ids.gz'.
+ "IDSDIR = $(SHAREDIR)/hwdata\n"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Install the commands, library, and .pc files.
+ (zero? (system* "make" "install" "install-lib")))))
;; Make sure programs have an RPATH so they can find libpciutils.so.
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
`(("which" ,which)
("pkg-config" ,pkg-config)))
(inputs
- ;; TODO: Add dependency on Linux libkmod.
- `(("zlib" ,zlib)))
- (home-page "http://mj.ucw.cz/sw/pciutils/")
+ `(("kmod" ,kmod)
+ ("zlib" ,zlib)))
+ (home-page "https://mj.ucw.cz/sw/pciutils/")
(synopsis "Programs for inspecting and manipulating PCI devices")
(description
"The PCI Utilities are a collection of programs for inspecting and
manipulating configuration of PCI devices, all based on a common portable
library libpci which offers access to the PCI configuration space on a variety
-of operating systems. This includes the 'lspci' and 'setpci' commands.")
+of operating systems. This includes the @command{lspci} and @command{setpci}
+commands.")
(license license:gpl2+)))