summaryrefslogtreecommitdiff
path: root/media-libs/libshumate
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libshumate')
-rw-r--r--media-libs/libshumate/Manifest3
-rw-r--r--media-libs/libshumate/files/1.0.4-tests-Add-test-setup-for-valgrind.patch98
-rw-r--r--media-libs/libshumate/libshumate-1.0.4.ebuild64
3 files changed, 165 insertions, 0 deletions
diff --git a/media-libs/libshumate/Manifest b/media-libs/libshumate/Manifest
index 229b790e2b73..93d47c45b0ba 100644
--- a/media-libs/libshumate/Manifest
+++ b/media-libs/libshumate/Manifest
@@ -1,3 +1,6 @@
+AUX 1.0.4-tests-Add-test-setup-for-valgrind.patch 2536 BLAKE2B c8dfaa634c29025cf80f3b358413923a2a46db3ca9ad540d2a212524559d67d3f03b8be1d7a01a0b9ed17a8394c48052ba1041d25557a0190811abb15d452adc SHA512 d907fbc02dc1280fd5ffc422133f3e727c5993650e2579094e2e678db877087144560de597b7209d49771f8a5d253e0cfe7004344ddf6b8136ab55e894984613
DIST libshumate-1.0.3.tar.xz 110868 BLAKE2B 56d2304208dd41e1c6dc14b76bd6c5cadfb3359576c1c74405851e63be06deaa92bce4fae7bb91855fee53f561dfa84ccbb7ff61eed2f3195d6a93f76e3e2668 SHA512 dc72955bdbe6eee3d4d82dd884c5e74341fa5de25af388d3cc41a368170e4d8f5edf32acdf320e7dde9bc6ace94694e166eafb864887f66a60fb4053d12e1462
+DIST libshumate-1.0.4.tar.xz 111960 BLAKE2B 889ddcf2231091f72bcadb94a12db545218c8c145c2c803b6febd75481087177cc92c5406d08ed450940f17bb5f094bcb4124cdd5bfa7d3d3ac69b225cf449e9 SHA512 6befa699f11c2bf60ff8d109f24f8015b44084816e66d365d3e7249897901b1d2117f038289287df450296132c6ebe267411caa6bfb2bcf306f907d10a3d1be7
EBUILD libshumate-1.0.3-r1.ebuild 1585 BLAKE2B 8fe5f3dcffe7899971a8a88884aaa7070bbb2a64620116a5a8743441390f5f931a5186c346a1436f5eebf2a48938ba5308ca57c2175870600fba504e9f3856c5 SHA512 3be14fc9eb6a51a7b64875b430eaf6654b71f8034ff829256f0913395bb13a96db7bc9aa12a9eddbb6bf243af40b750a721e33edf65d6d403cbc9f391e74dc25
+EBUILD libshumate-1.0.4.ebuild 1608 BLAKE2B d2b3420ae6a7e32e93b1a6f133b08782a67e40a2d62076678b4eb0d562adae8bb7483ae276ad62af3fc2c26ead73e0161b7e25dca391db1d73cce3a926481065 SHA512 dc893c4b127a461e72bf733f08c38e4d75d029b2a4173ad5a9b857a6c1e88379d4726d4bb61f408b6a2e4534225bba594d94acfd46cf6283aca639598901ca1d
MISC metadata.xml 351 BLAKE2B 0156fcc6cd262dc795ba78bf80f0ff69452458d8fe7116f2e3712f46c31b232cdc4a10a7d1b2fbf566a723ca7bc8a7c61b8299730e702c3bb40c6fa94c2647d7 SHA512 a4944c1629f135d09bc2d49fa0ff8d674076d669d312d7650113b2f5f89704faf67ff34ae0392684aa97459c6117b99ec8fd822817c99a6a02e4959c59dea095
diff --git a/media-libs/libshumate/files/1.0.4-tests-Add-test-setup-for-valgrind.patch b/media-libs/libshumate/files/1.0.4-tests-Add-test-setup-for-valgrind.patch
new file mode 100644
index 000000000000..fa3a0ea30abc
--- /dev/null
+++ b/media-libs/libshumate/files/1.0.4-tests-Add-test-setup-for-valgrind.patch
@@ -0,0 +1,98 @@
+https://gitlab.gnome.org/GNOME/libshumate/-/merge_requests/158/
+
+From f4f806207cc59c21331d1542f6629e85a59ea1db Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Thu, 1 Dec 2022 20:48:57 -0500
+Subject: [PATCH] tests: Add test setup for valgrind
+
+valgrind is great, but it often does not support the latest instruction
+sets used by core libraries (e.g. AVX instructions used in glibc). That
+leads to failures that are unrelated to libshumate. For example:
+
+ 6/7 viewport FAIL 0.16s killed by signal 4 SIGILL
+ [...]
+ vex amd64->IR: unhandled instruction bytes: 0xC4 0xE1 0xF9 0x90 0xD 0xDE 0xE8 0x1 0x0 0x41
+ vex amd64->IR: REX=0 REX.W=1 REX.R=0 REX.X=0 REX.B=0
+ vex amd64->IR: VEX=1 VEX.L=0 VEX.nVVVV=0x0 ESC=0F
+ vex amd64->IR: PFX.66=1 PFX.F2=0 PFX.F3=0
+
+Categorizing these tests under a 'valgrind' setup allows distributions
+to easily disable them.
+---
+ tests/meson.build | 38 +++++++++++++++++---------------------
+ 1 file changed, 17 insertions(+), 21 deletions(-)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index eadf54f..362e87d 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -6,21 +6,18 @@ test_env = [
+ 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
+ ]
+
+-valgrind_tests = [
+- 'coordinate',
+- 'memory-cache',
+- 'viewport',
+-]
+-
+ tests = [
++ 'coordinate',
+ 'file-cache',
+- 'marker',
+ 'map',
++ 'marker',
+ 'marker-layer',
++ 'memory-cache',
++ 'viewport',
+ ]
+
+ if get_option('vector_renderer')
+- valgrind_tests += [
++ tests += [
+ 'vector-expression',
+ 'vector-style',
+ 'vector-value',
+@@ -29,21 +26,20 @@ endif
+
+ subdir('data')
+
++# Allow the tests to be easily run under valgrind using --setup=valgrind
+ valgrind = find_program('valgrind', required: false)
+
+ if valgrind.found()
+- foreach test : valgrind_tests
+- executable = executable(
+- test,
+- test_resources,
+- '@0@.c'.format(test),
+- dependencies: [libshumate_dep],
+- )
+-
+- test(test, valgrind, args: ['--leak-check=full', '--error-exitcode=1', executable], env: test_env)
+- endforeach
+-else
+- tests += valgrind_tests
++ add_test_setup('valgrind',
++ exclude_suites: [ 'no-valgrind', 'flaky' ],
++ exe_wrapper: [
++ valgrind,
++ '--leak-check=full',
++ '--error-exitcode=1',
++ ],
++ env: test_env,
++ timeout_multiplier: 20,
++ )
+ endif
+
+ foreach test : tests
+@@ -55,4 +51,4 @@ foreach test : tests
+ )
+
+ test(test, executable, env: test_env)
+-endforeach
+\ No newline at end of file
++endforeach
+--
+2.39.3
+
diff --git a/media-libs/libshumate/libshumate-1.0.4.ebuild b/media-libs/libshumate/libshumate-1.0.4.ebuild
new file mode 100644
index 000000000000..835ca224551f
--- /dev/null
+++ b/media-libs/libshumate/libshumate-1.0.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson vala virtualx
+
+DESCRIPTION="Shumate is a GTK toolkit providing widgets for embedded maps"
+HOMEPAGE="https://wiki.gnome.org/Projects/libshumate https://gitlab.gnome.org/GNOME/libshumate"
+
+SLOT="1.0/1"
+LICENSE="LGPL-2.1+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~sparc ~x86"
+REQUIRED_USE="gtk-doc? ( introspection )"
+
+IUSE="gtk-doc +introspection vala" # vector-renderer is still experimental, maybe put in at a later release
+
+RDEPEND="
+ >=dev-libs/glib-2.68.0:2
+ >=x11-libs/cairo-1.4
+ >=dev-db/sqlite-1.12:3
+ >=gui-libs/gtk-4:4
+ >=net-libs/libsoup-3.0:3.0
+ introspection? ( >=dev-libs/gobject-introspection-0.6.3:= )
+"
+# vector-renderer? (
+# >=dev-libs/json-glib-1.6.0[introspection?]
+# dev-libs/protobuf-c
+# )
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? ( >=dev-util/gi-docgen-2021.1 )
+ vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-tests-Add-test-setup-for-valgrind.patch
+)
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use introspection gir)
+ $(meson_use vala vapi)
+ $(meson_use gtk-doc gtk_doc)
+ -Ddemos=false # only built, not installed
+ # $(meson_use vector-renderer vector_renderer)
+ -Dvector_renderer=false
+ -Dlibsoup3=true
+ )
+ meson_src_configure
+}
+
+src_test() {
+ virtx dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+src_install() {
+ meson_src_install
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html || die
+ mv "${ED}"/usr/share/doc/libshumate-1.0 "${ED}"/usr/share/gtk-doc/html/libshumate-1.0 || die
+ fi
+}