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

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 20 Jan 2024 08:35:02 +0100

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