summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2023-07-08 21:29:17 -0400
committerMatt Turner <mattst88@gentoo.org>2023-07-08 21:32:45 -0400
commit63ef74e2de3433a9326731d50bd755b72ab4f4eb (patch)
tree2accd46b41374fe5bac7e3a83c265de52173b02f /media-libs/libshumate
parentsys-apps/baselayout: drop 2.9 (diff)
downloadgentoo-63ef74e2de3433a9326731d50bd755b72ab4f4eb.tar.gz
gentoo-63ef74e2de3433a9326731d50bd755b72ab4f4eb.tar.bz2
gentoo-63ef74e2de3433a9326731d50bd755b72ab4f4eb.zip
media-libs/libshumate: Version bump to 1.0.4
Closes: https://bugs.gentoo.org/889352 Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'media-libs/libshumate')
-rw-r--r--media-libs/libshumate/Manifest1
-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, 163 insertions, 0 deletions
diff --git a/media-libs/libshumate/Manifest b/media-libs/libshumate/Manifest
index 4f4977a28229..c6e5fc462052 100644
--- a/media-libs/libshumate/Manifest
+++ b/media-libs/libshumate/Manifest
@@ -1 +1,2 @@
DIST libshumate-1.0.3.tar.xz 110868 BLAKE2B 56d2304208dd41e1c6dc14b76bd6c5cadfb3359576c1c74405851e63be06deaa92bce4fae7bb91855fee53f561dfa84ccbb7ff61eed2f3195d6a93f76e3e2668 SHA512 dc72955bdbe6eee3d4d82dd884c5e74341fa5de25af388d3cc41a368170e4d8f5edf32acdf320e7dde9bc6ace94694e166eafb864887f66a60fb4053d12e1462
+DIST libshumate-1.0.4.tar.xz 111960 BLAKE2B 889ddcf2231091f72bcadb94a12db545218c8c145c2c803b6febd75481087177cc92c5406d08ed450940f17bb5f094bcb4124cdd5bfa7d3d3ac69b225cf449e9 SHA512 6befa699f11c2bf60ff8d109f24f8015b44084816e66d365d3e7249897901b1d2117f038289287df450296132c6ebe267411caa6bfb2bcf306f907d10a3d1be7
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
+}