commit:     63ef74e2de3433a9326731d50bd755b72ab4f4eb
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  9 01:29:17 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sun Jul  9 01:32:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63ef74e2

media-libs/libshumate: Version bump to 1.0.4

Closes: https://bugs.gentoo.org/889352
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 media-libs/libshumate/Manifest                     |  1 +
 .../1.0.4-tests-Add-test-setup-for-valgrind.patch  | 98 ++++++++++++++++++++++
 media-libs/libshumate/libshumate-1.0.4.ebuild      | 64 ++++++++++++++
 3 files changed, 163 insertions(+)

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 <[email protected]>
+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,
+-      '@[email protected]'.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
+}

Reply via email to