summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-03-04 05:44:19 +0000
committerSam James <sam@gentoo.org>2024-03-04 05:44:43 +0000
commit0a5a81b94069143e452d8196d659b1d8a8565475 (patch)
tree3969d5e7d16546587a87666d5e0de2f60131553a /net-im/dino
parentdev-libs/libsigsegv: update EAPI 7 -> 8, modern C fixes (diff)
downloadgentoo-0a5a81b94069143e452d8196d659b1d8a8565475.tar.gz
gentoo-0a5a81b94069143e452d8196d659b1d8a8565475.tar.bz2
gentoo-0a5a81b94069143e452d8196d659b1d8a8565475.zip
net-im/dino: fix modern C issues
Closes: https://bugs.gentoo.org/926073 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-im/dino')
-rw-r--r--net-im/dino/dino-0.4.3-r1.ebuild103
-rw-r--r--net-im/dino/files/dino-0.4.3-c99.patch57
2 files changed, 160 insertions, 0 deletions
diff --git a/net-im/dino/dino-0.4.3-r1.ebuild b/net-im/dino/dino-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..0badcf1fd992
--- /dev/null
+++ b/net-im/dino/dino-0.4.3-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake vala xdg readme.gentoo-r1
+
+DESCRIPTION="Modern Jabber/XMPP Client using GTK+/Vala"
+HOMEPAGE="https://dino.im"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+gpg +http +omemo +notification-sound +rtp test"
+RESTRICT="!test? ( test )"
+
+MY_REPO_URI="https://github.com/dino/dino"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="${MY_REPO_URI}.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm64"
+ SRC_URI="${MY_REPO_URI}/releases/download/v${PV}/${P}.tar.gz"
+fi
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/icu:=
+ dev-libs/libgee:0.8=
+ gui-libs/gtk:4
+ >=gui-libs/libadwaita-1.2.0:1[vala]
+ media-libs/graphene
+ net-libs/glib-networking
+ net-libs/gnutls:=
+ >=net-libs/libnice-0.1.15
+ net-libs/libsignal-protocol-c
+ net-libs/libsrtp:2=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+ gpg? ( app-crypt/gpgme:= )
+ http? ( net-libs/libsoup:2.4 )
+ notification-sound? ( media-libs/libcanberra:0[sound] )
+ omemo? (
+ dev-libs/libgcrypt:=
+ media-gfx/qrencode:=
+ )
+ rtp? (
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/webrtc-audio-processing:0
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ media-libs/gst-plugins-base
+ media-libs/gstreamer
+"
+BDEPEND="
+ sys-devel/gettext
+ $(vala_depend)
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_configure() {
+ vala_setup
+
+ local disabled_plugins=(
+ $(usex gpg "" "openpgp")
+ $(usex omemo "" "omemo")
+ $(usex http "" "http-files")
+ $(usex rtp "" rtp)
+ )
+ local enabled_plugins=(
+ $(usex notification-sound "notification-sound" "")
+ )
+ local mycmakeargs=(
+ "-DENABLED_PLUGINS=$(local IFS=";"; echo "${enabled_plugins[*]}")"
+ "-DDISABLED_PLUGINS=$(local IFS=";"; echo "${disabled_plugins[*]}")"
+ "-DVALA_EXECUTABLE=${VALAC}"
+ "-DSOUP_VERSION=2"
+ "-DBUILD_TESTS=$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/xmpp-vala-test || die
+}
+
+src_install() {
+ cmake_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ readme.gentoo_print_elog
+}
diff --git a/net-im/dino/files/dino-0.4.3-c99.patch b/net-im/dino/files/dino-0.4.3-c99.patch
new file mode 100644
index 000000000000..d21ff5e4adec
--- /dev/null
+++ b/net-im/dino/files/dino-0.4.3-c99.patch
@@ -0,0 +1,57 @@
+https://bugs.gentoo.org/926073
+https://github.com/dino/dino/commit/0c45387bf903e5b0d02502d27642dd2a78aa6539
+
+From 0c45387bf903e5b0d02502d27642dd2a78aa6539 Mon Sep 17 00:00:00 2001
+From: fiaxh <git@lightrise.org>
+Date: Sat, 7 Oct 2023 13:56:38 +0200
+Subject: [PATCH] Fix implicit-function-declaration compiler warnings
+
+--- a/xmpp-vala/src/module/xep/0384_omemo/omemo_encryptor.vala
++++ b/xmpp-vala/src/module/xep/0384_omemo/omemo_encryptor.vala
+@@ -72,27 +72,27 @@ namespace Xmpp.Xep.Omemo {
+ }
+
+ public class EncryptionResult {
+- public int lost { get; internal set; }
+- public int success { get; internal set; }
+- public int unknown { get; internal set; }
+- public int failure { get; internal set; }
++ public int lost { get; set; }
++ public int success { get; set; }
++ public int unknown { get; set; }
++ public int failure { get; set; }
+ }
+
+ public class EncryptState {
+- public bool encrypted { get; internal set; }
+- public int other_devices { get; internal set; }
+- public int other_success { get; internal set; }
+- public int other_lost { get; internal set; }
+- public int other_unknown { get; internal set; }
+- public int other_failure { get; internal set; }
+- public int other_waiting_lists { get; internal set; }
+-
+- public int own_devices { get; internal set; }
+- public int own_success { get; internal set; }
+- public int own_lost { get; internal set; }
+- public int own_unknown { get; internal set; }
+- public int own_failure { get; internal set; }
+- public bool own_list { get; internal set; }
++ public bool encrypted { get; set; }
++ public int other_devices { get; set; }
++ public int other_success { get; set; }
++ public int other_lost { get; set; }
++ public int other_unknown { get; set; }
++ public int other_failure { get; set; }
++ public int other_waiting_lists { get; set; }
++
++ public int own_devices { get; set; }
++ public int own_success { get; set; }
++ public int own_lost { get; set; }
++ public int own_unknown { get; set; }
++ public int own_failure { get; set; }
++ public bool own_list { get; set; }
+
+ public void add_result(EncryptionResult enc_res, bool own) {
+ if (own) {
+