summaryrefslogtreecommitdiff
path: root/dev-libs/folks
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-30 11:49:23 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-30 11:49:23 +0000
commit840a65e2af3f2cc7527e723a28f6e627a9592fb7 (patch)
tree66e124d9e55317fe43e1af9984e75c156df5cb29 /dev-libs/folks
parent73e3b099187df1c4f2df056e45f345a56d2535aa (diff)
gentoo auto-resync : 30:01:2024 - 11:49:23
Diffstat (limited to 'dev-libs/folks')
-rw-r--r--dev-libs/folks/Manifest2
-rw-r--r--dev-libs/folks/files/folks-0.15.6-implicit-decl.patch61
-rw-r--r--dev-libs/folks/folks-0.15.6-r1.ebuild102
3 files changed, 165 insertions, 0 deletions
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 <triallax@tutanota.com>
+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
+}