summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-12-19 11:27:22 +0000
committerSam James <sam@gentoo.org>2023-12-19 11:27:22 +0000
commitac62c5917a3a871982b477ebcfe1e7bac07b9e7e (patch)
treeb1811a4b4c95b986ec8b9cfb9bee52b3d24d69eb
parentsys-cluster/openmpi: add 4.1.6 (diff)
downloadgentoo-ac62c5917a3a871982b477ebcfe1e7bac07b9e7e.tar.gz
gentoo-ac62c5917a3a871982b477ebcfe1e7bac07b9e7e.tar.bz2
gentoo-ac62c5917a3a871982b477ebcfe1e7bac07b9e7e.zip
sys-apps/rng-tools: fix modern C issue in configure
Closes: https://bugs.gentoo.org/919399 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--sys-apps/rng-tools/files/rng-tools-6.16-c99.patch22
-rw-r--r--sys-apps/rng-tools/rng-tools-6.16-r1.ebuild90
2 files changed, 112 insertions, 0 deletions
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 <fweimer@redhat.com>
+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
+}