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

From: [email-masked]
Date: Fri, 1 Sep 2023 20:44:56 +0800

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]: Add libcppgenerate.  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 | 42 ++++++++++++++++++++++++++----------------
 1 file changed, 26 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f523706449..4857c1237e 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -44,6 +44,7 @@ (define-module (gnu packages glib)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
@@ -1255,26 +1256,35 @@ (define-public dbus-c++
 (define-public dbus-cxx
   (package
     (name "dbus-cxx")
-    (version "0.12.0")
+    (version "2.4.0")
     (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"))
+              (modules '((guix build utils)))
+              (snippet '(delete-file-recursively "tools/libcppgenerate"))))
     (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"
+                                     "-DTOOLS_BUNDLED_CPPGENERATE=OFF")
+           #: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
+     ;; Referenced in header and .pc files.
+     (list glib libsigc++))
+    (inputs (list dbus expat libcppgenerate 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 +1298,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)))) ;dual licensed
 
 (define-public sdbus-c++
   ;; Use the latest commit, which includes unreleased fixes to the pkg-config
-- 
2.41.0