aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-07-16 16:01:49 +0200
committerLudovic Courtès <ludo@gnu.org>2021-07-24 16:23:23 +0200
commit425ccde6ae7bd4b448ee2fffd8c0b6b7bcbb543c (patch)
tree145a510a65828591121aa5a24f8e2aeca0986ed1
parentd76b2f82af738ef4c006fba9efd30c28e3d76736 (diff)
downloadguix-425ccde6ae7bd4b448ee2fffd8c0b6b7bcbb543c.tar
guix-425ccde6ae7bd4b448ee2fffd8c0b6b7bcbb543c.tar.gz
gnu: Use 'search-input-directory' when looking for C/C++ library headers.
* gnu/packages/arcan.scm (arcan)[arguments]: Use 'search-input-directory' for "include/libdrm" and "include/apr-1". * gnu/packages/bioinformatics.scm (sailfish): Likewise for jellyfish. * gnu/packages/boost.scm (boost-for-irods): Likewise for libcxx headers. * gnu/packages/cedille.scm (cedille): Likewise for IAL headers. * gnu/packages/compression.scm (snappy-with-clang6): Likewise for libcxx headers. * gnu/packages/cups.scm (hplip): Likewise for libusb headers. * gnu/packages/emulators.scm (pcsxr): Likewise for libcdio headers. * gnu/packages/game-development.scm (python2-renpy): Likewise for fribidi headers. * gnu/packages/games.scm (pokerth): Likewise for libircclient. * gnu/packages/guile-xyz.scm (guile-persist): Likewise for Guile. * gnu/packages/hurd.scm (hurd): Likewise for libtirpc. * gnu/packages/irods.scm (irods, irods-client-icommands): Likewise for libcxx, catch2, and nlohmann-json-cpp. * gnu/packages/julia.scm (julia): Use 'search-input-file' for libuv's errno.h. * gnu/packages/kde-pim.scm (kdepim-runtime): Use 'search-input-directory' for "include/KF5". (kmessagelib): Likewise. * gnu/packages/kde.scm (kdeconnect): Likewise. * gnu/packages/llvm.scm (clang-runtime-3.5): Likewise for libtirpc. * gnu/packages/mpi.scm (openmpi): Likewise for "include/infiniband". * gnu/packages/pumpio.scm (pumpa): Use 'search-input-file' for "tidy.h" and "aspell.h". * gnu/packages/radio.scm (dream): Use 'search-input-file' and 'search-input-directory' for pulseaudio, sndfile, etc. * gnu/packages/selinux.scm (policycoreutils): Likewise for PAM and libaudit. * gnu/packages/serialization.scm (avro-cpp-1.9-for-irods): Likewise for libcxx. * gnu/packages/sync.scm (nextcloud-client): Likewise for "include/KF5". * gnu/packages/video.scm (mkvtoolnix): Likewise for "include/gtest". (libopenshot): Likewise for "include/UnitTest++". * gnu/packages/virtualization.scm (criu): Likewise for libnl3 and for protobuf file.
-rw-r--r--gnu/packages/arcan.scm6
-rw-r--r--gnu/packages/bioinformatics.scm5
-rw-r--r--gnu/packages/boost.scm3
-rw-r--r--gnu/packages/cedille.scm3
-rw-r--r--gnu/packages/compression.scm4
-rw-r--r--gnu/packages/cups.scm5
-rw-r--r--gnu/packages/emulators.scm3
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/games.scm3
-rw-r--r--gnu/packages/guile-xyz.scm2
-rw-r--r--gnu/packages/hurd.scm9
-rw-r--r--gnu/packages/irods.scm17
-rw-r--r--gnu/packages/julia.scm4
-rw-r--r--gnu/packages/kde-pim.scm14
-rw-r--r--gnu/packages/kde.scm10
-rw-r--r--gnu/packages/llvm.scm13
-rw-r--r--gnu/packages/mpi.scm9
-rw-r--r--gnu/packages/pretty-print.scm5
-rw-r--r--gnu/packages/pumpio.scm6
-rw-r--r--gnu/packages/radio.scm18
-rw-r--r--gnu/packages/selinux.scm4
-rw-r--r--gnu/packages/serialization.scm3
-rw-r--r--gnu/packages/sync.scm5
-rw-r--r--gnu/packages/video.scm11
-rw-r--r--gnu/packages/virtualization.scm12
25 files changed, 73 insertions, 105 deletions
diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm
index a84bf0d8dd..0ab157b525 100644
--- a/gnu/packages/arcan.scm
+++ b/gnu/packages/arcan.scm
@@ -75,12 +75,10 @@
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/platform/cmake/modules/FindGBMKMS.cmake"
(("/usr/local/include/libdrm")
- (string-append (assoc-ref inputs "libdrm")
- "/include/libdrm")))
+ (search-input-directory inputs "include/libdrm")))
(substitute* "src/platform/cmake/modules/FindAPR.cmake"
(("/usr/local/apr/include/apr-1")
- (string-append (assoc-ref inputs "apr")
- "/include/apr-1")))
+ (search-input-directory inputs "include/apr-1")))
#t))
;; Normally, it tries to fetch patched openal with git
;; but copying files manually in the right place seems to work too.
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6bc7018a05..1d359f5989 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -9477,8 +9477,9 @@ dependency like SeqAn.")
(("#include \"jellyfish/config.h\"") ""))
(substitute* "src/CMakeLists.txt"
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
- (string-append (assoc-ref inputs "jellyfish")
- "/include/jellyfish-" ,(package-version jellyfish)))
+ (search-input-directory
+ inputs
+ (string-append "/include/jellyfish-" ,(package-version jellyfish))))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
(string-append (assoc-ref inputs "jellyfish")
"/lib/libjellyfish-2.0.a"))
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 14b6734ed7..8b6bea30c4 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -238,8 +238,7 @@ across a broad spectrum of applications.")
(let ((gcc (assoc-ref (or native-inputs inputs) "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
- (cons (string-append (assoc-ref inputs "libcxx")
- "/include/c++/v1")
+ (cons (search-input-directory inputs "/include/c++/v1")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm
index d3dd576323..decaf25605 100644
--- a/gnu/packages/cedille.scm
+++ b/gnu/packages/cedille.scm
@@ -89,8 +89,7 @@
(add-after 'unpack 'copy-ial
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively
- (string-append (assoc-ref inputs "agda-ial")
- "/include/agda/ial")
+ (search-input-directory inputs "/include/agda/ial")
"ial")
;; Ambiguous module if main is included from ial
(delete-file "ial/main.agda")
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 6341fcc547..c6ddfb4333 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1277,8 +1277,8 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(let ((gcc (assoc-ref (or native-inputs inputs) "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
- (cons* (string-append (assoc-ref inputs "libcxx+libcxxabi")
- "/include/c++/v1")
+ (cons* (search-input-directory inputs
+ "/include/c++/v1")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index b2c7b1c5d4..0cec211b1b 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
@@ -600,8 +600,7 @@ should only be used as part of the Guix cups-pk-helper service.")
;; FIXME Use beginning-of-word in regexp.
(("[[:blank:]]plugin\\.py[[:blank:]]") " ")
(("/usr/include/libusb-1.0")
- (string-append (assoc-ref inputs "libusb")
- "/include/libusb-1.0"))
+ (search-input-directory inputs "/include/libusb-1.0"))
(("hplip_statedir =.*$")
;; Don't bail out while trying to create
;; /var/lib/hplip. We can safely change its value
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 68ec6f3254..63a91f0365 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -2053,8 +2053,7 @@ emulator.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/FindCdio.cmake"
(("/usr/include/cdio")
- (string-append (assoc-ref inputs "libcdio") "/include/cdio")))
- #t))
+ (search-input-directory inputs "/include/cdio")))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 32172b2db0..17b52e2694 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1199,9 +1199,7 @@ developed mainly for Ren'py.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "module/setup.py"
(("/usr/include/fribidi")
- (string-append (assoc-ref inputs "fribidi")
- "/include/fribidi")))
- #t))
+ (search-input-directory inputs "include/fribidi")))))
(add-after 'set-paths 'set-build-vars
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(setenv "RENPY_CYTHON"
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 857bf5e431..8362300bef 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -12256,8 +12256,7 @@ game.") ;thanks to Debian for description
(("/opt/gsasl")
(assoc-ref inputs "gsasl"))
(("\\$\\$\\{PREFIX\\}/include/libircclient")
- (string-append (assoc-ref inputs "libircclient")
- "/include/libircclient"))
+ (search-input-directory inputs "/include/libircclient"))
(("LIB_DIRS =")
(string-append "LIB_DIRS = "
(assoc-ref inputs "boost") "/lib")))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index e451f86db0..6c834698b8 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2912,7 +2912,7 @@ chunks can be expressions as well as simple tokens.")
(("/usr/local/lib/guile")
(string-append (assoc-ref outputs "out") "/lib/guile"))
(("/usr/local/include/guile")
- (string-append (assoc-ref inputs "guile") "/include/guile"))
+ (search-input-directory inputs "/include/guile"))
(("-L/usr/local/lib")
(string-append "-L" (assoc-ref inputs "guile") "/lib")))
#t))
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 222ddbce65..7a1827aa8b 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2018, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -374,9 +374,10 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (var)
(setenv var
- (string-append (assoc-ref inputs "libtirpc")
- "/include/tirpc:"
- (or (getenv var) ""))))
+ (string-append
+ (search-input-directory inputs
+ "include/tirpc")
+ ":" (or (getenv var) ""))))
'("CROSS_C_INCLUDE_PATH" "C_INCLUDE_PATH"
"CROSS_CPATH" "CPATH"))
#t))
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index bb0263682c..e82888e7ae 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -126,12 +126,9 @@
(let ((gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
- (cons* (string-append (assoc-ref inputs "libcxx+libcxxabi")
- "/include/c++/v1")
- (string-append (assoc-ref inputs "catch2")
- "/include/catch2")
- (string-append (assoc-ref inputs "json")
- "/include/nlohmann")
+ (cons* (search-input-directory inputs "/include/c++/v1")
+ (search-input-directory inputs "/include/catch2")
+ (search-input-directory inputs "/include/nlohmann")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
@@ -231,10 +228,10 @@ stored.")
(let ((gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
- (cons* (string-append (assoc-ref inputs "libcxx+libcxxabi")
- "/include/c++/v1")
- (string-append (assoc-ref inputs "json")
- "/include/nlohmann")
+ (cons* (search-input-directory inputs
+ "include/c++/v1")
+ (search-input-directory inputs
+ "include/nlohmann")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index abefc388bc..c637c36f61 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -312,9 +312,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(substitute* "base/Makefile"
(("\\$\\(build_includedir\\)/uv/errno.h")
- (string-append (assoc-ref inputs "libuv")
- "/include/uv/errno.h")))
- #t))
+ (search-input-file inputs "/include/uv/errno.h")))))
(add-before 'build 'replace-default-shell
(lambda _
(substitute* "base/client.jl"
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index db73941b42..0c7fa77b1e 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -757,10 +757,9 @@ for KDE PIM.")
;; found during one of the compilation steps without
;; this hack.
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "akonadi-mime")
- "/include/KF5:"
- (or (getenv "CPLUS_INCLUDE_PATH") "")))
- #t)))))
+ (string-append
+ (search-input-directory inputs "include/KF5")
+ ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
(home-page "https://invent.kde.org/pim/kdepim-runtime")
(synopsis "Runtime components for Akonadi KDE")
(description "This package contains Akonadi agents written using KDE
@@ -1369,10 +1368,9 @@ using a Qt/KMime C++ API.")
;; FIXME: One of the compilation steps fail to find
;; <Libkdepim/MultiplyingLine> without this hack.
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "libkdepim")
- "/include/KF5:"
- (or (getenv "CPLUS_INCLUDE_PATH") "")))
- #t)))))
+ (string-append
+ (search-input-directory inputs "include/KF5")
+ ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
(home-page "https://invent.kde.org/pim/messagelib")
(synopsis "KDE PIM messaging libraries")
(description "This package provides several libraries for messages,
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index aff3ed51ed..3fa15f9bf5 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
@@ -721,11 +721,9 @@ different notification systems.")
;; FIXME: <kcmutils_version.h> is not found during one
;; of the compilation steps without this hack.
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "kcmutils")
- "/include/KF5:"
- (or (getenv "CPLUS_INCLUDE_PATH")
- "")))
- #t)))
+ (string-append
+ (search-input-directory inputs "include/KF5")
+ ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))))))
#:tests? #f)) ; tests fail hard in our build environment
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 38da28150b..f39a3ad49d 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -855,14 +855,13 @@ of programming tools as well as libraries with equivalent functionality.")
(add-after 'unpack 'find-rpc-includes
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
- (string-append (assoc-ref inputs "libtirpc")
- "/include/tirpc/:"
- (or (getenv "CPATH") "")))
+ (string-append
+ (search-input-directory inputs "/include/tirpc")
+ ":" (or (getenv "CPATH") "")))
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "libtirpc")
- "/include/tirpc/:"
- (or (getenv "CPLUS_INCLUDE_PATH") "")))
- #t))))))
+ (string-append
+ (search-input-directory inputs "/include/tirpc")
+ ":" (or (getenv "CPLUS_INCLUDE_PATH") "")))))))))
(inputs
`(("libtirpc" ,libtirpc)
("llvm" ,llvm-3.5))))))
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 2011cbcd29..af1de10377 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -263,12 +263,11 @@ bind processes, and much more.")
(add-after 'unpack 'find-opensm-headers
(lambda* (#:key inputs #:allow-other-keys)
(setenv "C_INCLUDE_PATH"
- (string-append (assoc-ref inputs "opensm")
- "/include/infiniband"))
+ (search-input-directory inputs
+ "/include/infiniband"))
(setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "opensm")
- "/include/infiniband"))
- #t))
+ (search-input-directory inputs
+ "/include/infiniband"))))
(add-before 'build 'remove-absolute
(lambda _
;; Remove compiler absolute file names (OPAL_FC_ABSOLUTE
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 1fc1441052..d7a5ddc8e5 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
@@ -217,8 +217,7 @@ to @code{IOStreams}.")
(let ((gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
- (cons (string-append (assoc-ref inputs "libcxx")
- "/include/c++/v1")
+ (cons (search-input-directory inputs "/include/c++/v1")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
diff --git a/gnu/packages/pumpio.scm b/gnu/packages/pumpio.scm
index f8a60af760..1cdb2fdd88 100644
--- a/gnu/packages/pumpio.scm
+++ b/gnu/packages/pumpio.scm
@@ -50,11 +50,9 @@
;; Fix dependency tests.
(substitute* "pumpa.pro"
(("/usr/include/tidy\\.h")
- (string-append (assoc-ref inputs "tidy")
- "/include/tidy.h"))
+ (search-input-file inputs "/include/tidy.h"))
(("/usr/include/aspell.h")
- (string-append (assoc-ref inputs "aspell")
- "/include/aspell.h")))
+ (search-input-file inputs "/include/aspell.h")))
;; Run qmake with proper installation prefix.
(let ((prefix (string-append "PREFIX="
(assoc-ref outputs "out"))))
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 6947c50520..5aa27bf511 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1786,23 +1786,17 @@ Compatible hardware/software:
(assoc-ref outputs "out")
"/share/man/man1"))
(("/usr/include/pulse/")
- (string-append (assoc-ref inputs "pulseaudio")
- "/include/pulse/"))
+ (search-input-directory inputs "include/pulse"))
(("/usr/include/sndfile\\.h")
- (string-append (assoc-ref inputs "libsndfile")
- "/include/sndfile.h"))
+ (search-input-file inputs "/include/sndfile.h"))
(("/usr/include/opus/")
- (string-append (assoc-ref inputs "opus")
- "/include/opus/"))
+ (search-input-directory inputs "include/opus"))
(("/usr/include/speex/")
- (string-append (assoc-ref inputs "speexdsp")
- "/include/speex/"))
+ (search-input-directory inputs "include/speex"))
(("/usr/include/qwt/")
- (string-append (assoc-ref inputs "qwt")
- "/include/qwt/"))
+ (search-input-directory inputs "include/qwt"))
(("\\$\\$OUT_PWD/include/neaacdec\\.h")
- (string-append (assoc-ref inputs "faad2")
- "/include/neaacdec.h")))))
+ (search-input-file inputs "/include/neaacdec.h")))))
(replace 'configure
(lambda _
(invoke "qmake"))))))
diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm
index 41b8fdcbe1..e7e6289d1c 100644
--- a/gnu/packages/selinux.scm
+++ b/gnu/packages/selinux.scm
@@ -397,9 +397,9 @@ tools, and libraries designed to facilitate SELinux policy analysis.")
"setfiles/Makefile"
"run_init/Makefile")
(("/usr(/include/security/pam_appl.h)" _ file)
- (string-append (assoc-ref inputs "pam") file))
+ (search-input-file inputs file))
(("/usr(/include/libaudit.h)" _ file)
- (string-append (assoc-ref inputs "audit") file))))))))
+ (search-input-file inputs file))))))))
(inputs
`(("audit" ,audit)
("pam" ,linux-pam)
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 95c7dcee63..7fd083f93d 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -107,8 +107,7 @@ implement RPC protocols.")
(let ((gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
- (cons* (string-append (assoc-ref inputs "libcxx+libcxxabi")
- "/include/c++/v1")
+ (cons* (search-input-directory inputs "include/c++/v1")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index c85b4f801c..d36e200def 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -156,9 +156,8 @@
(("ON CACHE") "OFF CACHE"))
(substitute* "src/gui/CMakeLists.txt"
(("@kwidgetsaddons@")
- (string-append (assoc-ref inputs "kwidgetsaddons")
- "/include/KF5/KWidgetsAddons/")))
- #t))
+ (search-input-directory inputs
+ "/include/KF5/KWidgetsAddons/")))))
(add-before 'check 'pre-check
(lambda _
;; Tests write to $HOME.
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 3f7d34ef59..b2bb7b8d3b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -977,10 +977,8 @@ H.264 (MPEG-4 AVC) video streams.")
#t)))
(add-before 'configure 'add-googletest
(lambda* (#:key inputs #:allow-other-keys)
- (symlink
- (string-append (assoc-ref inputs "googletest")
- "/include/gtest") "lib/gtest")
- #t))
+ (symlink (search-input-file inputs "/include/gtest")
+ "lib/gtest")))
(replace 'build
(lambda _
(let ((-j (list "-j" (number->string (parallel-job-count)))))
@@ -4597,9 +4595,8 @@ create smoother and stable videos.")
(setenv "ZMQDIR"
(assoc-ref inputs "zeromq"))
(setenv "UNITTEST_DIR"
- (string-append (assoc-ref inputs "unittest++")
- "/include/UnitTest++"))
- #t)))))
+ (search-input-directory inputs
+ "include/UnitTest++")))))))
(home-page "https://openshot.org")
(synopsis "Video-editing, animation, and playback library")
(description "OpenShot Library (libopenshot) is a powerful C++ video
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 6a49f0c40a..c3459ebb15 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1347,10 +1347,9 @@ domains, their live performance and resource utilization statistics.")
(lambda* (#:key inputs #:allow-other-keys)
;; The includes for libnl are located in a sub-directory.
(setenv "C_INCLUDE_PATH"
- (string-append (assoc-ref inputs "libnl")
- "/include/libnl3:"
- (or (getenv "C_INCLUDE_PATH") "")))
- #t))
+ (string-append
+ (search-input-directory inputs "/include/libnl3")
+ ":" (or (getenv "C_INCLUDE_PATH") "")))))
(add-after 'configure 'fix-documentation
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "Documentation/Makefile"
@@ -1381,8 +1380,9 @@ domains, their live performance and resource utilization statistics.")
;; /usr/include/..., which obviously does not exist.
(let* ((file "google/protobuf/descriptor.proto")
(target (string-append "images/" file))
- (source (string-append (assoc-ref inputs "protobuf")
- "/include/" file)))
+ (source (search-input-file
+ inputs
+ (string-append "include/" file))))
(delete-file target)
(symlink source target)
#t)))