summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2022-11-04 11:55:40 -0400
committerMike Gilbert <floppym@gentoo.org>2022-11-08 12:04:39 -0500
commit8bacde9ab38c268737a14ffa2c5c239c406d23d8 (patch)
tree7c0d2019b3bd475a07b0c3e4ea9013cd6ba26c66 /dev-libs/libgcrypt
parentdev-libs/libgcrypt: add 'getentropy' USE flag (diff)
downloadgentoo-8bacde9ab38c268737a14ffa2c5c239c406d23d8.tar.gz
gentoo-8bacde9ab38c268737a14ffa2c5c239c406d23d8.tar.bz2
gentoo-8bacde9ab38c268737a14ffa2c5c239c406d23d8.zip
dev-libs/libgcrypt: add kernel version check for getentropy
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'dev-libs/libgcrypt')
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild23
1 files changed, 22 insertions, 1 deletions
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
index 844c21219fb8..5614f817ecb3 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=7
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gnupg.asc
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs verify-sig
+inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
HOMEPAGE="https://www.gnupg.org/"
@@ -52,6 +52,27 @@ MULTILIB_CHOST_TOOLS=(
/usr/bin/libgcrypt-config
)
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return
+ fi
+ if use kernel_linux && use getentropy; then
+ unset KV_FULL
+ get_running_version
+ if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then
+ eerror "The getentropy function requires the getrandom syscall."
+ eerror "This was introduced in Linux 3.17."
+ eerror "Your system is currently running Linux ${KV_FULL}."
+ eerror "Disable the 'getentropy' USE flag or upgrade your kernel."
+ die "Kernel is too old for getentropy"
+ fi
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
src_prepare() {
default
eautoreconf