GNU bug report logs -
#68573
[PATCH gnome-team] gnu: sdbus-c++: Fix generated sdbus-c++.pc.
Previous Next
Reported by: Vivien Kraus <vivien <at> planete-kraus.eu>
Date: Thu, 18 Jan 2024 21:19:02 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 68573 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/glib.scm (sdbus-c++) [#:phases]: Add 'fix-elogind-requirement.
Change-Id: Id29369178f164fc60e6882aa664556924cf4bfa7
---
Hello!
Le samedi 20 janvier 2024 à 08:35 +0100, Liliana Marie Prikler a écrit :
> + ;; sdbus-c++.pc requires 'elogind', but it should
> + ;; require 'libelogind'. Fixed after 1.4.0 with
> + ;; fb9e4ae37152648a67814458d3ff673b1d3ca089
> + (substitute* "pkgconfig/sdbus-c++.pc"
> + (("Requires: elogind")
> + "Requires: libelogind")))))))
> Instead of patching the generated file, you could try patching the .in file
> from which it is generated or the CMakeLists.
As far as I understand, the CMakeLists do not have a variable that contain
"libelogind", and we can’t change the LIBSYSTEMD variable content because it
is used in other places (notably to find headers, where “libelogind” would not
work).
So we have to ignore the CMakeLists entirely and bypass the .in substitution.
gnu/packages/glib.scm | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 7b8cc3286d..eee5251d03 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -1289,11 +1289,20 @@ (define-public sdbus-c++
;; Do not install tests.
"-DTESTS_INSTALL_PATH=/tmp"
"-DCMAKE_VERBOSE_MAKEFILE=ON")
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'do-not-install-tests
- (lambda _
- (substitute* "tests/CMakeLists.txt"
- (("/etc/dbus-1/system.d") "/tmp")))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-install-tests
+ (lambda _
+ (substitute* "tests/CMakeLists.txt"
+ (("/etc/dbus-1/system.d") "/tmp"))))
+ (add-after 'unpack 'fix-elogind-requirement
+ (lambda _
+ ;; sdbus-c++.pc requires 'elogind', but it should
+ ;; require 'libelogind'. Fixed after 1.4.0 with
+ ;; fb9e4ae37152648a67814458d3ff673b1d3ca089
+ (substitute* "pkgconfig/sdbus-c++.pc.in"
+ (("@LIBSYSTEMD@")
+ "libelogind")))))))
(native-inputs (list googletest pkg-config))
(inputs (list expat))
(propagated-inputs (list elogind)) ;required by sdbus-c++.pc
base-commit: 49897f2dde7f469c83c496fad2699d3a05f72701
--
2.41.0
This bug report was last modified 1 year and 197 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.