summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2021-03-27 17:35:56 -0400
committerMatt Turner <mattst88@gentoo.org>2021-03-27 17:47:04 -0400
commit6116ba2ccceddcef38f6aea7165bdb0d8ca736e8 (patch)
treed9fd39ba94853f810b011391816b30603dc2d537 /dev-libs/libgweather
parentdev-libs/libgweather: Version bump to 3.36.2 (diff)
downloadgentoo-6116ba2ccceddcef38f6aea7165bdb0d8ca736e8.tar.gz
gentoo-6116ba2ccceddcef38f6aea7165bdb0d8ca736e8.tar.bz2
gentoo-6116ba2ccceddcef38f6aea7165bdb0d8ca736e8.zip
dev-libs/libgweather: Version bump to 40.0
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'dev-libs/libgweather')
-rw-r--r--dev-libs/libgweather/Manifest1
-rw-r--r--dev-libs/libgweather/files/40.0-autoskip-network-test.patch29
-rw-r--r--dev-libs/libgweather/files/40.0-meson-tweaks.patch109
-rw-r--r--dev-libs/libgweather/files/40.0-tests-locale.patch55
-rw-r--r--dev-libs/libgweather/libgweather-40.0.ebuild70
5 files changed, 264 insertions, 0 deletions
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
index f833821c1a24..c0343643d815 100644
--- a/dev-libs/libgweather/Manifest
+++ b/dev-libs/libgweather/Manifest
@@ -1,2 +1,3 @@
DIST libgweather-3.36.1.tar.xz 2702144 BLAKE2B bd867461b64ef81607695ae1a3796d2b096129a9a60721c5fcb20d8c35859c0b76a985e9393c23b311f7c0fdec3e691618eab83a826b483c427287906d575251 SHA512 6c7090b0b6dfac61e73a398d34329cd706080a007694ceb3d47700b4f444982f8ca989dd6dfaefe85b79ffd5af9c423be4bf1bd8491ac0ba6bd15c150d97b26d
DIST libgweather-3.36.2.tar.xz 2707976 BLAKE2B 0051e1fe9dccef44ff6fe46bdf8e6b23c9a772ed000daf3a0349e064819d0f17f3f7d902f9c860f0d186a67fc6c5a27b31a8b20b4fec7e738221a58830216ca5 SHA512 58012931382d87b10ace79f6e2337a9244a0877a8bc241bad5da6368f6d8eaa815f88bee25cfd49b12baa4b2399a407b905f1cf0afb98f649fda6b0dc9f61f01
+DIST libgweather-40.0.tar.xz 2704404 BLAKE2B 27bc69c350ae91a07307d75b5ea1d03bb251f51bf87d5d54861965b61d7ed825ab708466cbe9d961c4f544b8b17ca6ed37b723c003ce2c1ef020270d6812c61d SHA512 72e295246bf03550039a70bd4bf5b8f06357a6b70e04308c197fba309e406d410a97d128d849d97a29a6a114faa1ef5452e6632870b7ea45223a0c305c228cc1
diff --git a/dev-libs/libgweather/files/40.0-autoskip-network-test.patch b/dev-libs/libgweather/files/40.0-autoskip-network-test.patch
new file mode 100644
index 000000000000..def65382613b
--- /dev/null
+++ b/dev-libs/libgweather/files/40.0-autoskip-network-test.patch
@@ -0,0 +1,29 @@
+From 1d0ae284635ef1975a581b4d73ab497ccbd4532f Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sun, 30 Aug 2020 10:35:13 +0300
+Subject: [PATCH 2/2] tests: Skip metar tests when METAR_SOURCES couldn't be
+ resolved
+
+---
+ libgweather/test_libgweather.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libgweather/test_libgweather.c b/libgweather/test_libgweather.c
+index ee13dc7b..7ffaac41 100644
+--- a/libgweather/test_libgweather.c
++++ b/libgweather/test_libgweather.c
+@@ -438,6 +438,11 @@ test_metar_weather_stations (void)
+ g_test_message ("SSL/TLS failure, please check your glib-networking installation");
+ g_test_failed ();
+ return;
++ } else if (msg->status_code == SOUP_STATUS_CANT_RESOLVE) {
++ g_test_skip ("Could not resolve " METAR_SOURCES " - network sandboxed?");
++ g_object_unref (session);
++ g_object_unref (msg);
++ return;
+ }
+ g_assert_cmpint (msg->status_code, >=, 200);
+ g_assert_cmpint (msg->status_code, <, 300);
+--
+2.26.2
+
diff --git a/dev-libs/libgweather/files/40.0-meson-tweaks.patch b/dev-libs/libgweather/files/40.0-meson-tweaks.patch
new file mode 100644
index 000000000000..aa56c592890f
--- /dev/null
+++ b/dev-libs/libgweather/files/40.0-meson-tweaks.patch
@@ -0,0 +1,109 @@
+From bbf17eac53c128904190ef2d74176b0717d7d907 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sat, 23 Feb 2019 12:21:01 +0200
+Subject: [PATCH] build: Provide introspection option and don't build manual
+ tests
+
+---
+ libgweather/meson.build | 21 ++++++++++++++-------
+ meson.build | 4 ++++
+ meson_options.txt | 2 ++
+ 3 files changed, 20 insertions(+), 7 deletions(-)
+
+diff --git a/libgweather/meson.build b/libgweather/meson.build
+index 26f067e6..8f0f9047 100644
+--- a/libgweather/meson.build
++++ b/libgweather/meson.build
+@@ -74,6 +74,15 @@ lib_libgweather = shared_library('gweather-3',
+ install: true,
+ )
+
++libgweather_dep = declare_dependency(
++ sources: [gweather_enum_types[1]],
++ dependencies: deps_libgweather,
++ link_with: lib_libgweather,
++ include_directories: root_inc,
++)
++
++if get_option('introspection')
++
+ gweather_gir = gnome.generate_gir(lib_libgweather,
+ sources: introspection_sources,
+ dependencies: deps_libgweather,
+@@ -91,13 +100,6 @@ gweather_gir = gnome.generate_gir(lib_libgweather,
+ install: true,
+ )
+
+-libgweather_dep = declare_dependency(
+- sources: [gweather_enum_types[1], gweather_gir],
+- dependencies: deps_libgweather,
+- link_with: lib_libgweather,
+- include_directories: root_inc,
+-)
+-
+ if enable_vala
+ gnome.generate_vapi('gweather-3.0',
+ sources: gweather_gir[0],
+@@ -106,11 +108,13 @@ if enable_vala
+ install: true
+ )
+ endif
++endif
+
+ test_cargs = ['-DTEST_LOCATIONS="@0@"'.format(locations_bin.full_path()),
+ '-DSCHEMASDIR="@0@/schemas"'.format(meson.source_root()),
+ '-DSCHEMAS_BUILDDIR="@0@/schemas"'.format(meson.build_root())]
+
++if false
+ executable('test_locations',
+ ['test_locations.c'],
+ c_args: test_cargs,
+@@ -121,6 +125,7 @@ executable('test_locations_utc',
+ c_args: test_cargs,
+ dependencies: libgweather_dep,
+ install: false)
++endif
+
+ exe = executable('test_libgweather',
+ ['test_libgweather.c'],
+@@ -129,6 +134,7 @@ exe = executable('test_libgweather',
+ install: false)
+ test('test_libgweather', exe, depends: [locations_bin])
+
++if false
+ executable('test_metar',
+ ['test_metar.c', gweather_c_sources],
+ c_args: test_cargs,
+@@ -144,3 +150,4 @@ executable('test_weather',
+ c_args: test_cargs,
+ dependencies: libgweather_dep,
+ install: false)
++endif
+diff --git a/meson.build b/meson.build
+index 87f9a7d8..48ff0ca2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -104,6 +104,10 @@ else
+ enable_vala = enable_vala != 'false'
+ endif
+
++if enable_vala and not get_option('introspection')
++ error('Vala bindings require introspection support')
++endif
++
+ root_inc = include_directories('.')
+
+ subdir('data')
+diff --git a/meson_options.txt b/meson_options.txt
+index 19b2c6a7..bf4c5175 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -8,3 +8,5 @@ option('enable_vala', type: 'combo', choices : ['true', 'false', 'auto'], value
+ description: 'Install vala bindings')
+ option('gtk_doc', type: 'boolean', value: false,
+ description: 'Whether to generate the API reference')
++option('introspection', type: 'boolean', value: true,
++ description: 'generate GObject Introspection data')
+--
+2.26.2
+
diff --git a/dev-libs/libgweather/files/40.0-tests-locale.patch b/dev-libs/libgweather/files/40.0-tests-locale.patch
new file mode 100644
index 000000000000..ea1f6020152d
--- /dev/null
+++ b/dev-libs/libgweather/files/40.0-tests-locale.patch
@@ -0,0 +1,55 @@
+From 6b2801a8195990fdf5166b62f62ddfbad55f11e4 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Mon, 9 Mar 2020 12:21:57 +0000
+Subject: [PATCH 1/2] Do not run local-dependent tests with missing locales
+
+Not everyone has all the locales installed all the time, so let's check
+if a locale is available before using it.
+---
+ libgweather/test_libgweather.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/libgweather/test_libgweather.c b/libgweather/test_libgweather.c
+index b10c1f16..ee13dc7b 100644
+--- a/libgweather/test_libgweather.c
++++ b/libgweather/test_libgweather.c
+@@ -678,6 +678,7 @@ test_location_names (void)
+ {
+ g_autoptr(GWeatherLocation) world = NULL;
+ g_autoptr(GWeatherLocation) brussels = NULL;
++ char *old_locale;
+
+ world = gweather_location_get_world ();
+ g_assert_nonnull (world);
+@@ -689,10 +690,19 @@ test_location_names (void)
+ g_assert_cmpstr (gweather_location_get_english_name (brussels), ==, "Brussels");
+ gweather_location_unref (brussels);
+
++ old_locale = g_strdup (setlocale (LC_ALL, NULL));
+ setlocale (LC_ALL, "fr_FR.UTF-8");
+
+ g_clear_pointer (&world, gweather_location_unref);
+ g_clear_pointer (&brussels, gweather_location_unref);
++ if (strstr (setlocale (LC_ALL, NULL), "fr_FR.UTF-8") == NULL)
++ {
++ g_test_skip ("locale fr_FR.UTF-8 not available, skipping localization tests");
++ setlocale (LC_ALL, old_locale);
++ g_free (old_locale);
++ return;
++ }
++
+ _gweather_location_reset_world ();
+
+ world = gweather_location_get_world ();
+@@ -705,7 +715,7 @@ test_location_names (void)
+ g_assert_cmpstr (gweather_location_get_english_name (brussels), ==, "Brussels");
+ gweather_location_unref (brussels);
+
+- setlocale (LC_ALL, "");
++ setlocale (LC_ALL, old_locale);
+ g_clear_pointer (&world, gweather_location_unref);
+ g_clear_pointer (&brussels, gweather_location_unref);
+ _gweather_location_reset_world ();
+--
+2.26.2
+
diff --git a/dev-libs/libgweather/libgweather-40.0.ebuild b/dev-libs/libgweather/libgweather-40.0.ebuild
new file mode 100644
index 000000000000..46454d5c78d0
--- /dev/null
+++ b/dev-libs/libgweather/libgweather-40.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome.org gnome2-utils meson vala xdg
+
+DESCRIPTION="Location and timezone database and weather-lookup library"
+HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
+
+LICENSE="GPL-2+"
+SLOT="2/3-16-2" # subslot = 3-(libgweather-3 soname suffix) w/ temporary -2 suffix for silent ABI break after 3.28 without soname bump as per distro-list
+
+IUSE="glade gtk-doc +introspection +vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+
+RDEPEND="
+ >=dev-libs/glib-2.44.0:2
+ >=x11-libs/gtk+-3.13.5:3[introspection?]
+ >=net-libs/libsoup-2.44:2.4
+ >=dev-libs/libxml2-2.6.0:2
+ sci-geosciences/geocode-glib
+ >=sys-libs/timezone-data-2010k
+
+ glade? ( >=dev-util/glade-3.16:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gtk-doc-1.11
+ app-text/docbook-xml-dtd:4.3 )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+"
+
+PATCHES=(
+ "${FILESDIR}"/40.0-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
+ "${FILESDIR}"/40.0-tests-locale.patch # Don't fail tests when a locale is not present, https://gitlab.gnome.org/GNOME/libgweather/-/merge_requests/58
+ "${FILESDIR}"/40.0-autoskip-network-test.patch
+)
+
+src_prepare() {
+ xdg_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use glade glade_catalog)
+ $(meson_use vala enable_vala)
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}