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 @@ (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,37 @@ (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* (#: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 @@ (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