mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-libs/botan: fix musl build
Couldn't reproduce it but seems straightforward wrt the issue. Closes: https://bugs.gentoo.org/909422 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -55,6 +55,9 @@ BDEPEND="
|
||||
# NOTE: Considering patching Botan?
|
||||
# Please see upstream's guidance:
|
||||
# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-getentropy-includes.patch
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
|
||||
68
dev-libs/botan/files/botan-3.0.0-getentropy-includes.patch
Normal file
68
dev-libs/botan/files/botan-3.0.0-getentropy-includes.patch
Normal file
@@ -0,0 +1,68 @@
|
||||
https://bugs.gentoo.org/909422
|
||||
https://github.com/randombit/botan/commit/3f87e1eef7dbfe231d833ffbf06f7a85b070b600 (cherry-picked getentropy.cpp bit)
|
||||
https://github.com/randombit/botan/commit/562ea8da8ab34985b4b3dfefc1bea57829213ace
|
||||
|
||||
--- a/src/lib/entropy/getentropy/getentropy.cpp
|
||||
+++ b/src/lib/entropy/getentropy/getentropy.cpp
|
||||
@@ -10,8 +10,8 @@
|
||||
#if defined(BOTAN_TARGET_OS_IS_OPENBSD) || defined(BOTAN_TARGET_OS_IS_FREEBSD) || defined(BOTAN_TARGET_OS_IS_SOLARIS)
|
||||
#include <unistd.h>
|
||||
#else
|
||||
- #include <sys/types.h> // older macOS needs this before sys/random.h
|
||||
#include <sys/random.h>
|
||||
+ #include <sys/types.h> // older macOS needs this before sys/random.h
|
||||
#endif
|
||||
|
||||
namespace Botan {
|
||||
@@ -21,16 +21,14 @@ namespace Botan {
|
||||
* buffer size is limited to 256 bytes. On OpenBSD this does neither
|
||||
* block nor fail.
|
||||
*/
|
||||
-size_t Getentropy::poll(RandomNumberGenerator& rng)
|
||||
- {
|
||||
+size_t Getentropy::poll(RandomNumberGenerator& rng) {
|
||||
secure_vector<uint8_t> buf(256);
|
||||
|
||||
- if(::getentropy(buf.data(), buf.size()) == 0)
|
||||
- {
|
||||
+ if(::getentropy(buf.data(), buf.size()) == 0) {
|
||||
rng.add_entropy(buf.data(), buf.size());
|
||||
return buf.size() * 8;
|
||||
- }
|
||||
+ }
|
||||
|
||||
return 0;
|
||||
- }
|
||||
}
|
||||
+} // namespace Botan
|
||||
|
||||
From 562ea8da8ab34985b4b3dfefc1bea57829213ace Mon Sep 17 00:00:00 2001
|
||||
From: Jack Lloyd <jack@randombit.net>
|
||||
Date: Mon, 29 May 2023 10:10:54 -0400
|
||||
Subject: [PATCH] Clean up getentropy includes
|
||||
|
||||
--- a/src/lib/entropy/getentropy/getentropy.cpp
|
||||
+++ b/src/lib/entropy/getentropy/getentropy.cpp
|
||||
@@ -6,12 +6,11 @@
|
||||
*/
|
||||
|
||||
#include <botan/internal/getentropy.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
-#if defined(BOTAN_TARGET_OS_IS_OPENBSD) || defined(BOTAN_TARGET_OS_IS_FREEBSD) || defined(BOTAN_TARGET_OS_IS_SOLARIS)
|
||||
- #include <unistd.h>
|
||||
-#else
|
||||
+// macOS and Android include it in sys/random.h instead
|
||||
+#if __has_include(<sys/random.h>)
|
||||
#include <sys/random.h>
|
||||
- #include <sys/types.h> // older macOS needs this before sys/random.h
|
||||
#endif
|
||||
|
||||
namespace Botan {
|
||||
@@ -31,4 +30,5 @@ size_t Getentropy::poll(RandomNumberGenerator& rng) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
} // namespace Botan
|
||||
|
||||
Reference in New Issue
Block a user