[bug#35741] gnu: Add libdbusmenu.
diff mbox series

Message ID 20190515045127.30916-1-meiyo@riseup.net
State New
Headers show
Series
  • [bug#35741] gnu: Add libdbusmenu.
Related show

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Meiyo Peng May 15, 2019, 4:51 a.m. UTC
* gnu/packages/gtk.scm (libdbusmenu): New variable.
---
 gnu/packages/gtk.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

Comments

Ludovic Courtès May 20, 2019, 9:24 p.m. UTC | #1
Hi!

Meiyo Peng <meiyo@riseup.net> skribis:

> * gnu/packages/gtk.scm (libdbusmenu): New variable.

Applied!

> +         ;; The shebang of the generated test files should be patched before
> +         ;; enabling tests.
> +         "--disable-tests")

It would be nice if you could follow up with a patch to run the tests.

> +    (license (list license:gpl3 license:lgpl2.1 license:lgpl3))))

In a subsequent patch, I clarified the licensing here, which is
dual-license LGPLv2.1 | LGPLv3 according to the header that can be seen
here:

  https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/libdbusmenu-glib/menuitem-private.h

Thanks,
Ludo’.
Meiyo Peng May 23, 2019, 2:03 a.m. UTC | #2
Hi Ludovic,

Ludovic Courtès writes:

> Meiyo Peng <meiyo@riseup.net> skribis:
>
>> * gnu/packages/gtk.scm (libdbusmenu): New variable.
>
> Applied!
>
>> +         ;; The shebang of the generated test files should be patched before
>> +         ;; enabling tests.
>> +         "--disable-tests")
>
> It would be nice if you could follow up with a patch to run the tests.

Will try.

>> +    (license (list license:gpl3 license:lgpl2.1 license:lgpl3))))
>
> In a subsequent patch, I clarified the licensing here, which is
> dual-license LGPLv2.1 | LGPLv3 according to the header that can be seen
> here:
>
>   https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/libdbusmenu-glib/menuitem-private.h

Good catch.  But this project's license is weird.

According to: https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/debian/copyright

#+begin_example
  Files: *
  Copyright: 2009-2010 Ted Gould <ted@canonical.com>, Canonical Ltd.
  License: GPL-3

  Files: libdbusmenu-{glib,gtk}/*
  Copyright: 2009-2010 Ted Gould <ted@canonical.com>, Canonical Ltd.
  License: LGPL-2.1 | LGPL-3

  Files: libdbusmenu-glib/dbus-menu.xml
  Copyright: 2009-2010 Ted Gould <ted@canonical.com>, Canonical Ltd.
  Copyright: 2009-2010 Aurélien Gâteau <aurelien.gateau@canonical.com>
  License: LGPL-2.1 | LGPL-3

  Files: tools/{dbusmenu-bench,testapp/main.c}
  Copyright: 2009-2010 Aurélien Gâteau <aurelien.gateau@canonical.com>
  License: LGPL-2.1 | LGPL-3

  Files: debian/*
  Copyright: 2009-2010 Evgeni Golov <evgeni@debian.org>
  Copyright: 2009-2010 Ted Gould <ted@canonical.com>, Canonical Ltd.
  Copyright: 2009-2010 Sebastien Bacher <seb128@ubuntu.com>
  Copyright: 2009-2010 Ken VanDine <ken.vandine@canonical.com>
  License: GPL-3
#+end_example

libdbusmenu-glib, libdbusmenu-gtk, and some files in tools are dual
licensed under LGPLv2.1 and LGPLv3.  The rest files are licensed under
GPLv3.  For example:

#+begin_example
  https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/tests/json-loader.c
  https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/tools/dbusmenu-dumper.c
#+end_example

So we should clarify it further.


--
Meiyo Peng
https://www.pengmeiyu.com/
Ludovic Courtès May 24, 2019, 3:29 p.m. UTC | #3
Hello,

Meiyo Peng <meiyo@riseup.net> skribis:

>>> +         ;; The shebang of the generated test files should be patched before
>>> +         ;; enabling tests.
>>> +         "--disable-tests")
>>
>> It would be nice if you could follow up with a patch to run the tests.
>
> Will try.

Great.

> libdbusmenu-glib, libdbusmenu-gtk, and some files in tools are dual
> licensed under LGPLv2.1 and LGPLv3.  The rest files are licensed under
> GPLv3.  For example:
>
> #+begin_example
>   https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/tests/json-loader.c
>   https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu/trunk.16.10/view/head:/tools/dbusmenu-dumper.c
> #+end_example
>
> So we should clarify it further.

I’d argue that ‘license’ is about the license of what we install, so the
license of the tests or build scripts (say) doesn’t matter much, but
‘dbusmenu-dumper’ is presumably something we install.  So I agree:
further clarification is welcome!

Thanks for explaining,
Ludo’.
Meiyo Peng May 25, 2019, 2 a.m. UTC | #4
Hi Ludovic,

Ludovic Courtès writes:

> I’d argue that ‘license’ is about the license of what we install, so the
> license of the tests or build scripts (say) doesn’t matter much

OK.


--
Meiyo Peng
https://www.pengmeiyu.com/

Patch
diff mbox series

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 6e63ca6614..a885d35080 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -20,6 +20,7 @@ 
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1754,3 +1755,53 @@  popular spread sheet programs.")
 shell scripts.  Example of how to use @code{yad} can be consulted at
 @url{https://sourceforge.net/p/yad-dialog/wiki/browse_pages/}.")
     (license license:gpl3+)))
+
+(define-public libdbusmenu
+  (package
+    (name "libdbusmenu")
+    (version "16.04.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://launchpad.net/libdbusmenu/"
+                           (version-major+minor version) "/" version
+                           "/+download/libdbusmenu-" version ".tar.gz"))
+       (sha256
+        (base32 "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       '("--sysconfdir=/etc"
+         "--localstatedir=/var"
+         ;; The shebang of the generated test files should be patched before
+         ;; enabling tests.
+         "--disable-tests")
+       #:make-flags
+       `(,(string-append "typelibdir=" (assoc-ref %outputs "out")
+                         "/lib/girepository-1.0"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'set-environment
+           (lambda _
+             (setenv "HAVE_VALGRIND_TRUE" "")
+             (setenv "HAVE_VALGRIND_FALSE" "#")
+             #t)))))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtk+-2" ,gtk+-2)))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("gnome-doc-utils" ,gnome-doc-utils)
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("json-glib" ,json-glib)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)
+       ("vala" ,vala)))
+    (home-page "https://launchpad.net/libdbusmenu")
+    (synopsis "Library for passing menus over DBus")
+    (description "@code{libdbusmenu} passes a menu structure across DBus so
+that a program can create a menu simply without worrying about how it is
+displayed on the other side of the bus.")
+    (license (list license:gpl3 license:lgpl2.1 license:lgpl3))))