diff mbox series

[bug#68573,gnome-team] gnu: sdbus-c++: Fix generated sdbus-c++.pc.

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

Commit Message

Vivien Kraus Jan. 18, 2024, 9:14 p.m. UTC
* gnu/packages/glib.scm (sdbus-c++) [#:phases 'fix-libelogind-requirement]:
New phase.

Change-Id: Id29369178f164fc60e6882aa664556924cf4bfa7
---
 gnu/packages/glib.scm | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)


base-commit: 17c2e26068c5c36eb8ee1ec39a8695ef66f75c55

Comments

Liliana Marie Prikler Jan. 20, 2024, 7:35 a.m. UTC | #1
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 mbox series

Patch

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