From 19af6d94340ce3b5655dab30eaa295661dbe4e89 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 22 Mar 2023 09:31:20 -0400 Subject: gnu: wireshark: Re-instate the validate-runpath phase. * gnu/packages/networking.scm (wireshark) [arguments]: Use gexps. Add the CMAKE_MODULE_LINKER_FLAGS CMake variable to the configure flags. --- gnu/packages/networking.scm | 46 ++++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 26 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 0c55f14077..26451c91a9 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018, 2020-2022 Marius Bakke ;;; Copyright © 2018, 2020, 2021, 2022 Oleg Pykhalov ;;; Copyright © 2018 Pierre Neidhardt -;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019 Vasile Dumitrascu ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2019 Timotej Lazar @@ -1768,31 +1768,25 @@ of the same name.") (base32 "0jz76ra86gy7r4wwb174lggnl5y29nn68l7ydw1kj1phcijrz854")))) (build-system cmake-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key parallel-tests? tests? #:allow-other-keys) - (when tests? - (invoke "ctest" "-VV" - "-j" (if parallel-tests? - (number->string (parallel-job-count)) - "1") - ;; Skip the suite_extcaps.case_extcaps.test_sdjournal - ;; test as it requires sdjournal (from systemd) and - ;; fails. - "-E" "suite_extcaps"))))) - ;; Build process chokes during `validate-runpath' phase. - ;; - ;; Errors are like the following: - ;; "/gnu/store/...wireshark-3.0.0/lib/wireshark/plugins/3.0/epan/ethercat.so: - ;; error: depends on 'libwireshark.so.12', which cannot be found in - ;; RUNPATH". That is, "/gnu/store/...wireshark-3.0.0./lib" doesn't - ;; belong to RUNPATH. - ;; - ;; That’s not a problem in practice because "ethercat.so" is a plugin, - ;; so it’s dlopen’d by a process that already provides "libwireshark". - ;; For now, we disable this phase. - #:validate-runpath? #f)) + (list + ;; This causes the plugins to register runpaths for the wireshark + ;; libraries, which would otherwise cause the validate-runpath phase to + ;; fail. + #:configure-flags #~(list (string-append "-DCMAKE_MODULE_LINKER_FLAGS=" + "-Wl,-rpath=" #$output "/lib")) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key parallel-tests? tests? #:allow-other-keys) + (when tests? + (invoke "ctest" "-VV" + "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + ;; Skip the suite_extcaps.case_extcaps.test_sdjournal + ;; test as it requires sdjournal (from systemd) and + ;; fails. + "-E" "suite_extcaps"))))))) (inputs (list c-ares glib -- cgit v1.2.3