parent
d03e9f77c3
commit
f01e2666e5
@ -0,0 +1 @@
|
||||
DIST claws-mail-4.1.1.tar.xz 6523688 BLAKE2B 7e1b1ae201a67e14821f415d2b51f6eebfc2896699d89f2088fa9f7f21de984f6d8e4e92791c233ec755a15184ff5e562ce96ad9d197acc4e1f8dadb3fd57c30 SHA512 4157772fd0e918bae1df11230ce52691ff86181a0c164c0c5116d1ebb91885910e2e24ff18ae5e5ad4ed1c83ef830773de0b4ab40da988607909e0c17efb26b4
|
@ -0,0 +1,219 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit autotools desktop python-any-r1 xdg
|
||||
|
||||
DESCRIPTION="An email client (and news reader) based on GTK+"
|
||||
HOMEPAGE="https://www.claws-mail.org/"
|
||||
|
||||
if [[ "${PV}" == *9999 ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.claws-mail.org/readonly/claws.git"
|
||||
else
|
||||
SRC_URI="https://www.claws-mail.org/download.php?file=releases/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
fi
|
||||
|
||||
SLOT="0"
|
||||
QA_PKGCONFIG_VERSION="${PV}.0"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
IUSE="archive bogofilter calendar clamav dbus debug dillo doc gdata +gnutls +imap ldap +libcanberra +libnotify litehtml networkmanager nls nntp +notification +oauth pdf perl +pgp rss session sieve smime spamassassin spam-report spell startup-notification svg valgrind webkit xface"
|
||||
REQUIRED_USE="
|
||||
libcanberra? ( notification )
|
||||
libnotify? ( notification )
|
||||
networkmanager? ( dbus )
|
||||
oauth? ( gnutls )
|
||||
smime? ( pgp )
|
||||
"
|
||||
|
||||
COMMONDEPEND="
|
||||
dev-libs/nettle:=
|
||||
net-mail/ytnef
|
||||
sys-libs/zlib:=
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2[jpeg]
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
x11-libs/pango
|
||||
archive? (
|
||||
app-arch/libarchive
|
||||
>=net-misc/curl-7.9.7
|
||||
)
|
||||
bogofilter? ( mail-filter/bogofilter )
|
||||
calendar? (
|
||||
>=dev-libs/libical-2.0.0:=
|
||||
>=net-misc/curl-7.9.7
|
||||
)
|
||||
dbus? (
|
||||
>=dev-libs/dbus-glib-0.60
|
||||
sys-apps/dbus
|
||||
)
|
||||
gdata? ( >=dev-libs/libgdata-0.17.2 )
|
||||
dillo? ( www-client/dillo )
|
||||
gnutls? ( >=net-libs/gnutls-3.0 )
|
||||
imap? ( >=net-libs/libetpan-0.57 )
|
||||
ldap? ( >=net-nds/openldap-2.0.7:= )
|
||||
litehtml? (
|
||||
>=dev-libs/glib-2.36:2
|
||||
>=dev-libs/gumbo-0.10
|
||||
net-misc/curl
|
||||
media-libs/fontconfig
|
||||
)
|
||||
nls? ( >=sys-devel/gettext-0.18 )
|
||||
nntp? ( >=net-libs/libetpan-0.57 )
|
||||
notification? (
|
||||
dev-libs/glib:2
|
||||
libcanberra? ( media-libs/libcanberra[gtk3] )
|
||||
libnotify? ( x11-libs/libnotify )
|
||||
)
|
||||
pdf? ( app-text/poppler[cairo] )
|
||||
pgp? ( >=app-crypt/gpgme-1.0.0:= )
|
||||
session? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
)
|
||||
smime? ( >=app-crypt/gpgme-1.0.0:= )
|
||||
spam-report? ( >=net-misc/curl-7.9.7 )
|
||||
spell? ( >=app-text/enchant-2.0.0:2= )
|
||||
startup-notification? ( x11-libs/startup-notification )
|
||||
svg? ( >=gnome-base/librsvg-2.40.5 )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
webkit? ( net-libs/webkit-gtk:4 )
|
||||
"
|
||||
|
||||
DEPEND="${COMMONDEPEND}
|
||||
xface? ( >=media-libs/compface-1.4 )
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-arch/xz-utils
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="${COMMONDEPEND}
|
||||
app-misc/mime-types
|
||||
x11-misc/shared-mime-info
|
||||
clamav? ( app-antivirus/clamav )
|
||||
networkmanager? ( net-misc/networkmanager )
|
||||
pdf? ( app-text/ghostscript-gpl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
rss? (
|
||||
dev-libs/libxml2
|
||||
net-misc/curl
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-3.17.5-enchant-2_default.patch"
|
||||
"${FILESDIR}/${PN}-4.1.1-Fix-bug-4224-by-using-ring-buffer.patch"
|
||||
# "${FILESDIR}/debug.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Don't use libsoup-gnome (bug #565924)
|
||||
export HAVE_LIBSOUP_GNOME=no
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-bsfilter-plugin
|
||||
--disable-generic-umpc
|
||||
--disable-jpilot #735118
|
||||
--disable-python-plugin
|
||||
--enable-acpi_notifier-plugin
|
||||
--enable-address_keeper-plugin
|
||||
--enable-alternate-addressbook
|
||||
--enable-att_remover-plugin
|
||||
--enable-attachwarner-plugin
|
||||
--enable-fetchinfo-plugin
|
||||
--enable-ipv6
|
||||
--enable-mailmbox-plugin
|
||||
--enable-newmail-plugin
|
||||
--enable-tnef_parse-plugin
|
||||
--with-password-encryption=$(usex gnutls gnutls old)
|
||||
$(use_enable archive archive-plugin)
|
||||
$(use_enable bogofilter bogofilter-plugin)
|
||||
$(use_enable calendar vcalendar-plugin)
|
||||
$(use_enable clamav clamd-plugin)
|
||||
$(use_enable dbus)
|
||||
$(use_enable debug crash-dialog)
|
||||
$(use_enable dillo dillo-plugin)
|
||||
$(use_enable doc manual)
|
||||
$(use_enable gdata gdata-plugin)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable ldap)
|
||||
$(use_enable litehtml litehtml_viewer-plugin)
|
||||
$(use_enable networkmanager)
|
||||
$(use_enable nls)
|
||||
$(use_enable notification notification-plugin)
|
||||
$(use_enable oauth oauth2)
|
||||
$(use_enable pdf pdf_viewer-plugin)
|
||||
$(use_enable perl perl-plugin)
|
||||
$(use_enable pgp pgpcore-plugin)
|
||||
$(use_enable pgp pgpinline-plugin)
|
||||
$(use_enable pgp pgpmime-plugin)
|
||||
$(use_enable rss rssyl-plugin)
|
||||
$(use_enable session libsm)
|
||||
$(use_enable sieve managesieve-plugin)
|
||||
$(use_enable smime smime-plugin)
|
||||
$(use_enable spam-report spam_report-plugin)
|
||||
$(use_enable spamassassin spamassassin-plugin)
|
||||
$(use_enable spell enchant)
|
||||
$(use_enable startup-notification)
|
||||
$(use_enable svg)
|
||||
$(use_enable valgrind valgrind)
|
||||
$(use_enable webkit fancy-plugin)
|
||||
$(use_enable xface compface)
|
||||
)
|
||||
|
||||
# libetpan is needed if user wants nntp or imap functionality
|
||||
if use imap || use nntp ; then
|
||||
myeconfargs+=( --enable-libetpan )
|
||||
else
|
||||
myeconfargs+=( --disable-libetpan )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( AUTHORS ChangeLog* INSTALL* NEWS README* TODO* )
|
||||
default
|
||||
|
||||
# Makefile install claws-mail.png in /usr/share/icons/hicolor/48x48/apps
|
||||
# => also install it in /usr/share/pixmaps for other desktop envs
|
||||
# => also install higher resolution icons in /usr/share/icons/hicolor/...
|
||||
insinto /usr/share/pixmaps
|
||||
doins ${PN}.png
|
||||
local size
|
||||
for size in 64 128 ; do
|
||||
newicon -s ${size} ${PN}-${size}x${size}.png ${PN}.png
|
||||
done
|
||||
|
||||
docinto tools
|
||||
dodoc tools/README*
|
||||
|
||||
domenu ${PN}.desktop
|
||||
|
||||
einfo "Installing extra tools"
|
||||
cd "${S}"/tools || die
|
||||
exeinto /usr/$(get_libdir)/${PN}/tools
|
||||
doexe *.pl *.py *.conf *.sh
|
||||
doexe tb2claws-mail update-po uudec uuooffice
|
||||
|
||||
# kill useless files
|
||||
find "${ED}"/usr/$(get_libdir)/${PN}/plugins/ \
|
||||
\( -name "*.a" -o -name "*.la" \) -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "When upgrading from version 3.x please re-load any plugin you use"
|
||||
xdg_pkg_postinst
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
From 826770e2dae8646a613dbe07685be68b4dc83b62 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Wendler <polynomial-c@gentoo.org>
|
||||
Date: Mon, 9 Mar 2020 15:21:55 +0100
|
||||
Subject: [PATCH] Only check for enchant-2
|
||||
|
||||
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
|
||||
---
|
||||
configure.ac | 18 +++++-------------
|
||||
1 file changed, 5 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 8ab413657..e1159d45e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -591,23 +591,15 @@ dnl enchant is used for spell checking
|
||||
AC_MSG_CHECKING([whether to use enchant])
|
||||
AC_MSG_RESULT($enable_enchant)
|
||||
if test $enable_enchant = yes; then
|
||||
- PKG_CHECK_MODULES(ENCHANT, enchant >= 1.4.0,
|
||||
+ PKG_CHECK_MODULES(ENCHANT, enchant-2 >= 2.0.0,
|
||||
[
|
||||
- AC_DEFINE(USE_ENCHANT, 1, enchant)
|
||||
- echo "Building with enchant"
|
||||
+ AC_DEFINE(USE_ENCHANT, 1, enchant-2)
|
||||
+ echo "Building with enchant-2"
|
||||
enable_enchant=yes
|
||||
],
|
||||
[
|
||||
- PKG_CHECK_MODULES(ENCHANT, enchant-2 >= 2.0.0,
|
||||
- [
|
||||
- AC_DEFINE(USE_ENCHANT, 1, enchant-2)
|
||||
- echo "Building with enchant-2"
|
||||
- enable_enchant=yes
|
||||
- ],
|
||||
- [
|
||||
- echo "Building without enchant-notification"
|
||||
- enable_enchant=no
|
||||
- ])
|
||||
+ echo "Building without enchant-notification"
|
||||
+ enable_enchant=no
|
||||
])
|
||||
AC_SUBST(ENCHANT_CFLAGS)
|
||||
AC_SUBST(ENCHANT_LIBS)
|
||||
--
|
||||
2.25.1
|
||||
|
@ -0,0 +1,109 @@
|
||||
diff --git a/src/html.c b/src/html.c
|
||||
index dc64cf4b8..da119c4e9 100644
|
||||
--- a/src/html.c
|
||||
+++ b/src/html.c
|
||||
@@ -135,36 +135,66 @@ gchar *sc_html_parse(SC_HTMLParser *parser)
|
||||
static SC_HTMLState sc_html_read_line(SC_HTMLParser *parser)
|
||||
{
|
||||
gchar buf[SC_HTMLBUFSIZE];
|
||||
- gchar buf2[SC_HTMLBUFSIZE*4];
|
||||
- gint index;
|
||||
- gint n;
|
||||
-
|
||||
- if (parser->fp == NULL)
|
||||
- return SC_HTML_EOF;
|
||||
+// gchar buf2[SC_HTMLBUFSIZE*4];
|
||||
+ gchar *invalid, *head, *tail;
|
||||
+ gint index, n;
|
||||
+ gint tail_size = 0;
|
||||
+
|
||||
+ invalid = NULL; tail = NULL;
|
||||
+ g_warning(":: start");
|
||||
+
|
||||
+ do {
|
||||
+ g_warning(":: do");
|
||||
+ if (parser->fp == NULL)
|
||||
+ return SC_HTML_EOF; // check parser->state???
|
||||
+ g_warning(":: do continue");
|
||||
+
|
||||
+ head = buf;
|
||||
+ if (tail_size > 0) {
|
||||
+ head = g_stpcpy(buf,tail);
|
||||
+ }
|
||||
|
||||
- n = claws_fread(buf, 1, sizeof(buf) - 1, parser->fp);
|
||||
- if (n == 0) {
|
||||
- parser->state = SC_HTML_EOF;
|
||||
- return SC_HTML_EOF;
|
||||
- } else
|
||||
- buf[n] = '\0';
|
||||
+ n = claws_fread(head, 1, sizeof(buf) - tail_size - 1, parser->fp);
|
||||
+ if (n == 0) {
|
||||
+ parser->state = SC_HTML_EOF;
|
||||
+ g_free(tail);
|
||||
+ g_warning(":: end with EOF");
|
||||
+ return SC_HTML_EOF;
|
||||
+ } else {
|
||||
+ head[n] = '\0';
|
||||
+ g_free(tail);
|
||||
+ tail_size = 0;
|
||||
+ g_warning(":: Read %i bytes; buf '%s'", n, buf);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ if (!g_utf8_validate(buf,-1,&invalid)) {
|
||||
+ tail_size = head + n - invalid;
|
||||
+ tail = g_strdup(invalid);
|
||||
+ invalid[0] = '\0';
|
||||
+ g_warning(":: Got tail %i bytes; tail '%s'", tail_size, tail);
|
||||
+ }
|
||||
|
||||
- if (conv_convert(parser->conv, buf2, sizeof(buf2), buf) < 0) {
|
||||
+// if (conv_convert(parser->conv, buf2, sizeof(buf2), buf) < 0) {
|
||||
index = parser->bufp - parser->buf->str;
|
||||
|
||||
- conv_utf8todisp(buf2, sizeof(buf2), buf);
|
||||
- g_string_append(parser->buf, buf2);
|
||||
+// conv_utf8todisp(buf2, sizeof(buf), buf);
|
||||
+ g_string_append(parser->buf, buf);
|
||||
|
||||
parser->bufp = parser->buf->str + index;
|
||||
|
||||
- return SC_HTML_CONV_FAILED;
|
||||
- }
|
||||
-
|
||||
- index = parser->bufp - parser->buf->str;
|
||||
-
|
||||
- g_string_append(parser->buf, buf2);
|
||||
-
|
||||
- parser->bufp = parser->buf->str + index;
|
||||
+// g_free(tail);
|
||||
+// return SC_HTML_CONV_FAILED;
|
||||
+// }
|
||||
+// else {
|
||||
+// index = parser->bufp - parser->buf->str;
|
||||
+// conv_utf8todisp(buf2, sizeof(buf), buf);
|
||||
+// g_string_append(parser->buf, buf2);
|
||||
+// parser->bufp = parser->buf->str + index;
|
||||
+// }
|
||||
+ g_warning(":: do end");
|
||||
+ } while (tail_size !=0);
|
||||
+ g_warning(":: end normal with tailsize=0");
|
||||
|
||||
return SC_HTML_NORMAL;
|
||||
}
|
||||
diff --git a/src/textview.c b/src/textview.c
|
||||
index b986de84e..5c2f0d328 100644
|
||||
--- a/src/textview.c
|
||||
+++ b/src/textview.c
|
||||
@@ -1262,6 +1262,10 @@ static void textview_show_html(TextView *textview, FILE *fp,
|
||||
return;
|
||||
}
|
||||
}
|
||||
+ g_warning(">> buf->str:%s", parser->buf->str);
|
||||
+ g_warning(">> str->str:%s", parser->str->str);
|
||||
+ g_warning(">> buf->str:%p", parser->buf->str);
|
||||
+ g_warning(">> str->str:%p", parser->str->str);
|
||||
textview_write_line(textview, "\n", NULL, FALSE);
|
||||
|
||||
account_sigsep_matchlist_delete();
|
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>voyageur@gentoo.org</email>
|
||||
<name>Bernard Cafarelli</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="archive">Enable archiving plugin</flag>
|
||||
<flag name="bogofilter">Build <pkg>mail-filter/bogofilter</pkg> plugin</flag>
|
||||
<flag name="dillo">Enable dillo html viewer plugin</flag>
|
||||
<flag name="gdata">Enable plugin for access to Google data providers</flag>
|
||||
<flag name="libcanberra">Enable sound notification in connection with USE=notification</flag>
|
||||
<flag name="libnotify">Enable notification on the desktop in connection with USE=notification</flag>
|
||||
<flag name="litehtml">Enable <pkg>dev-libs/gumbo</pkg> html viewer plugin</flag>
|
||||
<flag name="notification">Notification for new mail in different way, see also USE flags libcanberra, libindicate and libnotify</flag>
|
||||
<flag name="oauth">Enable OAuth2 authentication support</flag>
|
||||
<flag name="pgp">Enable PGP support</flag>
|
||||
<flag name="sieve">Build plugin for sieve filter support</flag>
|
||||
<flag name="smime">Build plugin for S/MIME support</flag>
|
||||
<flag name="spam-report">Enable plugin for spam reporting to various services</flag>
|
||||
<flag name="spamassassin">Build <pkg>mail-filter/spamassassin</pkg> plugin</flag>
|
||||
<flag name="valgrind">Add support for memory debugging using valgrind</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
Loading…
Reference in new issue