summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrendan Tildesley <mail@brendan.scot>2022-03-10 20:31:42 +1100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-03-22 17:54:07 -0400
commit387a9772c2571d4375d6c3682c7572d12e7ec5b2 (patch)
treee2fedcaeb3e2981286b45ebea6cec51b5d4afed8
parentdbc5b51cb90d74773122a287d9183982b97448e3 (diff)
downloadguix-387a9772c2571d4375d6c3682c7572d12e7ec5b2.tar.gz
gnu: pciutils: Use newer pci.ids file from hwdata.
* gnu/packages/pciutils.scm (pciutils)[phases]{unbundle-pci.ids}: New phase.
[configure]: Adjust Makefile to not install the update script and its man page.
[native-inputs]{hwdata:pci}: New native input.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-rw-r--r--gnu/packages/pciutils.scm22
1 files changed, 17 insertions, 5 deletions
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index 34abfb3c2d..9f6d33405b 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -93,6 +93,11 @@ Each database is contained in a specific package output, such as the
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'unbundle-pci.ids
+           (lambda* (#:key native-inputs inputs #:allow-other-keys)
+             (copy-file (search-input-file (or native-inputs inputs)
+                                           "share/hwdata/pci.ids")
+                        "pci.ids")))
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys)
              ;; There's no 'configure' script, just a raw makefile.
@@ -115,22 +120,29 @@ Each database is contained in a specific package output, such as the
                 (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.
+                ;; 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, for 'pci.ids.gz' decompression.
                 "ZLIB := yes\n")
 
                (("^IDSDIR=.*$")
                 ;; Installation directory of 'pci.ids.gz'.
-                "IDSDIR = $(SHAREDIR)/hwdata\n"))))
+                "IDSDIR = $(SHAREDIR)/hwdata\n")
+
+               ;; Do not install the update script nor its man page.
+               ((".*INSTALL.*update-pciids .*") "")
+               (("update-pciids update-pciids.8 ") "")
+               (("(.*INSTALL.*)update-pciids.8(.*)" _ head tail)
+                (string-append head tail)))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Install the commands, library, and .pc files.
@@ -151,7 +163,7 @@ Each database is contained in a specific package output, such as the
        ;; No test suite.
        #:tests? #f))
     (native-inputs
-     (list which pkg-config))
+     (list `(,hwdata "pci") pkg-config which))
     (inputs
      `(,@(if (not (hurd-target?))
              `(("kmod" ,kmod))