public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-mail/mboxgrep/files/, net-mail/mboxgrep/
@ 2023-07-18  5:22 Joonas Niilola
  0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2023-07-18  5:22 UTC (permalink / raw
  To: gentoo-commits

commit:     1d3c32911700b0ebdcff3e07f0d0fe4d85a4621c
Author:     Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Mon Jul 17 08:24:29 2023 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 05:22:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d3c3291

net-mail/mboxgrep: Fix call to undeclared library function strcmp

Closes: https://bugs.gentoo.org/897938
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31618
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../files/mboxgrep-0.7.9-musl-missing-strcmp.patch | 11 +++++
 net-mail/mboxgrep/mboxgrep-0.7.9-r3.ebuild         | 49 ++++++++++++++++++++++
 2 files changed, 60 insertions(+)

diff --git a/net-mail/mboxgrep/files/mboxgrep-0.7.9-musl-missing-strcmp.patch b/net-mail/mboxgrep/files/mboxgrep-0.7.9-musl-missing-strcmp.patch
new file mode 100644
index 000000000000..b2b66d7e5be3
--- /dev/null
+++ b/net-mail/mboxgrep/files/mboxgrep-0.7.9-musl-missing-strcmp.patch
@@ -0,0 +1,11 @@
+Bug: https://bugs.gentoo.org/897938
+--- a/src/getopt.c
++++ b/src/getopt.c
+@@ -52,6 +52,7 @@ char *alloca ();
+ #endif
+ 
+ #include <stdio.h>
++#include <string.h>
+ 
+ /* Comment out all this code if we are using the GNU C Library, and are not
+    actually compiling the library itself.  This code is part of the GNU C

diff --git a/net-mail/mboxgrep/mboxgrep-0.7.9-r3.ebuild b/net-mail/mboxgrep/mboxgrep-0.7.9-r3.ebuild
new file mode 100644
index 000000000000..5f3ed4e4956c
--- /dev/null
+++ b/net-mail/mboxgrep/mboxgrep-0.7.9-r3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools
+
+DESCRIPTION="Grep for mbox files"
+SRC_URI="mirror://sourceforge/mboxgrep/${P}.tar.gz"
+HOMEPAGE="https://datatipp.se/mboxgrep/"
+
+SLOT="0"
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="dmalloc"
+
+RDEPEND="
+	app-arch/bzip2
+	dev-libs/libpcre
+	sys-libs/zlib
+	dmalloc? ( dev-libs/dmalloc )
+"
+DEPEND="
+	${RDEPEND}
+"
+PATCHES=(
+	"${FILESDIR}"/${P}-_DEFAULT_SOURCE.patch
+	"${FILESDIR}"/${P}-fno-common.patch
+	"${FILESDIR}"/${P}-ldflags.patch
+	"${FILESDIR}"/${PN}-0.7.9-musl-missing-strcmp.patch
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(use_with dmalloc no yes)
+}
+
+src_install() {
+	emake \
+		prefix="${D}"/usr \
+		mandir="${D}"/usr/share/man \
+		infodir="${D}"/usr/share/info \
+		install
+	dodoc ChangeLog NEWS TODO README
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-mail/mboxgrep/files/, net-mail/mboxgrep/
@ 2025-07-31 14:35 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2025-07-31 14:35 UTC (permalink / raw
  To: gentoo-commits

commit:     8570e39f90d665f957941928240eaa5b8fc0102e
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Mon Jul 28 20:01:24 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 31 14:34:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8570e39f

net-mail/mboxgrep: add 0.7.13

update HOMEPAGE with the new website
move SRC_URI repo to github

make libpcre(2 with this release) optional

remove custom install phase, prefix/mandir/infodir are set by default

add a test

patches :
fix c23
don't use bundled getopt instead of trying workarounds (bug 945513)

bug 919199 fixed in 0.7.10

Closes: https://bugs.gentoo.org/919199
Closes: https://bugs.gentoo.org/945513
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43240
Closes: https://github.com/gentoo/gentoo/pull/43240
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-mail/mboxgrep/Manifest                         |   1 +
 .../mboxgrep/files/mboxgrep-0.7.13-fix_c23.patch   | 159 +++++++++++++++++++++
 .../mboxgrep/files/mboxgrep-0.7.13-rm_getopt.patch |  11 ++
 net-mail/mboxgrep/mboxgrep-0.7.13.ebuild           |  61 ++++++++
 net-mail/mboxgrep/metadata.xml                     |   3 +-
 5 files changed, 234 insertions(+), 1 deletion(-)

diff --git a/net-mail/mboxgrep/Manifest b/net-mail/mboxgrep/Manifest
index 41919aacde00..64b93e962119 100644
--- a/net-mail/mboxgrep/Manifest
+++ b/net-mail/mboxgrep/Manifest
@@ -1 +1,2 @@
+DIST mboxgrep-0.7.13.tar.gz 154779 BLAKE2B b9d92a0953228647331aad64950fa5b88c135f242a075255cb700b7ecb4dd8f00ed9002ff0ebfd03be1a9b8f88a0f8e0a5422b3277ea7a843ed5c748273e446e SHA512 2211a5251905d3e5ac68f159fd58f667e09a7b142d2d34456ad777a46dd34f7ac71a9562f8639a64848e51de1db71afdd9f61481815050e7ec4b1ab1d71e32fa
 DIST mboxgrep-0.7.9.tar.gz 76067 BLAKE2B e808f71c730fcf7edcefadcc579ede559a90db1f1a335fcf08a2002903cdaeac36080235450b6bc802b7cb100afd37a831fe6c57b40711aa70334633891d4330 SHA512 d7e768a0ad11bc3df8619f2a888d2943c68ef72dd036c2fe58268686efb50cb1f62ba379571b6cd6efa8493c5ea0d7c09a29520eae6c68f66d9453710eeeba11

diff --git a/net-mail/mboxgrep/files/mboxgrep-0.7.13-fix_c23.patch b/net-mail/mboxgrep/files/mboxgrep-0.7.13-fix_c23.patch
new file mode 100644
index 000000000000..160d857be53c
--- /dev/null
+++ b/net-mail/mboxgrep/files/mboxgrep-0.7.13-fix_c23.patch
@@ -0,0 +1,159 @@
+PR merged
+https://github.com/dspiljar/mboxgrep/pull/6.patch
+Except the commit for getopt, not used for our purpose
+From ad597390055bc7982c618a6b0be36301a7a2cbfa Mon Sep 17 00:00:00 2001
+From: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
+Date: Mon, 28 Jul 2025 19:04:57 +0200
+Subject: [PATCH 2/2] drop really old ifdef and fix C23
+
+Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
+---
+ src/md5.c | 45 +++++++++++----------------------------------
+ src/md5.h | 20 ++------------------
+ 2 files changed, 13 insertions(+), 52 deletions(-)
+
+diff --git a/src/md5.c b/src/md5.c
+index d6b8013..e20c053 100644
+--- a/src/md5.c
++++ b/src/md5.c
+@@ -24,19 +24,12 @@
+ # include <config.h>
+ #endif
+ 
+-#include <sys/types.h>
+-
+-#if STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-# include <string.h>
+-#else
+-# ifndef HAVE_MEMCPY
+-#  define memcpy(d, s, n) bcopy ((s), (d), (n))
+-# endif
+-#endif
+-
+ #include "md5.h"
+ 
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++
+ #ifdef _LIBC
+ # include <endian.h>
+ # if __BYTE_ORDER == __BIG_ENDIAN
+@@ -69,8 +62,7 @@ static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ...  */ };
+ /* Initialize structure containing state of computation.
+    (RFC 1321, 3.3: Step 3)  */
+ void
+-md5_init_ctx (ctx)
+-     struct md5_ctx *ctx;
++md5_init_ctx (struct md5_ctx *ctx)
+ {
+   ctx->A = 0x67452301;
+   ctx->B = 0xefcdab89;
+@@ -87,9 +79,7 @@ md5_init_ctx (ctx)
+    IMPORTANT: On some systems it is required that RESBUF is correctly
+    aligned for a 32 bits value.  */
+ void *
+-md5_read_ctx (ctx, resbuf)
+-     const struct md5_ctx *ctx;
+-     void *resbuf;
++md5_read_ctx (const struct md5_ctx *ctx, void *resbuf)
+ {
+   ((md5_uint32 *) resbuf)[0] = SWAP (ctx->A);
+   ((md5_uint32 *) resbuf)[1] = SWAP (ctx->B);
+@@ -105,9 +95,7 @@ md5_read_ctx (ctx, resbuf)
+    IMPORTANT: On some systems it is required that RESBUF is correctly
+    aligned for a 32 bits value.  */
+ void *
+-md5_finish_ctx (ctx, resbuf)
+-     struct md5_ctx *ctx;
+-     void *resbuf;
++md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
+ {
+   /* Take yet unprocessed bytes into account.  */
+   md5_uint32 bytes = ctx->buflen;
+@@ -136,9 +124,7 @@ md5_finish_ctx (ctx, resbuf)
+    resulting message digest number will be written into the 16 bytes
+    beginning at RESBLOCK.  */
+ int
+-md5_stream (stream, resblock)
+-     FILE *stream;
+-     void *resblock;
++md5_stream (FILE *stream, void *resblock)
+ {
+   /* Important: BLOCKSIZE must be a multiple of 64.  */
+ #define BLOCKSIZE 4096
+@@ -193,10 +179,7 @@ md5_stream (stream, resblock)
+    output yields to the wanted ASCII representation of the message
+    digest.  */
+ void *
+-md5_buffer (buffer, len, resblock)
+-     const char *buffer;
+-     size_t len;
+-     void *resblock;
++md5_buffer (const char *buffer, size_t len, void *resblock)
+ {
+   struct md5_ctx ctx;
+ 
+@@ -212,10 +195,7 @@ md5_buffer (buffer, len, resblock)
+ 
+ 
+ void
+-md5_process_bytes (buffer, len, ctx)
+-     const void *buffer;
+-     size_t len;
+-     struct md5_ctx *ctx;
++md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
+ {
+   //const void aligned_buffer = buffer;
+ 
+@@ -285,10 +265,7 @@ md5_process_bytes (buffer, len, ctx)
+    It is assumed that LEN % 64 == 0.  */
+ 
+ void
+-md5_process_block (buffer, len, ctx)
+-     const void *buffer;
+-     size_t len;
+-     struct md5_ctx *ctx;
++md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
+ {
+   md5_uint32 correct_words[16];
+   const md5_uint32 *words = buffer;
+diff --git a/src/md5.h b/src/md5.h
+index 6febd4a..3ff0378 100644
+--- a/src/md5.h
++++ b/src/md5.h
+@@ -22,10 +22,7 @@
+ #define _MD5_H 1
+ 
+ #include <stdio.h>
+-
+-#if defined HAVE_LIMITS_H || _LIBC
+-# include <limits.h>
+-#endif
++#include <limits.h>
+ 
+ /* The following contortions are an attempt to use the C preprocessor
+    to determine an unsigned integral type that is 32 bits wide.  An
+@@ -38,20 +35,7 @@
+ # include <sys/types.h>
+ typedef u_int32_t md5_uint32;
+ #else
+-# if defined __STDC__ && __STDC__
+-#  define UINT_MAX_32_BITS 4294967295U
+-# else
+-#  define UINT_MAX_32_BITS 0xFFFFFFFF
+-# endif
+-
+-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
+-   This should be valid for all systems GNU cares about because
+-   that doesn't include 16-bit systems, and only modern systems
+-   (that certainly have <limits.h>) have 64+-bit integral types.  */
+-
+-# ifndef UINT_MAX
+-#  define UINT_MAX UINT_MAX_32_BITS
+-# endif
++#define UINT_MAX_32_BITS 4294967295U
+ 
+ # if UINT_MAX == UINT_MAX_32_BITS
+    typedef unsigned int md5_uint32;

diff --git a/net-mail/mboxgrep/files/mboxgrep-0.7.13-rm_getopt.patch b/net-mail/mboxgrep/files/mboxgrep-0.7.13-rm_getopt.patch
new file mode 100644
index 000000000000..673f457b370d
--- /dev/null
+++ b/net-mail/mboxgrep/files/mboxgrep-0.7.13-rm_getopt.patch
@@ -0,0 +1,11 @@
+remove bundled getopt and use libs from glibc/musl instead
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,6 +1,6 @@
+ bin_PROGRAMS = mboxgrep
+ mboxgrep_SOURCES = info.c info.h maildir.c maildir.h main.c mbox.c mbox.h \
+ 									 mboxgrep.h md5.c md5.h message.h misc.c misc.h mh.c mh.h \
+-									 getopt.c getopt1.c getopt.h re.c re.h scan.c scan.h wrap.c wrap.h
++									 re.c re.h scan.c scan.h wrap.c wrap.h
+ 
+ mboxgrep_LDADD = $(LIBOBJS)

diff --git a/net-mail/mboxgrep/mboxgrep-0.7.13.ebuild b/net-mail/mboxgrep/mboxgrep-0.7.13.ebuild
new file mode 100644
index 000000000000..c30a691f3bed
--- /dev/null
+++ b/net-mail/mboxgrep/mboxgrep-0.7.13.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools edo
+
+DESCRIPTION="Grep for mbox files"
+HOMEPAGE="https://mboxgrep.org/"
+SRC_URI="https://github.com/dspiljar/mboxgrep/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+pcre"
+
+RDEPEND="
+	app-arch/bzip2
+	sys-libs/zlib
+	pcre? ( dev-libs/libpcre2:=[pcre32] )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.7.13-rm_getopt.patch
+	# PR merged https://github.com/dspiljar/mboxgrep/pull/6.patch
+	# (except commit for getopt)
+	"${FILESDIR}"/${P}-fix_c23.patch
+)
+
+DOCS=( AUTHORS.md NEWS.md README.md TODO.md )
+
+src_prepare() {
+	default
+
+	# Remove old getopt part. It just works with getopt.h from glibc or musl.
+	rm src/getopt.h || die
+
+	eautoreconf
+}
+
+src_configure() {
+	econf $(usev !pcre --without-pcre2)
+}
+
+src_test() {
+	# create a mail
+	cat > "${T}"/mailtest <<-_EOF_ || die
+	From fake@example.com Mon Sep 17 00:00:00 2001
+	From: FAKE USER <fake@example.com>
+	Date: Mon, 28 Jul 2025 00:00:00 +0200
+	Subject: [TEST] Basic
+	To: test@example.com
+
+	Bla
+	_EOF_
+	# delete the content if it matches
+	edo ./src/mboxgrep --debug --mailbox-format=mbox --delete \
+		'^To:\s([a-z]{4})\@\w+\.([a-z]{3})$' "${T}"/mailtest
+	[[ -s "${T}"/mailtest ]] && die "Test failed. ${T}/mailtest should be empty."
+}

diff --git a/net-mail/mboxgrep/metadata.xml b/net-mail/mboxgrep/metadata.xml
index 11483f7db36e..7acfdcd0987f 100644
--- a/net-mail/mboxgrep/metadata.xml
+++ b/net-mail/mboxgrep/metadata.xml
@@ -3,6 +3,7 @@
 <pkgmetadata>
 	<!-- maintainer-needed -->
 	<upstream>
-		<remote-id type="sourceforge">mboxgrep</remote-id>
+		<remote-id type="sourceforge">mboxgrep</remote-id><!-- old -->
+		<remote-id type="github">dspiljar/mboxgrep</remote-id>
 	</upstream>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-07-31 14:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-18  5:22 [gentoo-commits] repo/gentoo:master commit in: net-mail/mboxgrep/files/, net-mail/mboxgrep/ Joonas Niilola
  -- strict thread matches above, loose matches on Subject: below --
2025-07-31 14:35 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox