Message ID | e0f0254bd46c74dc60c4ff95727401f8e8c9ba50.1705612625.git.vivien@planete-kraus.eu |
---|---|
State | New |
Headers | show |
Series | [bug#68573,gnome-team] gnu: sdbus-c++: Fix generated sdbus-c++.pc. | expand |
Am Donnerstag, dem 18.01.2024 um 22:14 +0100 schrieb Vivien Kraus: > * gnu/packages/glib.scm (sdbus-c++) [#:phases 'fix-libelogind- > requirement]: > New phase. Rather use [#:phases]: Add ‘fix-libelogind-requirement’ (or rename the phase to ‘fix-elogind-requirement’ and use that). > > Change-Id: Id29369178f164fc60e6882aa664556924cf4bfa7 > --- > 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..d84b848b62 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-before 'install 'fix-libelogind-requirement > + (lambda _ > + ;; 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. Cheers
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 7b8cc3286d..d84b848b62 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-before 'install 'fix-libelogind-requirement + (lambda _ + ;; 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"))))))) (native-inputs (list googletest pkg-config)) (inputs (list expat)) (propagated-inputs (list elogind)) ;required by sdbus-c++.pc