summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-12-09 13:55:46 +0100
committerLudovic Courtès <ludo@gnu.org>2020-12-09 14:13:33 +0100
commit3d85c3ec652feb22824f355538b51e6955ded361 (patch)
tree660b1db6cfa7ceb423c3d718b9843419f3a48908
parent69a0440a02945b3fb8d156b7f9d96628059d5f67 (diff)
downloadguix-patches-3d85c3ec652feb22824f355538b51e6955ded361.tar
guix-patches-3d85c3ec652feb22824f355538b51e6955ded361.tar.gz
gnu: pciutils: Fix compilation error on GNU/Hurd.
* gnu/packages/patches/pciutils-hurd-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/pciutils.scm (pciutils)[arguments]: Add 'apply-hurd-patch' phase when (hurd-target?) is true. [inputs]: Add "hurd-patch" entry when (hurd-target?) is true.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/pciutils-hurd-fix.patch23
-rw-r--r--gnu/packages/pciutils.scm15
3 files changed, 37 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 90df6f3966..67482b8226 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1435,6 +1435,7 @@ dist_patch_DATA = \
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pango-skip-libthai-test.patch \
%D%/packages/patches/pciutils-hurd-configure.patch \
+ %D%/packages/patches/pciutils-hurd-fix.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/samba-fix-fcntl-hint-detection.patch \
diff --git a/gnu/packages/patches/pciutils-hurd-fix.patch b/gnu/packages/patches/pciutils-hurd-fix.patch
new file mode 100644
index 0000000000..f1979d4352
--- /dev/null
+++ b/gnu/packages/patches/pciutils-hurd-fix.patch
@@ -0,0 +1,23 @@
+Fix a build error on GNU/Hurd for pciutils 3.7.0.
+
+commit 053cf6c8b2acafadf828912828336d90fe9b8696
+Author: Martin Mares <mj@ucw.cz>
+Date: Sun May 31 11:53:28 2020 +0200
+
+ HURD backend should compile again
+
+ Fixes a bug introduced by commit 82c06b47dea5a38075ce9d56f743360bc47b4c78.
+
+diff --git a/lib/hurd.c b/lib/hurd.c
+index 7b3b2ae..ccd92f6 100644
+--- a/lib/hurd.c
++++ b/lib/hurd.c
+@@ -307,7 +307,6 @@ hurd_fill_regions(struct pci_dev *d)
+ d->base_addr[i] |= regions[i].is_64 << 2;
+ d->base_addr[i] |= regions[i].is_prefetchable << 3;
+
+- if (flags & PCI_FILL_SIZES)
+- d->size[i] = regions[i].size;
++ d->size[i] = regions[i].size;
+ }
+ }
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index a5ed121c85..d7d224b292 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2017, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -92,7 +92,15 @@
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the commands, library, and .pc files.
- (invoke "make" "install" "install-lib"))))
+ (invoke "make" "install" "install-lib")))
+
+ ,@(if (hurd-target?)
+ '((add-after 'unpack 'apply-hurd-patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch (assoc-ref inputs "hurd-patch")))
+ (invoke "patch" "-p1" "--batch" "-i"
+ patch)))))
+ '()))
;; Make sure programs have an RPATH so they can find libpciutils.so.
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
@@ -109,6 +117,9 @@
(package-supported-systems kmod))
`(("kmod" ,kmod))
'())
+ ,@(if (hurd-target?)
+ `(("hurd-patch" ,(search-patch "pciutils-hurd-fix.patch")))
+ '())
("zlib" ,zlib)))
(home-page "https://mj.ucw.cz/sw/pciutils/")
(synopsis "Programs for inspecting and manipulating PCI devices")