[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#44019] add dbus-cxx
From: |
Miguel Ángel Arruga Vivas |
Subject: |
[bug#44019] add dbus-cxx |
Date: |
Thu, 22 Oct 2020 18:26:27 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi,
The list was lost at some point in this email, I add it again.
I've checked the code of the library and I'm almost sure it's a fork of
the (unmantained) dbus-c++ project, but I'm not sure about changing the
dependency for jami and its compatibility, so I think it's worth keeping
it as a separate package, at least for now.
Reading and testing your patch I've found several issues about it, all
of them have an easy solution. :-)
tiregram arthur <ruhtra.mar@gmail.com> writes:
> From 8664346cc76e728806c1a797fc59b47d66b603ef Mon Sep 17 00:00:00 2001
> From: ruhtra <ruhtra.mar@gmail.com>
> Date: Tue, 20 Oct 2020 18:52:37 +0200
> Subject: [PATCH] add dbus-cxx package
The commit message title should be with "gnu: Add dbus-cxx."
Also, changelog information is required in the body of the commit, e.g.:
* gnu/packages/glib.scm (dbux-cxx): New package.
> ---
> gnu/packages/glib.scm | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index cde95b13eb..c79060cf8b 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -13,6 +13,7 @@
> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
> ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
> +;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -61,10 +62,12 @@
> #:use-module (gnu packages xml)
> #:use-module (gnu packages xorg)
> #:use-module (guix build-system gnu)
> + #:use-module (guix build-system cmake)
> #:use-module (guix build-system meson)
> #:use-module (guix build-system perl)
> #:use-module (guix build-system python)
> #:use-module (guix download)
> + #:use-module (guix git-download)
This shouldn't be needed, there is a tarball for the release on the
sourceforge page.
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages)
> #:use-module (guix utils)
> @@ -932,6 +935,35 @@ programming language. It also contains the utility
> (home-page "https://sourceforge.net/projects/dbus-cplusplus/")
> (license license:lgpl2.1+)))
>
> +
That extra line break should be removed.
> +(define-public dbus-cxx
> + (package
> + (name "dbus-cxx")
> + (version "0.12.0")
> + (source (origin
> + (file-name (git-file-name name version))
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/dbus-cxx/dbus-cxx")
> + (commit "ea7f8e361d11dc7d41d9ae2c4128aed2cdadd84e")))
Here it should point to the tarball from sourceforge (like the one for
dbus-c++):
"mirror://sourceforge/dbus-cxx/dbus-cxx/0.12.0/dbus-cxx-0.12.0.tar.gz"
> + (sha256
> + (base32
> + "1sa448icfvl08rnik0lnk4scmkwhfyd3mrxh36jh8x7xndp90khp"))))
The sha256 for the tarball would be
"1acsgpkd9v7b9jdc79ijmh9dbdfrzgkwkaff518i3zpk7y6g5mzw".
> + (build-system cmake-build-system)
> + (arguments
> + `(#:tests? #f))
We should run tests as much as possible as the software is going to be
distributed. For that, -DENABLE_TESTS=ON must be provided through
#:build-arguments, and #:tests? #f removed.
Also, the description doesn't match the options default options,
-DENABLE_TOOLS=ON has to be provided to generate dbus-cxx-xml2cpp and
dbus-cxx-introspection.
There is a third option that could be interesting, -DENABLE_GLIBMM=ON,
but I'm not sure what it really does, apart from generating extra
headers and libs.
> + (inputs `(("dbus-glib", dbus) ("libsigc++", libsigc++)))
The comma (,) there is reader syntax, so it applies to the right side,
not the left one: ,libsigc++ expands to the contents of the variable
libsigc++ inside the quasiquote (`). Also, they should be one on each
line, and I would change dbus-glib for dbus too. To build the tools you
need expat, already available, and popt from (gnu packages popt), like
this code:
(inputs `(("dbus" ,dbus)
("expat" ,expat)
("libsigc++" ,libsigc++)
("popt" ,popt)))
If the glibmm option worths it, it has to be added to that list too.
> + (native-inputs `(("pkg-config", pkg-config) ("m4", m4)))
Same indentation problems, one line per dependency, comma with the
variable, not on the left.
> + (synopsis "C++ wrapper for dbus")
> + (description "Dbus-cxx is a C++ wrapper for dbus.
> +It exposes the C API to allow direct manipulation and
> +relies on sigc++ to provide an OO interface.
> +Also included is dbus-cxx-xml2cpp to generate proxy and adapter
> + interfaces from DBus XML introspection-like documents.")
This has been directly copied from the web page. If you don't have any
idea on what to write, the dbus-c++ package description has better
formatting at least. :-)
> + (home-page "https://dbus-cxx.github.io/")
> + (license license:gpl3)))
> +
> +
There's an extra line here too.
The main two issues are the compilation options and the description.
Would you mind to send a new version of the patch with these fixes?
Happy hacking!
Miguel