summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/glib.scm44
1 files changed, 28 insertions, 16 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f523706449..e2a0bbdcdf 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -44,6 +44,7 @@
   #: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,37 @@ programming language.  It also provides the @command{dbusxx-xml2cpp} and
 (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* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; There is no /etc/machine-id file in the build
+                     ;; environment.
+                     (invoke "ctest" "-E" "test-machine-uuid-method")))))))
+    ;; These are propagated due to being referenced in headers and pkg-config
+    ;; .pc files.
+    (propagated-inputs (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 +1300,7 @@ This package provide 2 utils:
 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