From 157b87e82a8f5ed8bda0eb8e05e98c4ac6939b6f Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 24 Jul 2020 09:53:15 -0400 Subject: [PATCH 30/36] gnu: gupnp: Update package definition. * gnu/packages/gnome.scm (gupnp) [version]: Update to 1.2.3. [source][sha256]: Modify base32. [outputs]: New output "doc". [arguments]<#:glib-or-gtk?>: New argument. <#:configure-flags>[-Dgtk_doc]: New flag. <#:phases>['patch-docbook-xml]: New phase. ['move-doc]: New phase. [native-inputs]: Add docbook-xml, docbook-xsl, gjs, gsettings-desktop-schemas and libxslt. [inputs]: Move gssdp and libsoup to ... [propagated-inputs]: ... here. Add glib, glib-networking and libxml2. [synopsis]: Modify. [description]: Modify. --- gnu/packages/gnome.scm | 99 ++++++++++++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 28 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 67c7b4abd1..758afdd630 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1094,34 +1094,77 @@ and announcement over SSDP.") (define-public gupnp (package - (name "gupnp") - (version "1.2.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s")))) - (build-system meson-build-system) - (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) - (inputs - `(("gssdp" ,gssdp) - ("gtk+" ,gtk+) - ("libsoup" ,libsoup))) - (synopsis "PnP API for GNOME") - (description "This package provides GUPnP, an object-oriented framework -for creating UPnP devices and control points, written in C using -@code{GObject} and @code{libsoup}.") - (home-page "https://gitlab.gnome.org/GNOME/gupnp") - (license license:lgpl2.0+))) + (name "gupnp") + (version "1.2.3") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1c99ingf8cvfvyawxqn7dwb233i0x5q60xni9awgma74i16yaiyl")))) + (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Dgtk_doc=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* '("client-tutorial.xml" "glossary.xml" + "overview.xml" "server-tutorial.xml") + (("http://www.oasis-open.org/docbook/xml/4.4/") + (string-append (assoc-ref inputs "docbook-xml-4.4") + "/xml/dtd/docbook/"))) + (substitute* '("gupnp-binding-tool.xml" "gupnp-docs.xml") + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml-4.1.2") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t)))))) + (native-inputs + `(("docbook-xml-4.1.2" ,docbook-xml-4.1.2) + ("docbook-xml-4.4" ,docbook-xml-4.4) + ("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) + ("gjs" ,gjs) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("xsltproc" ,libxslt))) + (inputs + `(("gtk+" ,gtk+))) + (propagated-inputs + `(("glib" ,glib) + ("glib-networking" ,glib-networking) + ("gssdp" ,gssdp) + ("libsoup" ,libsoup) + ("libxml2" ,libxml2))) + (synopsis "UPnP API for GNOME") + (description "GUPnP is an elegant, object-oriented framework for creating +UPnP devices and control points, written in C using GObject and libsoup. The +GUPnP API is intended to be easy to use, efficient and flexible. It provides +the same set of features as libupnp, but shields the developer from most of +UPnP's internals.") + (home-page "https://wiki.gnome.org/Projects/GUPnP") + (license license:lgpl2.0+))) (define-public gupnp-dlna (package -- 2.27.0