From 42422cc2f1c9c05c7bfb075a8bc360b8bb7eaee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 9 May 2014 15:23:41 +0200 Subject: [PATCH] gnu: Add pciutils. * gnu/packages/pciutils.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/pciutils.scm | 91 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 gnu/packages/pciutils.scm diff --git a/gnu-system.am b/gnu-system.am index b4aec2549e..fa8f6f7ec5 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -173,6 +173,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/parallel.scm \ gnu/packages/parted.scm \ gnu/packages/patchutils.scm \ + gnu/packages/pciutils.scm \ gnu/packages/pcre.scm \ gnu/packages/pdf.scm \ gnu/packages/pem.scm \ diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm new file mode 100644 index 0000000000..2b887f16d8 --- /dev/null +++ b/gnu/packages/pciutils.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages pciutils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages compression) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages which)) + +(define-public pciutils + (package + (name "pciutils") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kernel.org/software/utils/pciutils/pciutils-" + version + ".tar.bz2")) + (sha256 + (base32 + "0d9as9jzjjg5c1nwf58z1y1i7rf9fqxmww1civckhcvcn0xr85mq")))) + (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"))) + + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Install the commands, library, and .pc files. + (zero? (system* "make" "install" "install-lib"))) + %standard-phases)) + + ;; Make sure programs have an RPATH so they can find libpciutils.so. + #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + + ;; No test suite. + #:tests? #f)) + (native-inputs + `(("which" ,which) + ("pkg-config" ,pkg-config))) + (inputs + ;; TODO: Add dependency on Linux libkmod. + `(("zlib" ,zlib))) + (home-page "http://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.") + (license license:gpl2+)))