[bug#41293,2/3] gnu: Add appstream.
diff mbox series

Message ID 20200602012736.4292-3-rprior@protonmail.com
State New
Headers show
Series
  • Updated Pantheon packages
Related show

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Tobias Geerinckx-Rice via Guix-patches via June 2, 2020, 1:28 a.m. UTC
* gnu/packages/freedesktop.scm (appstream): New variable.
---
 gnu/packages/freedesktop.scm | 59 ++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

Comments

Marius Bakke June 22, 2020, 7:23 p.m. UTC | #1
Ryan Prior via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/freedesktop.scm (appstream): New variable.

[...]

> +    (inputs
> +     `(("glib" ,glib)
> +       ("gperf" ,gperf)
> +       ("libsoup" ,libsoup)
> +       ("libxml2" ,libxml2)
> +       ("libxslt" ,libxslt)
> +       ("libyaml" ,libyaml)
> +       ("lmdb" ,lmdb)))
> +    (native-inputs
> +     `(("cmake" ,cmake)

'cmake-minimal' here too.

> +       ("gettext" ,gettext-minimal)
> +       ("glib:bin" ,glib "bin") ; for glib-compile-resources
> +       ("gobject-introspection" ,gobject-introspection)
> +       ("pkg-config" ,pkg-config)
> +       ("vala" ,vala)))
> +    (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/")
> +    (synopsis "Provides the foundation to build software-center applications")

I think the GitHub tagline is better: "Tools and libraries to work with
AppStream metadata".

> +    (description "AppStream is a cross-distribution effort for enhancing the way
> +we interact with the software repositories provided by GNU/Linux distributions
> +by standardizing software component metadata.")

Who is 'we' in this context?  Maybe we can use the README description:

"AppStream is a collaborative effort for making machine-readable
software metadata available to programs that need it."

Do you know if Guix is supported?  :-)

> +    (license license:gpl2)))

The library portions of this package seems to be 'lgpl2.1+', and the
tools are 'gpl2' (only).  Can you add a comment about it and list both
licenses?

Patch
diff mbox series

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 90154cbba9..db1b18e4ee 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -20,6 +20,7 @@ 
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,8 +56,10 @@ 
   #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
@@ -1870,3 +1873,59 @@  useful with system integration.")
 into the Unity menu bar.  Based on KSNI, it also works in KDE and will
 fallback to generic Systray support if none of those are available.")
     (license license:lgpl2.1+)))
+
+(define-public appstream
+  (package
+    (name "appstream")
+    (version "0.12.11")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ximion/appstream.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ma1nldpc01rr2x14q1ymv2fvf7qcs3wp8fdqsnd17qx0hrz483c"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "-Dvapi=true"
+             "-Dstemming=false"
+             "-Dapidocs=false"
+             "-Dinstall-docs=false")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-stemmer-inc-dirs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "meson.build"
+                 (("include_directories\\(\\['\\/usr\\/include'\\]\\)")
+                  "''")
+                 (("subdir\\('docs\\/'\\)")
+                  ""))
+               (substitute* "data/meson.build"
+                 (("\\/etc")
+                   (string-append out "/etc")))
+               #t))))))
+    (inputs
+     `(("glib" ,glib)
+       ("gperf" ,gperf)
+       ("libsoup" ,libsoup)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("libyaml" ,libyaml)
+       ("lmdb" ,lmdb)))
+    (native-inputs
+     `(("cmake" ,cmake)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin") ; for glib-compile-resources
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
+    (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/")
+    (synopsis "Provides the foundation to build software-center applications")
+    (description "AppStream is a cross-distribution effort for enhancing the way
+we interact with the software repositories provided by GNU/Linux distributions
+by standardizing software component metadata.")
+    (license license:gpl2)))