commit:     ac62c5917a3a871982b477ebcfe1e7bac07b9e7e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 11:27:22 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 11:27:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac62c591

sys-apps/rng-tools: fix modern C issue in configure

Closes: https://bugs.gentoo.org/919399
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/rng-tools/files/rng-tools-6.16-c99.patch | 22 ++++++
 sys-apps/rng-tools/rng-tools-6.16-r1.ebuild       | 90 +++++++++++++++++++++++
 2 files changed, 112 insertions(+)

diff --git a/sys-apps/rng-tools/files/rng-tools-6.16-c99.patch 
b/sys-apps/rng-tools/files/rng-tools-6.16-c99.patch
new file mode 100644
index 000000000000..dad35eeed1ff
--- /dev/null
+++ b/sys-apps/rng-tools/files/rng-tools-6.16-c99.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/919399
+https://github.com/nhorman/rng-tools/pull/205
+
+From 593e326815ba7ee820ee2f0a3c45279282f07c34 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <[email protected]>
+Date: Tue, 19 Dec 2023 10:32:11 +0100
+Subject: [PATCH] configure: Fix m4 quoting issue in libargp probe
+
+Without the surrounding [], m4 drops the inner [], treating, argv[] as
+argv.  This results in an incorrect argument type for argp_parse,
+causing the probe to fail with future compilers due to type error.
+--- a/configure.ac
++++ b/configure.ac
+@@ -196,7 +196,7 @@ AS_IF(
+               AC_LINK_IFELSE(
+                       [AC_LANG_PROGRAM(
+                               [#include <argp.h>],
+-                              [int argc=1; char *argv[]={"test"}; 
argp_parse(0,argc,argv,0,0,0); return 0;]
++                              [[int argc=1; char *argv[]={"test"}; 
argp_parse(0,argc,argv,0,0,0); return 0;]]
+                               )],
+                       [need_libargp=no],
+                       [need_libargp=yes

diff --git a/sys-apps/rng-tools/rng-tools-6.16-r1.ebuild 
b/sys-apps/rng-tools/rng-tools-6.16-r1.ebuild
new file mode 100644
index 000000000000..3dd714dfc810
--- /dev/null
+++ b/sys-apps/rng-tools/rng-tools-6.16-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools readme.gentoo-r1 systemd
+
+DESCRIPTION="Daemon to use hardware random number generators"
+HOMEPAGE="https://github.com/nhorman/rng-tools";
+SRC_URI="https://github.com/nhorman/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="jitterentropy nistbeacon pkcs11 qrypt rtlsdr selinux test"
+REQUIRED_USE="test? ( jitterentropy )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       dev-libs/openssl:=
+       sys-libs/libcap
+       jitterentropy? ( app-crypt/jitterentropy:= )
+       nistbeacon? (
+               dev-libs/jansson:=
+               dev-libs/libxml2:2=
+               net-misc/curl[ssl]
+       )
+       pkcs11? ( dev-libs/libp11:= )
+       qrypt? (
+               dev-libs/jansson:=
+               net-misc/curl[ssl]
+       )
+       rtlsdr? ( net-wireless/rtl-sdr )
+       elibc_musl? ( sys-libs/argp-standalone )
+"
+RDEPEND="
+       ${DEPEND}
+       selinux? ( sec-policy/selinux-rngd )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.16-c99.patch
+)
+
+src_prepare() {
+       sed -i "s/sleep 30/sleep 120/g" tests/rngtestjitter.sh || die
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               $(use_enable jitterentropy)
+               $(use_with nistbeacon)
+               $(use_with pkcs11)
+               $(use_with rtlsdr)
+               $(use_with qrypt)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_test() {
+       RNGD_JITTER_TIMEOUT=90 default
+}
+
+src_install() {
+       default
+
+       newinitd "${FILESDIR}"/rngd-initd-6.11 rngd
+       newconfd "${FILESDIR}"/rngd-confd-6.11 rngd
+       systemd_dounit rngd.service
+
+       if use pkcs11; then
+               local DISABLE_AUTOFORMATTING=1
+               local DOC_CONTENTS="
+The PKCS11 entropy source may require extra packages (e.g. 'dev-libs/opensc')
+to support various smartcard readers. Make sure 'PKCS11_OPTIONS' in:
+       '${EPREFIX}/etc/conf.d/rngd'
+reflects the correct PKCS11 engine path to be used by rngd.
+"
+               readme.gentoo_create_doc
+       fi
+}
+
+pkg_postinst() {
+       use pkcs11 && readme.gentoo_print_elog
+}

Reply via email to