From 840a65e2af3f2cc7527e723a28f6e627a9592fb7 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 30 Jan 2024 11:49:23 +0000 Subject: gentoo auto-resync : 30:01:2024 - 11:49:23 --- dev-libs/folks/Manifest | 2 + .../folks/files/folks-0.15.6-implicit-decl.patch | 61 ++++++++++++ dev-libs/folks/folks-0.15.6-r1.ebuild | 102 +++++++++++++++++++++ 3 files changed, 165 insertions(+) create mode 100644 dev-libs/folks/files/folks-0.15.6-implicit-decl.patch create mode 100644 dev-libs/folks/folks-0.15.6-r1.ebuild (limited to 'dev-libs/folks') diff --git a/dev-libs/folks/Manifest b/dev-libs/folks/Manifest index 5ef46b78833a..a11a7bc48dd6 100644 --- a/dev-libs/folks/Manifest +++ b/dev-libs/folks/Manifest @@ -1,3 +1,5 @@ +AUX folks-0.15.6-implicit-decl.patch 2355 BLAKE2B a366f9c58f161f3e776e4a91165b9e2847ce1419eb17559c188306a7e5739fd2d9179b4e6b9cbd6efa35eb428c96f17a0b84f95dcb4bbe184e83a555415cb73b SHA512 5770414af17016951bffe1de6099ba0b1b29881a044cc7d41e279c848fa4ffae57d5bdeca254858c2158bd470a09a478080c3645c529fcea81bc09c85119c027 DIST folks-0.15.6.tar.xz 497968 BLAKE2B bb9237fae05a748a18a85d29034e879947c4ffcc1d3dbe7277c8e1f41e6e9c9ec27170e9e7d2ccb6dcc89789d331f7f320648620636e1ee54685906fc67ba4f9 SHA512 8d77c3b4c963d88877798b24da9edd977b3ac4b18568ed75885fa87bf81e0e8f29dc8232352e3fefc0bf2c9bb8ca6cea984d87d946a3892963a158bd4f45dc30 +EBUILD folks-0.15.6-r1.ebuild 2531 BLAKE2B a94e34e46ee987d7f10d59abf552d4e932280ffa2818625dc95ec0cf4f235e0d8751229320de0e72b6173be2c841fa78d843b6b292fcba955561ced229e91a16 SHA512 89483d61ac8bfb0e6c9e062e32b0b4c6a7979cc8fba52979eeba962df3a8a7958ddd1cd753fdc55bc9cb195b4c40f9499d3e530ba31c182a7c751d30ad6e44e3 EBUILD folks-0.15.6.ebuild 2316 BLAKE2B 755a2cc016bc6a4152b49f7fc98bd68203bc0b2278eb6750ab6a9d5022a21607cb2ae4448a8a2540f3a3f5c9928c563156a1e4e46d39abba5bb47022d184b1c6 SHA512 befd3a9ef73778806b1b2d5d072c2a8838a8f88197d9164c28f0305e9dc2456db231304fa465d15446180c62178bdc7c2404ae875d566b0d2813d522db95b957 MISC metadata.xml 502 BLAKE2B 7f53a803053323804b7c28f44e2490e4ffa63a26a2c0fc153850043b2b91e75bcbb817fbaf8b9e3af0e8a0735b60c827c34f13b5a567300c4a97918be4e955c8 SHA512 934fd324cb9d464af7cbfc0c6746071d00f0404d716319ce7e2460a0ddb0e60f60fec211cac8d87cf9d7e70c849744a8d62e7268c7774d677f2e8481a30a3a09 diff --git a/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch new file mode 100644 index 000000000000..f61d655343e4 --- /dev/null +++ b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch @@ -0,0 +1,61 @@ +From 127bacf86b7ef639c37dd07afc0bf848c005c3c2 Mon Sep 17 00:00:00 2001 +From: Mohammed Anas +Date: Sun, 14 Jan 2024 03:27:31 +0000 +Subject: [PATCH] build: add missing API declaration -include to dummy and EDS + backends + +In 7a9c8133468c1f8eb7fbb0e68a6a7e061b9452fb, the original +`-include redeclare-internal-api.h` was added for autotools. It is +necessary due to vala internals that require guaranteeing a private +ABI's prototype is available when compiling folks, even though vala +doesn't generate that prototype. + +During the port to meson, this `-include` was dropped. + +Without it, `-Werror=implicit-function-declaration` will cause folks to +fail to compile. Implicit function declarations are a terrible feature +-- they were part of c89, but c99 removed them without a deprecation +because they were too dangerous to use, notable in a language that +doesn't like to remove features even *with* a deprecation. + +For over two decades, compilers have, by default, allowed this invalid C +anyways, on the grounds that it commonly existed, but modern compilers +are finally starting to enforce this. It will become a fatal error by +default in gcc 14, and clang 16. + +Folks got this right all the way back in 2013; it disappeared by +accident. Let's restore it as originally intended. +--- +Upstream: https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68 + + backends/dummy/lib/meson.build | 1 + + backends/eds/lib/meson.build | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/backends/dummy/lib/meson.build b/backends/dummy/lib/meson.build +index 32448f35..eacc0e7a 100644 +--- a/backends/dummy/lib/meson.build ++++ b/backends/dummy/lib/meson.build +@@ -23,6 +23,7 @@ dummy_backendlib_vala_flags = [ + + dummy_backendlib_c_flags = [ + '-include', 'config.h', ++ '-include', 'folks/redeclare-internal-api.h', + '-DBACKEND_NAME="@0@"'.format(dummy_backend_name), + '-DG_LOG_DOMAIN="@0@"'.format(dummy_backend_name), + ] +diff --git a/backends/eds/lib/meson.build b/backends/eds/lib/meson.build +index 3e3db84c..68d803b3 100644 +--- a/backends/eds/lib/meson.build ++++ b/backends/eds/lib/meson.build +@@ -40,6 +40,7 @@ endif + + eds_backendlib_c_flags = [ + '-include', 'config.h', ++ '-include', 'folks/redeclare-internal-api.h', + '-DBACKEND_NAME="@0@"'.format(eds_backend_name), + '-DG_LOG_DOMAIN="@0@"'.format(eds_backend_name), + ] +-- +GitLab + diff --git a/dev-libs/folks/folks-0.15.6-r1.ebuild b/dev-libs/folks/folks-0.15.6-r1.ebuild new file mode 100644 index 000000000000..a01a4476a16d --- /dev/null +++ b/dev-libs/folks/folks-0.15.6-r1.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{9..11} ) + +inherit gnome.org gnome2-utils meson python-any-r1 vala xdg + +DESCRIPTION="Library for aggregating people from multiple sources" +HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks" + +LICENSE="LGPL-2.1+" +SLOT="0/26" # subslot = libfolks soname version +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux" + +IUSE="bluetooth eds telepathy test utils" +REQUIRED_USE="bluetooth? ( eds )" +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-libs/glib-2.58:2 + >=dev-libs/libgee-0.10:0.8[introspection] + >=dev-libs/gobject-introspection-1.54:= + telepathy? ( + >=net-libs/telepathy-glib-0.19.9 + dev-libs/dbus-glib + ) + eds? ( >=gnome-extra/evolution-data-server-3.38:= ) + dev-libs/libxml2:2 + utils? ( sys-libs/readline:0= ) +" +# telepathy-mission-control needed at runtime; it is used by the telepathy +# backend via telepathy-glib's AccountManager binding. +RDEPEND="${DEPEND} + bluetooth? ( >=net-wireless/bluez-5[obex] ) + telepathy? ( net-im/telepathy-mission-control ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + $(vala_depend) + telepathy? ( net-libs/telepathy-glib[vala] ) + eds? ( gnome-extra/evolution-data-server[vala] ) + test? ( + sys-apps/dbus + bluetooth? ( + $(python_gen_any_dep ' + dev-python/python-dbusmock[${PYTHON_USEDEP}] + ') + ) + ) +" + +PATCHES=( + # implicit function declaration (Modern C porting): + # - https://bugs.gentoo.org/920098 + # - https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68 + "${FILESDIR}"/folks-0.15.6-implicit-decl.patch +) + +python_check_deps() { + if use test && use bluetooth; then + python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" + fi +} + +src_prepare() { + default + vala_setup + xdg_environment_reset +} + +src_configure() { + local emesonargs=( + $(meson_use bluetooth bluez_backend) + $(meson_use eds eds_backend) + $(meson_use eds ofono_backend) + $(meson_use telepathy telepathy_backend) + -Dzeitgeist=false # last rited package + -Dimport_tool=true + $(meson_use utils inspect_tool) + $(meson_use test tests) + -Dinstalled_tests=false + -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother + ) + meson_src_configure +} + +src_test() { + dbus-run-session meson test -C "${BUILD_DIR}" -t 5 +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} -- cgit v1.2.3