Subject: Re: [bug#65654] [PATCH] gnu: dbus-cxx: Update to 2.4.0.

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 31 Aug 2023 23:48:14 -0400

Hi 宋文武!

[email-masked] writes:

> From: 宋文武 <[email-masked]>
>
> * gnu/packages/glib.scm (dbus-cxx): Update to 2.4.0.
> [source]: Switch to git-fetch.
> [arguments]: Use g-exps.  Adjust configure-flags.
> Skip 'test-machine-uuid-method' test.
> [inputs]: Remove python and glibmm.  Move libsigc++ to...
> [propagated-inputs]: ...here.  Add glib.
> [native-inputs]: Remove m4.
> [license]: Change to lgpl3+ and bsd-3.
> ---
>  gnu/packages/glib.scm | 36 ++++++++++++++++++++----------------
>  1 file changed, 20 insertions(+), 16 deletions(-)
>
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index f523706449..043d506a9e 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -1255,26 +1255,30 @@ (define-public dbus-c++
>  (define-public dbus-cxx
>    (package
>      (name "dbus-cxx")
> -    (version "0.12.0")
> +    (version "2.4.0")

Wooh, big update!

>      (source (origin
> -              (method url-fetch)
> -              (uri (string-append "mirror://sourceforge/dbus-cxx/dbus-cxx/"
> -                                  version "/dbus-cxx-" version ".tar.gz"))
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/dbus-cxx/dbus-cxx")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
>                (sha256
>                 (base32
> -                "1acsgpkd9v7b9jdc79ijmh9dbdfrzgkwkaff518i3zpk7y6g5mzw"))))
> +                "0c9q2bjs4m66zq0qysyip8fnkvvjpj46rkjcvw15nhmfhzbq16ag"))))
>      (build-system cmake-build-system)
>      (arguments
> -     `(#:configure-flags '("-DENABLE_TESTS=ON"
> -                           "-DENABLE_TOOLS=ON"
> -                           "-DENABLE_GLIBMM=ON")))
> -    (inputs (list dbus
> -                  libsigc++
> -                  glibmm
> -                  python
> -                  popt
> -                  expat))
> -    (native-inputs (list pkg-config m4))
> +     (list #:configure-flags #~(list "-DBUILD_TESTING=ON"
> +                                     "-DENABLE_TOOLS=ON"
> +                                     "-DENABLE_GLIB_SUPPORT=ON")
> +           #:phases
> +           #~(modify-phases %standard-phases
> +               (replace 'check
> +                 (lambda _
> +                   ;; XXX: Missing /etc/machine-id in the build environment.
> +                   (invoke "ctest" "-E" "test-machine-uuid-method"))))))
> +    (propagated-inputs (list glib libsigc++))

Propagation being frowned upon, a comment should explain why it's needed
here (referenced in headers or Requires of .pc files is the classic
reason).

> +    (inputs (list dbus expat popt))
> +    (native-inputs (list pkg-config))
>      (synopsis "C++ wrapper for dbus")
>      (description "Dbus-cxx is a C++ wrapper for dbus.\n
>  It exposes the C API to allow direct manipulation and
> @@ -1288,7 +1292,7 @@ (define-public dbus-cxx
>  Some codes examples can be find at:
>  @url{https://dbus-cxx.github.io/examples.html}")
>      (home-page "https://dbus-cxx.github.io/")
> -    (license license:gpl3)))
> +    (license (list license:lgpl3+ license:bsd-3))))

Perhaps add an inline comment: ;dual licensed

Otherwise LGTM, assuming CI is happy.

-- 
Thanks,
Maxim