summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mail-client/balsa')
-rw-r--r--mail-client/balsa/Manifest1
-rw-r--r--mail-client/balsa/balsa-2.6.4.ebuild111
-rw-r--r--mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch35
-rw-r--r--mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch71
-rw-r--r--mail-client/balsa/metadata.xml1
5 files changed, 219 insertions, 0 deletions
diff --git a/mail-client/balsa/Manifest b/mail-client/balsa/Manifest
index 1a2cc9bdec84..0f10923de5eb 100644
--- a/mail-client/balsa/Manifest
+++ b/mail-client/balsa/Manifest
@@ -1 +1,2 @@
DIST balsa-2.6.3.tar.xz 3761940 BLAKE2B 8bcd93453a74d2b7ffaeca3131828044a9fc399db8e0e695a31dcdb5b50a400e10b3a49d9484609b59e4348758cbeff6fde30243714693e98ab046f7910d1abf SHA512 7e64f75423dd37536812854e56db1af97c00bc35f640d82c22d86e5212c766926430f1c99423f1a972daf6f20d084d4cf16d89e13deb2f1ce550c016cd132f8d
+DIST balsa-2.6.4.tar.xz 3710272 BLAKE2B 67a3462ca6bc75431a6a3f6a54feb53577111355d749e777a328b881d431856a8090e9c7beea128ee466a9b7aee01a4178b5a273541f0ffdd776a144546fc48e SHA512 7c1526e03de29e19448f0a13847dcd7138d3292221ea16f20d09bf169cf18e69df24dd76726e710470d4507e5cc4e236e1889d4c421610ecd1589a9e2338d264
diff --git a/mail-client/balsa/balsa-2.6.4.ebuild b/mail-client/balsa/balsa-2.6.4.ebuild
new file mode 100644
index 000000000000..f50208203354
--- /dev/null
+++ b/mail-client/balsa/balsa-2.6.4.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2-utils meson xdg
+
+DESCRIPTION="Email client for GNOME"
+HOMEPAGE="http://pawsa.fedorapeople.org/balsa/"
+SRC_URI="http://pawsa.fedorapeople.org/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~x86"
+
+IUSE="gnome +gnome-keyring kerberos ldap rubrica sqlite systray webkit xface"
+
+# TODO: internal spell checking via enchant-2 instead of gtkspell/gspell?
+DEPEND="
+ >=dev-libs/glib-2.48.0:2
+ >=x11-libs/gtk+-3.24.0:3
+ >=dev-libs/gmime-3.2.6:3.0
+ >=net-libs/gnutls-3.0:=
+ dev-libs/fribidi
+ >=dev-libs/libical-2.0.0:=
+ webkit? (
+ >=net-libs/webkit-gtk-2.38.0:4.1
+ >=dev-db/sqlite-3.24
+ app-text/html2text
+ )
+ >=app-crypt/gpgme-1.13.0:=
+ sqlite? ( >=dev-db/sqlite-3.24:= )
+ ldap? ( net-nds/openldap:= )
+ rubrica? ( dev-libs/libxml2:2 )
+ kerberos? ( app-crypt/mit-krb5 )
+ xface? ( >=media-libs/compface-1.5.1:= )
+ gnome? ( x11-libs/gtksourceview:4 )
+ media-libs/libcanberra[gtk3]
+ gnome-keyring? ( app-crypt/libsecret )
+ >=app-text/gspell-1.6:0=
+
+ net-mail/mailbase
+ x11-themes/hicolor-icon-theme
+ x11-themes/adwaita-icon-theme
+ dev-libs/openssl:0=
+ systray? ( x11-libs/xapp )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-util/gtk-update-icon-cache
+ dev-util/intltool
+ dev-util/itstool
+ virtual/pkgconfig
+ sys-devel/gettext
+ dev-libs/libxml2:2
+"
+
+DOCS="AUTHORS ChangeLog HACKING NEWS TODO docs/*"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-error-if-html-support-is-disabled.patch
+ "${FILESDIR}"/${P}-depend-on-webkit2gtk-4.1-if-available.patch
+)
+
+src_prepare() {
+ default
+ # we don't need the package to update the icon cache. We do it ourselves in xdg_pkg_postinst
+ sed -i 's/if gtk_update_icon_cache_program.found()/if false/' images/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gnome gnome-desktop)
+ -Dflock=false
+ -Dfcntl=true
+ $(meson_use sqlite autocrypt)
+ $(meson_use systray)
+ -Dcanberra=true
+ $(meson_use xface compface)
+ $(meson_use kerberos gss)
+ $(meson_use gnome gtksourceview)
+ -Dspell-checker=gspell
+ $(meson_use ldap)
+ -Dmacosx-desktop=false
+ $(meson_use rubrica)
+ -Dosmo=false
+ $(meson_use sqlite)
+ $(meson_use gnome-keyring libsecret)
+ -Dgcr=false
+ -Dmore-warnings=true
+ -Dhelp-files=false
+ -Dlibnetclient-docs=false
+ -Dlibnetclient-test=false
+ )
+ if use webkit; then
+ emesonargs+=(-Dhtml-widget=webkit2)
+ else
+ emesonargs+=(-Dhtml-widget=no)
+ fi
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch b/mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch
new file mode 100644
index 000000000000..ea5283cfd996
--- /dev/null
+++ b/mail-client/balsa/files/balsa-2.6.4-depend-on-webkit2gtk-4.1-if-available.patch
@@ -0,0 +1,35 @@
+From aa81a24021f3b48a7f207ef7049c0e8f25207661 Mon Sep 17 00:00:00 2001
+From: Peter Bloomfield <PeterBloomfield@bellsouth.net>
+Date: Sun, 2 Oct 2022 15:17:29 -0400
+Subject: [PATCH] meson.build: Depend on webkit2gtk-4.1 if available
+
+Build against webkit2gtk-4.1 if available, falling back to webkit2gtk-4.0.
+
+webkit2gtk-4.1 has the same API as webkit2gtk-4.0, so no code changes
+are needed, but it links against libsoup-3.0 instead of libsoup-2.4.
+
+See https://discourse.gnome.org/t/removing-libsoup-2-for-gnome-45/10846
+for some discussion.
+---
+ meson.build | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 801f619c7..bee3040f6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -169,7 +169,10 @@ libnetclient_deps = [glib_dep,
+ # HTML widget
+ #
+ if html_widget == 'webkit2'
+- html_dep = dependency('webkit2gtk-4.0', version : '>= 2.28.0')
++ html_dep = dependency('webkit2gtk-4.1', required : false)
++ if not html_dep.found()
++ html_dep = dependency('webkit2gtk-4.0', version : '>= 2.28.0')
++ endif
+ htmlpref_dep = dependency('sqlite3', version : '>= 3.24.0')
+ balsa_web_extensions = join_paths(get_option('prefix'), get_option('libdir'), 'balsa')
+ add_project_arguments('-DBALSA_WEB_EXTENSIONS="' + balsa_web_extensions + '"', language : 'c')
+--
+GitLab
+
diff --git a/mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch b/mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch
new file mode 100644
index 000000000000..16ca2a890e04
--- /dev/null
+++ b/mail-client/balsa/files/balsa-2.6.4-fix-build-error-if-html-support-is-disabled.patch
@@ -0,0 +1,71 @@
+From 23aef3f0e0fb68921448007b4e361b47a4eec2b6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Albrecht=20Dre=C3=9F?= <albrecht.dress@netcologne.de>
+Date: Thu, 22 Sep 2022 19:53:08 +0200
+Subject: [PATCH] fix build error if HTML support is disabled
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Thanks to Bruce Dubbs from linuxfromscratch.org for reporting this
+issue.
+
+libbalsa/body.c: mask out HTML selection table if HTML support is
+disabled
+libbalsa/body.c: fix macros if HTML support is disabled
+
+Signed-off-by: Albrecht Dreß <albrecht.dress@netcologne.de>
+---
+ libbalsa/body.c | 4 ++++
+ libbalsa/body.h | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libbalsa/body.c b/libbalsa/body.c
+index e300ae969..25d35fe77 100644
+--- a/libbalsa/body.c
++++ b/libbalsa/body.c
+@@ -65,6 +65,7 @@ libbalsa_message_body_new(LibBalsaMessage * message)
+ return body;
+ }
+
++#ifdef HAVE_HTML_WIDGET
+ static void
+ body_weak_notify(gpointer data,
+ GObject *key)
+@@ -81,6 +82,7 @@ selection_table_foreach(gpointer key,
+ {
+ g_object_weak_unref(key, body_weak_notify, user_data);
+ }
++#endif /* HAVE_HTML_WIDGET */
+
+ void
+ libbalsa_message_body_free(LibBalsaMessageBody * body)
+@@ -111,10 +113,12 @@ libbalsa_message_body_free(LibBalsaMessageBody * body)
+ if (body->mime_part)
+ g_object_unref(body->mime_part);
+
++#ifdef HAVE_HTML_WIDGET
+ if (body->selection_table != NULL) {
+ g_hash_table_foreach(body->selection_table, selection_table_foreach, body);
+ g_hash_table_destroy(body->selection_table);
+ }
++#endif /* HAVE_HTML_WIDGET */
+
+ g_free(body);
+ }
+diff --git a/libbalsa/body.h b/libbalsa/body.h
+index 2650df728..139810018 100644
+--- a/libbalsa/body.h
++++ b/libbalsa/body.h
+@@ -155,8 +155,8 @@ void libbalsa_message_body_set_mp_alt_selection(LibBalsaMessageBody *body,
+ LibBalsaMpAltSelection libbalsa_message_body_get_mp_alt_selection(LibBalsaMessageBody *body,
+ gpointer key);
+ #else
+-#define libbalsa_message_body_set_mp_alt_selection(x)
+-#define libbalsa_message_body_get_mp_alt_selection(x) LIBBALSA_MP_ALT_AUTO
++#define libbalsa_message_body_set_mp_alt_selection(x, y)
++#define libbalsa_message_body_get_mp_alt_selection(x, y) LIBBALSA_MP_ALT_AUTO
+ #endif /*HAVE_HTML_WIDGET*/
+
+ guint libbalsa_message_body_protect_mode(const LibBalsaMessageBody * body);
+--
+GitLab
diff --git a/mail-client/balsa/metadata.xml b/mail-client/balsa/metadata.xml
index 1ee5337540c8..54f5dedb7cdc 100644
--- a/mail-client/balsa/metadata.xml
+++ b/mail-client/balsa/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<use>
<flag name="rubrica">Adds support for rubrica addressbook</flag>
+ <flag name="systray">Enable System Tray Icon support</flag>
</use>
</pkgmetadata>