[PATCH] gnu: dbus-cxx: Update to 2.4.0.

  • Done
  • quality assurance status badge
Details
3 participants
  • iyzsong
  • Liliana Marie Prikler
  • Maxim Cournoyer
Owner
unassigned
Submitted by
iyzsong
Severity
normal
I
I
iyzsong wrote on 31 Aug 2023 12:51
(address . guix-patches@gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
5686dc3309451165e7875231057a98030399a085.1693479069.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* 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(-)

Toggle diff (63 lines)
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")
(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++))
+ (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))))
(define-public sdbus-c++
;; Use the latest commit, which includes unreleased fixes to the pkg-config

base-commit: 299d0463d54c97b237deb2fe9e464108544344c0
--
2.41.0
L
L
Liliana Marie Prikler wrote on 31 Aug 2023 18:58
f449c32625d8068456f6e75d14128fb5d892f1d9.camel@gmail.com
Am Donnerstag, dem 31.08.2023 um 18:51 +0800 schrieb iyzsong@envs.net:
Toggle quote (24 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * 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")
Version appears to be correct. As for whether the package works or
not, I'll defer to CI.
Toggle quote (52 lines)
>      (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++))
> +    (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))))
I think we should also mention tools/libcppgenerate or otherwise
unbundle it; judging by the name, it appears to be a native input, but
I might be wrong about that.

Cheers
M
M
Maxim Cournoyer wrote on 1 Sep 2023 05:48
(address . iyzsong@envs.net)
87o7im5zb5.fsf@gmail.com
Hi ???!

iyzsong@envs.net writes:

Toggle quote (25 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * 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!

Toggle quote (36 lines)
> (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).

Toggle quote (12 lines)
> + (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
I
I
iyzsong wrote on 1 Sep 2023 14:44
[PATCH v2 1/2] gnu: Add libcppgenerate.
(address . 65654@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
290e386fa27c8a2c8c098fe0007277149165a68f.1693572252.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/cpp.scm (libcppgenerate): New variable.
---
gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2f8cc2ce25..794a7ef98a 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1731,6 +1731,30 @@ (define-public libconfini
almost every type of file containing key/value pairs.")
(license license:gpl3+)))
+(define-public libcppgenerate
+ ;; dbus-cxx requires an unreleased fix.
+ (let ((commit "930c5503f76c877b72b9ff8546353d6f422bd010")
+ (revision "0"))
+ (package
+ (name "libcppgenerate")
+ (version (git-version "0.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rm5248/libcppgenerate")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0csdg9b406i85aqgivjmvqjdnqbyiyjh3s0xsfsxppv7wlh7j85r"))))
+ (build-system cmake-build-system)
+ (arguments (list #:configure-flags #~'("-DENABLE_TESTS=ON")))
+ (home-page "https://github.com/rm5248/libcppgenerate")
+ (synopsis "Generating C++ code")
+ (description "@code{libcppgenerate} is a library for generating C++ code
+from C++.")
+ (license license:asl2.0))))
+
(define-public libcutl
(package
(name "libcutl")

base-commit: 4e531e55dcdc99c83bcfe3eec67c3fd95c7b6ca7
--
2.41.0
I
I
iyzsong wrote on 1 Sep 2023 14:44
[PATCH v2 2/2] gnu: dbus-cxx: Update to 2.4.0.
(address . 65654@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
e5c09d7b54d46e8b7b174ae26fcf0fa11b6425da.1693572252.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* 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(-)

Toggle diff (74 lines)
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
M
M
Maxim Cournoyer wrote on 1 Sep 2023 16:45
(address . iyzsong@envs.net)
87bkem2br2.fsf@gmail.com
Hello,

iyzsong@envs.net writes:

Toggle quote (11 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * 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.

Applied, with small nitpick changes (complete sentences in comments)
:-).

--
Thanks,
Maxim
Closed
M
M
Maxim Cournoyer wrote on 1 Sep 2023 16:52
Re: bug#65654: [PATCH] gnu: dbus-cxx: Update to 2.4.0.
(address . iyzsong@envs.net)
871qfi2bes.fsf_-_@gmail.com
Hi,

iyzsong@envs.net writes:

Toggle quote (34 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * gnu/packages/cpp.scm (libcppgenerate): New variable.
> ---
> gnu/packages/cpp.scm | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 2f8cc2ce25..794a7ef98a 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -1731,6 +1731,30 @@ (define-public libconfini
> almost every type of file containing key/value pairs.")
> (license license:gpl3+)))
>
> +(define-public libcppgenerate
> + ;; dbus-cxx requires an unreleased fix.
> + (let ((commit "930c5503f76c877b72b9ff8546353d6f422bd010")
> + (revision "0"))
> + (package
> + (name "libcppgenerate")
> + (version (git-version "0.2" revision commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/rm5248/libcppgenerate")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "0csdg9b406i85aqgivjmvqjdnqbyiyjh3s0xsfsxppv7wlh7j85r"))))
> + (build-system cmake-build-system)
> + (arguments (list #:configure-flags #~'("-DENABLE_TESTS=ON")))

nitpick: #~(list ...) is more readable

Toggle quote (3 lines)
> + (synopsis "Generating C++ code")

I'd use "C++ code generator library for C++".

I'll install this change along the dbus-cxx update.

--
Thanks,
Maxim
Closed
?