gnu: appstream: Update to 0.15.5.

* gnu/packages/freedesktop.scm (appstream): Update to 0.15.2.
[arguments]: Use G-expression.  Add #:meson.  Enable (some) previously failing
tests.  Don't patch docbook file names, and use SEARCH-INPUT-FILE for
libstemmer header.  Add phase to set HOME before tests.
[inputs]: Add CURL and LIBXMLB.
[native-inputs]: Add ITSTOOL and LIBXML2.
[license]: Remove GPL2+.

Co-authored-by: Brendan Tildesley <mail@brendan.scot>
Co-authored-by: phodina <phodina@protonmail.com>
This commit is contained in:
Marius Bakke 2022-09-01 01:52:59 +02:00
parent 752ae1f244
commit 2ebb0383a2
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -9,9 +9,9 @@
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017, 2020, 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> ;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
@ -30,6 +30,7 @@
;;; Copyright © 2021, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> ;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -72,6 +73,7 @@ (define-module (gnu packages freedesktop)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages disk) #:use-module (gnu packages disk)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
@ -125,7 +127,7 @@ (define-module (gnu packages freedesktop)
(define-public appstream (define-public appstream
(package (package
(name "appstream") (name "appstream")
(version "0.13.1") (version "0.15.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -134,69 +136,44 @@ (define-public appstream
"appstream/releases/" "appstream/releases/"
"AppStream-" version ".tar.xz")) "AppStream-" version ".tar.xz"))
(sha256 (sha256
(base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds")))) (base32 "1hh41r82a2p7anyadfsp9lmylrrj1a6gknx2g4w6ha97riifs5fb"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t (list
#:phases #:meson meson-0.63
(modify-phases %standard-phases #:glib-or-gtk? #t
(add-after 'unpack 'patch-libstemmer #:phases
(lambda* (#:key inputs #:allow-other-keys) #~(modify-phases %standard-phases
(substitute* "meson.build" (add-after 'unpack 'patch-libstemmer
(("/usr/include") (lambda* (#:key inputs #:allow-other-keys)
(string-append (assoc-ref inputs "libstemmer") (let ((libstemmer.h (search-input-file inputs
"/include"))) "include/libstemmer.h")))
#t)) (substitute* "meson.build"
(add-after 'patch-libstemmer 'patch-docbook-xml (("/usr/include")
(lambda* (#:key inputs #:allow-other-keys) (dirname libstemmer.h))))))
(with-directory-excursion "docs/api" (add-after 'unpack 'disable-failing-tests
(substitute* "appstream-docs.xml" (lambda _
(("http://www.oasis-open.org/docbook/xml/4.3/") (substitute* "tests/test-pool.c"
(string-append (assoc-ref inputs "docbook-xml-4.3") (("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;")
"/xml/dtd/docbook/")))) ""))))
(for-each (lambda (file) (add-before 'check 'check-setup
(substitute* file (lambda _
(("http://www.oasis-open.org/docbook/xml/4.5/") (setenv "HOME" (getcwd)))))))
(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 (native-inputs
`(("cmake" ,cmake) (list docbook-xml-4.3
("docbook-xml-4.3" ,docbook-xml-4.3) docbook-xml
("docbook-xml" ,docbook-xml) docbook-xsl
("docbook-xsl" ,docbook-xsl) gettext-minimal
("gettext" ,gettext-minimal) `(,glib "bin")
("glib:bin" ,glib "bin") gobject-introspection
("gobject-introspection" ,gobject-introspection) gperf
("gperf" ,gperf) gtk-doc/stable
("gtk-doc" ,gtk-doc/stable) itstool
("pkg-config" ,pkg-config) libxslt
("python" ,python-wrapper) pkg-config
("xsltproc" ,libxslt))) python-wrapper))
(inputs (inputs
(list libsoup-minimal-2 libstemmer libxml2 libyaml lmdb)) (list curl libsoup-minimal-2 libstemmer libxmlb libxml2 libyaml lmdb))
(propagated-inputs (propagated-inputs
(list glib)) (list glib))
(synopsis "Tools and libraries to work with AppStream metadata") (synopsis "Tools and libraries to work with AppStream metadata")
@ -209,9 +186,7 @@ (define-public appstream
services and various other things needed to create user-friendly services and various other things needed to create user-friendly
application-centers for distributions.") application-centers for distributions.")
(home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/") (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/")
;; XXX: meson.build claims both, headers just indicate lgpl2.1+ (license license:lgpl2.1+)))
;; there are also some (irrelevant) wtfpl2 examples
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public farstream (define-public farstream
(package (package