diff options
author | Raghav Gururajan <rg@raghavgururajan.name> | 2021-01-14 23:32:27 -0500 |
---|---|---|
committer | Leo Prikler <leo.prikler@student.tugraz.at> | 2021-03-10 00:19:48 +0100 |
commit | afd83de0879f43f82e9f0765b710cc12808a7e1e (patch) | |
tree | 794e488e61382bbd3caa5f13ade1311da62d765a | |
parent | 82e887ba48c2ba91b17aa9b6b17501e3e0ef4aef (diff) | |
download | guix-afd83de0879f43f82e9f0765b710cc12808a7e1e.tar.gz |
gnu: Add appstream.
* gnu/packages/freedesktop.scm (appstream): New variable. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
-rw-r--r-- | gnu/packages/freedesktop.scm | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index e00454f7b3..e5f9ea71b6 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -58,8 +58,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) @@ -75,6 +77,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages language) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) @@ -101,6 +104,101 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public appstream + (package + (name "appstream") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.freedesktop.org/software/" + "appstream/releases/" + "AppStream-" version ".tar.xz")) + (sha256 + (base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libstemmer + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("/usr/include") + (string-append (assoc-ref inputs "libstemmer") + "/include"))) + #t)) + (add-after 'patch-libstemmer 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs/api" + (substitute* "appstream-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml-4.3") + "/xml/dtd/docbook/")))) + (for-each (lambda (file) + (substitute* file + (("http://www.oasis-open.org/docbook/xml/4.5/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + (find-files "scripts/desc" "\\.xml$")) + #t)) + (add-after 'patch-docbook-xml 'disable-failing-tests + (lambda _ + (substitute* "tests/test-pool.c" + (("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/PoolReadAsync?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/PoolEmpty?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/Cache?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/Merges?.*;") + "")) + #t)) + (add-after 'disable-failing-tests 'patch-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "data/meson.build" + (("/etc") + (string-append (assoc-ref outputs "out") + "/etc"))) + #t))))) + (native-inputs + `(("cmake" ,cmake) + ("docbook-xml-4.3" ,docbook-xml-4.3) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gperf" ,gperf) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("xsltproc" ,libxslt))) + (inputs + `(("libsoup" ,libsoup) + ("libstemmer" ,libstemmer) + ("libxml2" ,libxml2) + ("libyaml" ,libyaml) + ("lmdb" ,lmdb))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "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 distributions by +standardizing software component metadata. It provides the foundation to build +software-center applications, by providing metadata necessary for an +application-centric view on package repositories. It additionally provides +specifications for things like an unified software metadata database, screenshot +services and various other things needed to create user-friendly +application-centers for distributions.") + (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/") + ;; XXX: meson.build claims both, headers just indicate lgpl2.1+ + ;; there are also some (irrelevant) wtfpl2 examples + (license (list license:gpl2+ license:lgpl2.1+)))) + (define-public farstream (package (name "farstream") |