summaryrefslogtreecommitdiff
path: root/source/xap
diff options
context:
space:
mode:
Diffstat (limited to 'source/xap')
-rwxr-xr-xsource/xap/pan/pan.SlackBuild9
-rw-r--r--source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch25
-rw-r--r--source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch215
-rw-r--r--source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch31
-rw-r--r--source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch33
-rw-r--r--source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch21
6 files changed, 1 insertions, 333 deletions
diff --git a/source/xap/pan/pan.SlackBuild b/source/xap/pan/pan.SlackBuild
index 99b0541f..683ed8c4 100755
--- a/source/xap/pan/pan.SlackBuild
+++ b/source/xap/pan/pan.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=pan
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -75,13 +75,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Upstream patches to fix when using gmime-3:
-zcat $CWD/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch.gz | patch -p1 --verbose || exit 1
-
# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch b/source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch
deleted file mode 100644
index 1732e91f..00000000
--- a/source/xap/pan/patches/0000-b9a4154942c932a493736d2292bbae16384e35df.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b9a4154942c932a493736d2292bbae16384e35df Mon Sep 17 00:00:00 2001
-From: Federico Cuello <fedux@fedux.com.ar>
-Date: Sat, 17 Nov 2018 17:44:49 +0100
-Subject: [PATCH] Fix ypart begin for bpf ranges
-
-It was creating yparts with begin=0 and end==previous_part_begin with
-multipart files. It should start from 1 and next part from previous end
-+ 1.
----
- uulib/uuencode.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/uulib/uuencode.c b/uulib/uuencode.c
-index b9a390e..2768771 100644
---- a/uulib/uuencode.c
-+++ b/uulib/uuencode.c
-@@ -1740,7 +1740,7 @@ UUEncodePartial_byFSize (FILE *outfile, FILE *infile,
- }
-
- fprintf (outfile, "=ypart begin=%ld end=%ld%s",
-- (partno-1)*bpf,
-+ (partno-1)*bpf+1,
- (partno*bpf) < progress.totsize ?
- (partno*bpf) : progress.totsize,
- eolstring);
diff --git a/source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch b/source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch
deleted file mode 100644
index 4cd6de19..00000000
--- a/source/xap/pan/patches/0001-e5be4d4a1d9d08796c1b5a5c763379383b8c119a.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-From e5be4d4a1d9d08796c1b5a5c763379383b8c119a Mon Sep 17 00:00:00 2001
-From: Detlef Graef <detlef.graef@yahoo.de>
-Date: Fri, 19 Apr 2019 15:12:27 +0200
-Subject: [PATCH] Fix to build Pan with options --with-gmime30 and
- --with-gmime-crypto
-
----
- pan/usenet-utils/gpg.cc | 76 ++++++++++++++++++++++++++--------
- pan/usenet-utils/mime-utils.cc | 35 ++++++++++++++++
- 2 files changed, 94 insertions(+), 17 deletions(-)
-
-diff --git a/pan/usenet-utils/gpg.cc b/pan/usenet-utils/gpg.cc
-index f24e723..4df4525 100644
---- a/pan/usenet-utils/gpg.cc
-+++ b/pan/usenet-utils/gpg.cc
-@@ -70,6 +70,45 @@ namespace pan
- signer.key_id = sig->cert->keyid ? sig->cert->keyid : "(null)";
- signer.fpr = sig->cert->fingerprint ? sig->cert->fingerprint : "(null)";
-
-+#ifdef HAVE_GMIME_30
-+ switch (sig->cert->trust) {
-+ case GMIME_TRUST_UNKNOWN:
-+ signer.trust = "None";
-+ break;
-+ case GMIME_TRUST_NEVER:
-+ signer.trust = "Never";
-+ break;
-+ case GMIME_TRUST_UNDEFINED:
-+ signer.trust = "Undefined";
-+ break;
-+ case GMIME_TRUST_MARGINAL:
-+ signer.trust = "Marginal";
-+ break;
-+ case GMIME_TRUST_FULL:
-+ signer.trust = "Fully";
-+ break;
-+ case GMIME_TRUST_ULTIMATE:
-+ signer.trust = "Ultimate";
-+ break;
-+ }
-+
-+ switch (sig->status) {
-+ case GMIME_SIGNATURE_STATUS_GREEN:
-+ signer.status = "GOOD";
-+ break;
-+ case GMIME_SIGNATURE_STATUS_RED:
-+ signer.status = "BAD";
-+ break;
-+ case GMIME_SIGNATURE_STATUS_SYS_ERROR:
-+ signer.status = "ERROR";
-+ break;
-+ }
-+
-+ signer.created = sig->created;
-+ signer.expires = sig->expires;
-+ if (sig->expires == (time_t) 0)
-+ signer.never_expires = true;
-+#else
- switch (sig->cert->trust) {
- case GMIME_CERTIFICATE_TRUST_NONE:
- signer.trust = "None";
-@@ -102,25 +141,28 @@ namespace pan
- signer.status = "ERROR";
- break;
- }
-+#endif
-
- signer.created = sig->created;
- signer.expires = sig->expires;
- if (sig->expires == (time_t) 0)
- signer.never_expires = true;
-
-- if (sig->errors) {
--
-- if (sig->errors & GMIME_SIGNATURE_ERROR_EXPSIG)
-- signer.error = "Expired";
-- if (sig->errors & GMIME_SIGNATURE_ERROR_NO_PUBKEY)
-- signer.error = "No Pub Key";
-- if (sig->errors & GMIME_SIGNATURE_ERROR_EXPKEYSIG)
-- signer.error = "Key Expired";
-- if (sig->errors & GMIME_SIGNATURE_ERROR_REVKEYSIG)
-- signer.error = "Key Revoked";
-- } else {
-- signer.error = "No errors for this signer";
-- }
-+// https://developer.gnome.org/gmime/stable/gmime-changes-3-0.html
-+// GMimeSignatureStatus and GMimeSignatureErrors have been merged into a single bitfield (GMimeSignatureStatus) ...
-+// if (sig->errors) {
-+
-+// if (sig->errors & GMIME_SIGNATURE_ERROR_EXPSIG)
-+// signer.error = "Expired";
-+// if (sig->errors & GMIME_SIGNATURE_ERROR_NO_PUBKEY)
-+// signer.error = "No Pub Key";
-+// if (sig->errors & GMIME_SIGNATURE_ERROR_EXPKEYSIG)
-+// signer.error = "Key Expired";
-+// if (sig->errors & GMIME_SIGNATURE_ERROR_REVKEYSIG)
-+// signer.error = "Key Revoked";
-+// } else {
-+// signer.error = "No errors for this signer";
-+// }
-
- info.signers.push_back(signer);
- }
-@@ -128,11 +170,11 @@ namespace pan
-
- void init_gpg()
- {
-- gpg_ctx = g_mime_gpg_context_new (request_passwd, "gpg2");
-+// gpg_ctx = g_mime_gpg_context_new (request_passwd, "gpg2");
- if (!gpg_ctx) gpg_inited = false; else gpg_inited = true;
-- g_mime_gpg_context_set_auto_key_retrieve(GMIME_GPG_CONTEXT(gpg_ctx),true);
-- g_mime_gpg_context_set_always_trust(GMIME_GPG_CONTEXT(gpg_ctx),false);
-- g_mime_gpg_context_set_use_agent(GMIME_GPG_CONTEXT(gpg_ctx), false);
-+// g_mime_gpg_context_set_auto_key_retrieve(GMIME_GPG_CONTEXT(gpg_ctx),true);
-+// g_mime_gpg_context_set_always_trust(GMIME_GPG_CONTEXT(gpg_ctx),false);
-+// g_mime_gpg_context_set_use_agent(GMIME_GPG_CONTEXT(gpg_ctx), false);
- }
-
-
-diff --git a/pan/usenet-utils/mime-utils.cc b/pan/usenet-utils/mime-utils.cc
-index 135f469..881df7b 100644
---- a/pan/usenet-utils/mime-utils.cc
-+++ b/pan/usenet-utils/mime-utils.cc
-@@ -1634,12 +1634,20 @@ namespace pan
- GMimeSignatureStatus
- get_sig_status (GMimeSignatureList *signatures)
- {
-+#ifdef HAVE_GMIME_30
-+ GMimeSignatureStatus status = GMIME_SIGNATURE_STATUS_VALID;
-+#else
- GMimeSignatureStatus status = GMIME_SIGNATURE_STATUS_GOOD;
-+#endif
- GMimeSignature *sig;
- int i;
-
- if (!signatures || signatures->array->len == 0)
-+#ifdef HAVE_GMIME_30
-+ return GMIME_SIGNATURE_STATUS_SYS_ERROR;
-+#else
- return GMIME_SIGNATURE_STATUS_ERROR;
-+#endif
-
- for (i = 0; i < g_mime_signature_list_length (signatures); i++) {
- sig = g_mime_signature_list_get_signature (signatures, i);
-@@ -1673,18 +1681,30 @@ namespace pan
-
- if (info.type == GPG_VERIFY)
- {
-+#ifdef HAVE_GMIME_30
-+ GMimeSignatureList * sigs = g_mime_multipart_signed_verify (mps, GMIME_VERIFY_NONE, &info.err);
-+#else
- GMimeSignatureList * sigs = g_mime_multipart_signed_verify (mps, gpg_ctx, &info.err);
-+#endif
- if (info.err || !sigs) return false;
- if (sigs) info.no_sigs = false;
- fill_signer_info(info.signers, sigs);
-+#ifdef HAVE_GMIME_30
-+ bool status = get_sig_status(sigs) == GMIME_SIGNATURE_STATUS_VALID;
-+#else
- bool status = get_sig_status(sigs) == GMIME_SIGNATURE_STATUS_GOOD;
-+#endif
- g_object_unref(sigs);
- return status;
- }
-
- if (info.type == GPG_DECODE)
- {
-+#ifdef HAVE_GMIME_30
-+ info.decrypted = g_mime_multipart_encrypted_decrypt (mpe, GMIME_DECRYPT_NONE, NULL, &info.result, &info.err);
-+#else
- info.decrypted = g_mime_multipart_encrypted_decrypt (mpe, gpg_ctx, &info.result, &info.err);
-+#endif
- if (!info.decrypted)
- if (info.err) return false;
-
-@@ -1693,7 +1713,11 @@ namespace pan
- {
- info.no_sigs = false;
- fill_signer_info(info.signers, sigs);
-+#ifdef HAVE_GMIME_30
-+ bool status = get_sig_status(info.result->signatures) == GMIME_SIGNATURE_STATUS_VALID;
-+#else
- bool status = get_sig_status(info.result->signatures) == GMIME_SIGNATURE_STATUS_GOOD;
-+#endif
- g_object_unref(sigs);
- return status;
- }
-@@ -1722,7 +1746,13 @@ namespace pan
- mps = g_mime_multipart_signed_new ();
-
- /* sign the part */
-+#ifdef HAVE_GMIME_30
-+ GMimeObject *gmo;
-+ gmo = g_mime_message_get_mime_part (body);
-+ if (g_mime_multipart_signed_sign (gpg_ctx, gmo, uid.c_str(), &err) <0)
-+#else
- if (g_mime_multipart_signed_sign (mps, GMIME_OBJECT (part), gpg_ctx, uid.c_str(), GMIME_DIGEST_ALGO_SHA1, &err) <0)
-+#endif
- {
- g_object_unref(mps);
- g_object_unref(G_OBJECT(part));
-@@ -1752,8 +1782,13 @@ namespace pan
-
- GMimeMultipartEncrypted * mpe = g_mime_multipart_encrypted_new();
-
-+#ifdef HAVE_GMIME_30
-+ if (g_mime_multipart_encrypted_encrypt(gpg_ctx, GMIME_OBJECT (part), sign, uid.c_str(),
-+ GMIME_ENCRYPT_NONE, rcp, &err) < 0)
-+#else
- if (g_mime_multipart_encrypted_encrypt(mpe, GMIME_OBJECT (part), gpg_ctx, sign,
- uid.c_str(), GMIME_DIGEST_ALGO_SHA1, rcp, &err) < 0)
-+#endif
- {
- g_object_unref(mpe);
- g_object_unref(G_OBJECT(part));
diff --git a/source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch b/source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch
deleted file mode 100644
index 02ed1b6e..00000000
--- a/source/xap/pan/patches/0002-50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 50f6c43a698dcc0ba6b490c086a73eeedbdd8a80 Mon Sep 17 00:00:00 2001
-From: Detlef Graef <detlef.graef@yahoo.de>
-Date: Fri, 19 Apr 2019 18:43:21 +0200
-Subject: [PATCH] Attempt to fix issue #77; segfault when build with gmime-3
-
----
- pan/general/utf8-utils.cc | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/pan/general/utf8-utils.cc b/pan/general/utf8-utils.cc
-index be79a13..58565cf 100644
---- a/pan/general/utf8-utils.cc
-+++ b/pan/general/utf8-utils.cc
-@@ -135,13 +135,16 @@ pan :: header_to_utf8 (const StringView & header,
- const char * fallback_charset1,
- const char * fallback_charset2)
- {
-+
-+ GMimeParserOptions *gmpo = g_mime_parser_options_new();
- std::string s = content_to_utf8 (header, fallback_charset1, fallback_charset2);
- if (header.strstr ("=?")) {
-- char * decoded (g_mime_utils_header_decode_text (NULL, s.c_str()));
-+ char * decoded (g_mime_utils_header_decode_text (gmpo, s.c_str()));
- s = clean_utf8 (decoded);
- g_free (decoded);
- }
- return s;
-+ g_mime_parser_options_free (gmpo);
- }
-
- #else
diff --git a/source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch b/source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch
deleted file mode 100644
index 5e3449d3..00000000
--- a/source/xap/pan/patches/0003-ddcd5761075a6fb3ef7b768f004fa1e6663cb65e.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ddcd5761075a6fb3ef7b768f004fa1e6663cb65e Mon Sep 17 00:00:00 2001
-From: Detlef Graef <detlef.graef@yahoo.de>
-Date: Fri, 26 Apr 2019 20:50:09 +0200
-Subject: [PATCH] Revert "Attempt to fix issue #77; segfault when build with
- gmime-3"
-
-This reverts commit 50f6c43a698dcc0ba6b490c086a73eeedbdd8a80.
----
- pan/general/utf8-utils.cc | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/pan/general/utf8-utils.cc b/pan/general/utf8-utils.cc
-index 58565cf..be79a13 100644
---- a/pan/general/utf8-utils.cc
-+++ b/pan/general/utf8-utils.cc
-@@ -135,16 +135,13 @@ pan :: header_to_utf8 (const StringView & header,
- const char * fallback_charset1,
- const char * fallback_charset2)
- {
--
-- GMimeParserOptions *gmpo = g_mime_parser_options_new();
- std::string s = content_to_utf8 (header, fallback_charset1, fallback_charset2);
- if (header.strstr ("=?")) {
-- char * decoded (g_mime_utils_header_decode_text (gmpo, s.c_str()));
-+ char * decoded (g_mime_utils_header_decode_text (NULL, s.c_str()));
- s = clean_utf8 (decoded);
- g_free (decoded);
- }
- return s;
-- g_mime_parser_options_free (gmpo);
- }
-
- #else
diff --git a/source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch b/source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch
deleted file mode 100644
index cc4788b4..00000000
--- a/source/xap/pan/patches/0004-476b5a62fcda711ce2d7412a310b8182cca6940e.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 476b5a62fcda711ce2d7412a310b8182cca6940e Mon Sep 17 00:00:00 2001
-From: Detlef Graef <detlef.graef@yahoo.de>
-Date: Fri, 26 Apr 2019 20:59:54 +0200
-Subject: [PATCH] Fix for issue #77. Segfault when build with gmime-3
-
----
- pan/gui/pan.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pan/gui/pan.cc b/pan/gui/pan.cc
-index 8d28fdb..fb3a696 100644
---- a/pan/gui/pan.cc
-+++ b/pan/gui/pan.cc
-@@ -906,6 +906,7 @@ main (int argc, char *argv[])
- g_thread_init (0);
- #endif
- #ifdef HAVE_GMIME_30
-+ g_mime_init ();
- #else
- g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS);
- #endif