diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2024-10-04 15:16:11 -0400 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2024-10-04 15:41:10 -0400 |
commit | 1b729405ff0956692a8ee7779025723d74bf346a (patch) | |
tree | 4a63e09705d4e3ff2b1b6798f3f6623367fc8cc6 /net-dns | |
parent | sys-devel/llvm-common: Remove old (diff) | |
download | gentoo-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.patch | 34 | ||||
-rw-r--r-- | net-dns/rbldnsd/rbldnsd-0.998b-r4.ebuild | 68 |
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 +} |