Subject: [PATCH 2/3] gnu: Add appstream.

From: Ryan Prior <[email-masked]>
Date: Tue, 02 Jun 2020 01:28:06 +0000

* gnu/packages/freedesktop.scm (appstream): New variable.
---
 gnu/packages/freedesktop.scm | 59 ++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

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 <[email-masked]>
 ;;; Copyright © 2020 Rene Saavedra <[email-masked]>
 ;;; Copyright © 2020 Nicolò Balzarotti <[email-masked]>
+;;; Copyright © 2020 Ryan Prior <[email-masked]>
 ;;;
 ;;; 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)))
-- 
2.26.2