summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2020-07-26 22:01:23 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2020-07-26 22:02:38 +0200
commit8c62c63c81a738a960c6d3c5cf66d075296b038c (patch)
treeaea2f26359ad8adc20503676b0763b46be7a3d70 /dev-libs/appstream
parentdev-perl/DateTime-HiRes: Fix license (diff)
downloadgentoo-8c62c63c81a738a960c6d3c5cf66d075296b038c.tar.gz
gentoo-8c62c63c81a738a960c6d3c5cf66d075296b038c.tar.bz2
gentoo-8c62c63c81a738a960c6d3c5cf66d075296b038c.zip
dev-libs/appstream: Fix build with older GCC
Reported-by: Dion Moult <dion@thinkmoult.com> Closes: https://bugs.gentoo.org/733774 Package-Manager: Portage-3.0.0, Repoman-2.3.23 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-libs/appstream')
-rw-r--r--dev-libs/appstream/appstream-0.12.11-r1.ebuild80
-rw-r--r--dev-libs/appstream/files/appstream-0.12.11-disable-Werror-flags.patch12
-rw-r--r--dev-libs/appstream/files/appstream-0.12.11-no-highlight.js.patch86
-rw-r--r--dev-libs/appstream/files/appstream-0.12.11-qt-add-missing-provided-kindid-enum.patch24
4 files changed, 202 insertions, 0 deletions
diff --git a/dev-libs/appstream/appstream-0.12.11-r1.ebuild b/dev-libs/appstream/appstream-0.12.11-r1.ebuild
new file mode 100644
index 000000000000..c2dca084f140
--- /dev/null
+++ b/dev-libs/appstream/appstream-0.12.11-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson xdg-utils
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ximion/${PN}"
+else
+ SRC_URI="https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+ S="${WORKDIR}/AppStream-${PV}"
+fi
+
+DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem"
+HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
+
+LICENSE="LGPL-2.1+ GPL-2+"
+# check as_api_level
+SLOT="0/4"
+IUSE="apt doc +introspection qt5 test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-libs/libxslt
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ doc? ( app-text/docbook-xml-dtd:4.5 )
+ test? ( dev-qt/linguist-tools:5 )
+"
+RDEPEND="
+ dev-db/lmdb:=
+ >=dev-libs/glib-2.58:2
+ dev-libs/libxml2:2
+ dev-libs/libyaml
+ dev-libs/snowball-stemmer
+ >=net-libs/libsoup-2.56:2.4
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+ qt5? ( dev-qt/qtcore:5 )
+"
+DEPEND="${RDEPEND}
+ test? ( qt5? ( dev-qt/qttest:5 ) )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-highlight.js.patch
+ "${FILESDIR}"/${P}-qt-add-missing-provided-kindid-enum.patch
+ "${FILESDIR}"/${P}-disable-Werror-flags.patch # bug 733774
+)
+
+src_prepare() {
+ default
+ sed -e "/^as_doc_target_dir/s/appstream/${PF}/" -i docs/meson.build || die
+ if ! use test; then
+ sed -e "/^subdir.*tests/s/^/#DONT /" -i {,qt/}meson.build || die # bug 675944
+ fi
+ rm docs/html/static/js/HighlightJS.LICENSE \
+ docs/html/static/js/highlight.min.js || die # incompatible license
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local emesonargs=(
+ -Dapidocs=false
+ -Ddocs=false
+ -Dmaintainer=false
+ -Dstemming=true
+ -Dvapi=false
+ -Dapt-support=$(usex apt true false)
+ -Dinstall-docs=$(usex doc true false)
+ -Dgir=$(usex introspection true false)
+ -Dqt=$(usex qt5 true false)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/appstream/files/appstream-0.12.11-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-0.12.11-disable-Werror-flags.patch
new file mode 100644
index 000000000000..0f887432deb4
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-0.12.11-disable-Werror-flags.patch
@@ -0,0 +1,12 @@
+--- a/meson.build 2020-07-26 21:29:04.621544863 +0200
++++ b/meson.build 2020-07-26 21:34:06.682233266 +0200
+@@ -52,9 +52,6 @@
+ add_global_arguments(maintainer_c_args, language: 'cpp')
+ endif
+
+-# a few compiler warning flags we always want enabled
+-add_global_arguments('-Werror=implicit-function-declaration', '-Wno-unused-parameter', language: 'c')
+-add_global_arguments('-Wno-unused-parameter', '-Wno-error=deprecated-copy', language: 'cpp')
+ add_global_arguments('-DAS_COMPILATION', language : 'c')
+
+ #
diff --git a/dev-libs/appstream/files/appstream-0.12.11-no-highlight.js.patch b/dev-libs/appstream/files/appstream-0.12.11-no-highlight.js.patch
new file mode 100644
index 000000000000..66b388061a45
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-0.12.11-no-highlight.js.patch
@@ -0,0 +1,86 @@
+From 5ddf424d9b5713bd71c34b5ab6bbd10ad7b74bbc Mon Sep 17 00:00:00 2001
+From: Matthias Klumpp <matthias@tenstral.net>
+Date: Tue, 12 May 2020 20:00:19 +0200
+Subject: [PATCH] Never ship with an embedded convenience copy of Highlight.js
+
+This should make Debian happy.
+---
+ docs/doc-build-helper.py | 10 +-------
+ docs/meson.build | 12 ++++++++++
+ docs/style/static/js/HighlightJS.LICENSE | 29 ------------------------
+ docs/style/static/js/INFO.md | 8 +++++++
+ 4 files changed, 21 insertions(+), 38 deletions(-)
+ delete mode 100644 docs/style/static/js/HighlightJS.LICENSE
+ create mode 100644 docs/style/static/js/INFO.md
+
+diff --git a/docs/doc-build-helper.py b/docs/doc-build-helper.py
+index ce46303d..c29cce2d 100755
+--- a/docs/doc-build-helper.py
++++ b/docs/doc-build-helper.py
+@@ -29,10 +29,6 @@
+ from pathlib import Path
+
+
+-# additional JavaScript from system locations, we use it if available
+-EXTRA_JS = [['/usr/share/javascript/highlight.js/highlight.min.js',
+- 'highlight.min.js']]
+-
+ # additional CSS from system locations, we use it if available
+ EXTRA_CSS = [['/usr/share/javascript/highlight.js/styles/routeros.css',
+ 'highlight.css']]
+@@ -64,11 +60,7 @@ def daps_build(src_dir, project_name, daps_exe):
+ shutil.copy(os.path.join(src_dir, 'images', 'src', 'svg', 'appstream-logo.svg'),
+ os.path.join(html_out_dir, 'images'))
+
+- # copy extra JS and CSS if it is available
+- for js_fname in EXTRA_JS:
+- if os.path.exists(js_fname[0]):
+- shutil.copy(js_fname[0], os.path.join(html_out_dir, 'static',
+- 'js', js_fname[1]))
++ # copy extra CSS if it is available
+ for css_fname in EXTRA_CSS:
+ if os.path.exists(css_fname[0]):
+ shutil.copy(css_fname[0], os.path.join(html_out_dir, 'static',
+diff --git a/docs/meson.build b/docs/meson.build
+index 1ae5fc46..d4543fdd 100644
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -101,6 +101,12 @@ if get_option('docs')
+
+ if get_option('install-docs')
+ install_subdir('html', install_dir: as_doc_target_dir)
++
++ meson.add_install_script('sh', '-c',
++ 'if [ -f "@0@" ]; then mkdir -p $DESTDIR/@1@ && ln -sf @0@ $DESTDIR/@1@; fi'
++ .format('/usr/share/javascript/highlight.js/highlight.min.js',
++ join_paths(get_option('prefix'), as_doc_target_dir, 'html', 'static', 'js'))
++ )
+ endif
+
+ # add an extra testcase for documentation validation
+@@ -114,5 +120,11 @@ elif get_option('install-docs')
+ if run_command('[', '-d', join_paths(meson.current_source_dir(), 'html'), ']').returncode() == 0
+ # install documentation, if it exists
+ install_subdir('html', install_dir: as_doc_target_dir)
++
++ meson.add_install_script('sh', '-c',
++ 'if [ -f "@0@" ]; then mkdir -p $DESTDIR/@1@ && ln -sf @0@ $DESTDIR/@1@; fi'
++ .format('/usr/share/javascript/highlight.js/highlight.min.js',
++ join_paths(get_option('prefix'), as_doc_target_dir, 'html', 'static', 'js'))
++ )
+ endif
+ endif
+diff --git a/docs/style/static/js/INFO.md b/docs/style/static/js/INFO.md
+new file mode 100644
+index 00000000..6e95673b
+--- /dev/null
++++ b/docs/style/static/js/INFO.md
+@@ -0,0 +1,8 @@
++### AppStream Documentation JS Directory
++
++You can place a minified copy of [Highlight.js](https://highlightjs.org/) in this
++directory to enable source-code highlighting in the documentation.
++
++In case a system-wide copy of `highlight.min.js` and its CSS files exists in
++`/usr/share/javascript/highlight.js/`, the buildsystem will automatically detect that
++and create symbolic links to these files when installing the documentation.
diff --git a/dev-libs/appstream/files/appstream-0.12.11-qt-add-missing-provided-kindid-enum.patch b/dev-libs/appstream/files/appstream-0.12.11-qt-add-missing-provided-kindid-enum.patch
new file mode 100644
index 000000000000..e96b2a3856dd
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-0.12.11-qt-add-missing-provided-kindid-enum.patch
@@ -0,0 +1,24 @@
+From 36f71e78f033fdb5bb880825b878b7dab31c0a73 Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleixpol@kde.org>
+Date: Mon, 1 Jun 2020 13:25:25 +0200
+Subject: [PATCH] qt: add missing Provided::KindId enum
+
+It was never added to the Qt interface
+---
+ qt/provided.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/qt/provided.h b/qt/provided.h
+index 1e3ba317..8e350fb0 100644
+--- a/qt/provided.h
++++ b/qt/provided.h
+@@ -59,7 +59,8 @@ class APPSTREAMQT_EXPORT Provided {
+ KindDBusSystemService,
+ KindDBusUserService,
+ KindFirmwareRuntime,
+- KindFirmwareFlashed
++ KindFirmwareFlashed,
++ KindId,
+ };
+ Q_ENUM(Kind)
+