summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-10-04 15:16:11 -0400
committerMichael Orlitzky <mjo@gentoo.org>2024-10-04 15:41:10 -0400
commit1b729405ff0956692a8ee7779025723d74bf346a (patch)
tree4a63e09705d4e3ff2b1b6798f3f6623367fc8cc6 /net-dns
parentsys-devel/llvm-common: Remove old (diff)
downloadgentoo-1b729405ff0956692a8ee7779025723d74bf346a.tar.gz
gentoo-1b729405ff0956692a8ee7779025723d74bf346a.tar.bz2
gentoo-1b729405ff0956692a8ee7779025723d74bf346a.zip
net-dns/rbldnsd: new patch to fix a type signature mismatch
Closes: https://bugs.gentoo.org/940703 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/rbldnsd/files/rbldnsd-0.998b-emalloc-typesig.patch34
-rw-r--r--net-dns/rbldnsd/rbldnsd-0.998b-r4.ebuild68
2 files changed, 102 insertions, 0 deletions
diff --git a/net-dns/rbldnsd/files/rbldnsd-0.998b-emalloc-typesig.patch b/net-dns/rbldnsd/files/rbldnsd-0.998b-emalloc-typesig.patch
new file mode 100644
index 000000000000..9d66f8514890
--- /dev/null
+++ b/net-dns/rbldnsd/files/rbldnsd-0.998b-emalloc-typesig.patch
@@ -0,0 +1,34 @@
+From 5ba62bded7e26a0a6f3877491c7f102b3cf67e5e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 4 Oct 2024 15:02:09 -0400
+Subject: [PATCH] mempool.c: fix type signature of emalloc()
+
+This file declares emalloc() as,
+
+ void *emalloc(unsigned size);
+
+whereas the actual implementation of emalloc in rbldnsd_util.c is,
+
+ char *emalloc(size_t size);
+
+The mismatch can cause problems for link-time optimization; in
+particular it causes a warning to be raised -Wlto-type-mismatch.
+On Gentoo, for example, we encourage users of LTO to build with
+that warning enabled and promoted to an error.
+---
+ mempool.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mempool.c b/mempool.c
+index 2abbf3a..dd0d733 100644
+--- a/mempool.c
++++ b/mempool.c
+@@ -18,7 +18,7 @@
+ #define alignto sizeof(void*)
+ #define alignmask (alignto-1)
+
+-void *emalloc(unsigned size);
++char *emalloc(size_t size);
+
+ #define MEMPOOL_CHUNKSIZE (65536-sizeof(unsigned)*4)
+
diff --git a/net-dns/rbldnsd/rbldnsd-0.998b-r4.ebuild b/net-dns/rbldnsd/rbldnsd-0.998b-r4.ebuild
new file mode 100644
index 000000000000..8d32672045f6
--- /dev/null
+++ b/net-dns/rbldnsd/rbldnsd-0.998b-r4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="DNS server designed to serve blacklist zones"
+HOMEPAGE="https://rbldnsd.io/"
+SRC_URI="https://github.com/spamhaus/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~sparc ~x86"
+IUSE="ipv6 zlib"
+
+RDEPEND="zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ acct-group/rbldns
+ acct-user/rbldns
+"
+
+# The test suite was dropped from the ebuild because it requires
+# python-2.7, and it will crash if you try to run it now.
+RESTRICT=test
+
+# This check properly includes malloc.h; if mallinfo2
+# is "implicitly defined," then it's not there.
+QA_CONFIG_IMPL_DECL_SKIP=(
+ mallinfo2
+)
+
+PATCHES=(
+ "${FILESDIR}/rbldnsd-0.998b-cstd.patch"
+ "${FILESDIR}/rbldnsd-0.998b-sys-poll.patch"
+ "${FILESDIR}/rbldnsd-0.998b-mallinfo2.patch"
+ "${FILESDIR}/rbldnsd-0.998b-emalloc-typesig.patch"
+)
+
+src_configure() {
+ # The ./configure file is handwritten and doesn't support a `make
+ # install` target, so there are no --prefix options. The econf
+ # function appends those automatically, so we can't use it. We
+ # Have to set $CC here, too (and not just in the call to emake),
+ # because the ./configure script checks for it.
+ CC="$(tc-getCC)" ./configure \
+ $(use_enable ipv6) \
+ $(use_enable zlib) \
+ || die "./configure failed"
+}
+
+src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ RANLIB="$(tc-getRANLIB)"
+}
+
+src_install() {
+ einstalldocs
+ dosbin rbldnsd
+ doman rbldnsd.8
+ newinitd "${FILESDIR}"/initd-0.997a rbldnsd
+ newconfd "${FILESDIR}"/confd-0.997a rbldnsd
+ diropts -g rbldns -o rbldns -m 0750
+ keepdir /var/db/rbldnsd
+}