public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2024-12-22  0:22 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-12-22  0:22 UTC (permalink / raw
  To: gentoo-commits

commit:     35b9d59e01a24b9ee7a6fecf948c95c49768956e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 00:09:19 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 00:09:19 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35b9d59e

dev-libs/botan: add 3.6.1

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

 dev-libs/botan/Manifest                           |   2 +
 dev-libs/botan/botan-3.6.1.ebuild                 | 227 +++++++++++++++
 dev-libs/botan/files/botan-3.6.1-boost-1.87.patch | 322 ++++++++++++++++++++++
 3 files changed, 551 insertions(+)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 15dd4e0b8776..54dbb0c1c7ae 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -8,3 +8,5 @@ DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b
 DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
 DIST Botan-3.3.0.tar.xz 7164024 BLAKE2B 051a24c28e6858fdff2af15d01a871ebe5bab11d773be821c0a56a55c725c91cf3119280195ac736f4df83305c1d4910430e6b26deded0d4c634e5c2fc23b389 SHA512 90930add225a2b4376046b3ed0177c71e7d19e983fb2b99c40751de5e6c3959b520eaa1e836782eb02ebc8aff8e9a4fd928f585de5e6b1798a8ad4aa0464f19b
 DIST Botan-3.3.0.tar.xz.asc 488 BLAKE2B 043538ff2572a449d4d9ad4bba6d7cab78865e924f712d1b4d4aad9f378cc417f07c19a25adefa22b6e1c06259a50880414c11ce8d3ad1e7f815cf458dbbe6b8 SHA512 c951079c22665966b96cf18c20df7b709353b42dab4aeb33d021b4a8abbc0f06d8fe909f1a5db3e736b4f93b17374d8f832f7aa9f25757a5d5ab1604320581b2
+DIST Botan-3.6.1.tar.xz 7581864 BLAKE2B 744eed158e021d26b9414b3a098e017e6e2c2160fc7fb6a0f24f6cbbb4b08501157108dedd7a71fc3645e27c86608a9ba5d18a11087adfd1c9b174ca3ce85b30 SHA512 06327c55bee5e0d2e142f81b997dd8a1ef98f61ef920b57f6eb4e80ebf6b3de1c62373b889d4a32e62509495792e0b46d5dcc82a6446266974b4d4ead8d9f287
+DIST Botan-3.6.1.tar.xz.asc 488 BLAKE2B 3538c941f707a182f86226dfdbb8222570671e0bce3ca61137a5d978c2b1f5e658ffc1168d7e73a1861210adfac8aa661124c9cbc4950973f7b1e2c3360aab90 SHA512 871c6d91368d8a080e704afb53b1339c6d06aa57aaa45f260bccf1cb1ed31c635587ba930f954ab55668a7ca13b89b2f2acba3c0f1723e3f7190c6ebe9dc2e0b

diff --git a/dev-libs/botan/botan-3.6.1.ebuild b/dev-libs/botan/botan-3.6.1.ebuild
new file mode 100644
index 000000000000..a74ebb175427
--- /dev/null
+++ b/dev-libs/botan/botan-3.6.1.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+	cpu_flags_arm_{aes,neon,sha1,sha2}
+	cpu_flags_ppc_altivec
+	cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+	boost? ( dev-libs/boost:= )
+	bzip2? ( >=app-arch/bzip2-1.0.5:= )
+	lzma? ( app-arch/xz-utils:= )
+	python? ( ${PYTHON_DEPS} )
+	sqlite? ( dev-db/sqlite:3= )
+	zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+	${DEPEND}
+	!<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	${NINJA_DEPEND}
+	$(python_gen_any_dep '
+		doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+	')
+	|| ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
+	verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.6.1-boost-1.87.patch
+)
+
+python_check_deps() {
+	use doc || return 0
+	python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# bug #908958
+	if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+		eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+		eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+		die "GCC version is too old to compile Botan!"
+	elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+		eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+		eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
+		die "Clang version is too old to compile Botan!"
+	fi
+}
+
+src_configure() {
+	tc-export AR CC CXX
+	python_setup
+
+	local disable_modules=(
+		$(usev !boost 'boost')
+	)
+
+	if [[ -z "${DISABLE_MODULES}" ]] ; then
+		elog "Disabling module(s): ${disable_modules[@]}"
+	fi
+
+	local chostarch="${CHOST%%-*}"
+
+	# Arch specific wrangling
+	local myos=
+	case ${CHOST} in
+		*-darwin*)
+			myos=darwin
+			;;
+		*)
+			myos=linux
+
+			if [[ ${CHOST} == *hppa* ]] ; then
+				chostarch=parisc
+			elif [[ ${ABI} == sparc64 ]] ; then
+				chostarch="sparc64"
+			elif [[ ${ABI} == sparc32 ]] ; then
+				chostarch="sparc32"
+			fi
+			;;
+	esac
+
+	local pythonvers=()
+	if use python ; then
+		_append() {
+			pythonvers+=( ${EPYTHON/python/} )
+		}
+
+		python_foreach_impl _append
+	fi
+
+	local myargs=(
+		# Intrinsics
+		# TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+		# TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+		$(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+		$(usev !cpu_flags_arm_neon '--disable-neon')
+		$(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+		$(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+		$(usev !cpu_flags_ppc_altivec '--disable-altivec')
+		$(usev !cpu_flags_x86_aes '--disable-aes-ni')
+		$(usev !cpu_flags_x86_avx2 '--disable-avx2')
+		$(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+		$(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+		$(usev !cpu_flags_x86_sha '--disable-sha-ni')
+		$(usev !cpu_flags_x86_sse2 '--disable-sse2')
+		$(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+		$(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+		$(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+		# HPPA's GCC doesn't support SSP
+		$(usev hppa '--without-stack-protector')
+
+		$(use_with boost)
+		$(use_with bzip2)
+		$(use_with doc documentation)
+		$(use_with doc sphinx)
+		$(use_with lzma)
+		$(use_enable static-libs static-library)
+		$(use_with sqlite sqlite3)
+		$(use_with zlib)
+
+		--build-tool=ninja
+		--cpu=${chostarch}
+		--docdir=share/doc
+		--disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+		--distribution-info="Gentoo ${PVR}"
+		--libdir="$(get_libdir)"
+		# Avoid collisions between slots for tools (bug #905700)
+		--program-suffix=$(ver_cut 1)
+
+		# Don't install Python bindings automatically
+		# (do it manually later in the right place)
+		# bug #723096
+		--no-install-python-module
+
+		--os=${myos}
+		--prefix="${EPREFIX}"/usr
+		--with-endian="$(tc-endian)"
+		--with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+	)
+
+	local build_targets=(
+		shared
+		$(usev static-libs static)
+		$(usev tools cli)
+		$(usev test tests)
+	)
+
+	myargs+=(
+		--build-targets=$(IFS=","; echo "${build_targets[*]}")
+	)
+
+	if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+		myargs+=(
+			--with-os-features=getrandom,getentropy
+		)
+	fi
+
+	local sanitizers=()
+	if is-flagq -fsanitize=address ; then
+		sanitizers+=( address )
+	fi
+	if is-flagq -fsanitize=undefined ; then
+		sanitizers+=( undefined )
+	fi
+	filter-flags '-fsanitize=*'
+	myargs+=(
+		--enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+	)
+
+	edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+	eninja
+}
+
+src_test() {
+	LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+	DESTDIR="${D}" eninja install
+
+	if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+		# --docdir in configure controls the parent directory unfortunately
+		mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+	fi
+
+	# Manually install the Python bindings (bug #723096)
+	if use python ; then
+		python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+	fi
+}

diff --git a/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch b/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch
new file mode 100644
index 000000000000..eb42cad0567d
--- /dev/null
+++ b/dev-libs/botan/files/botan-3.6.1-boost-1.87.patch
@@ -0,0 +1,322 @@
+https://bugs.gentoo.org/946389
+https://github.com/randombit/botan/pull/4484
+
+From 2a406beab449a2cb310fa543451a7087ca7b4b1a Mon Sep 17 00:00:00 2001
+From: q66 <q66@chimera-linux.org>
+Date: Sun, 15 Dec 2024 02:42:02 +0100
+Subject: [PATCH 1/2] Remove usage of deprecated asio API
+
+These were all finally dropped with boost 1.87, so this fixes
+build with boost 1.87.
+--- a/src/cli/tls_proxy.cpp
++++ b/src/cli/tls_proxy.cpp
+@@ -106,11 +106,11 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ 
+       typedef std::shared_ptr<tls_proxy_session> pointer;
+ 
+-      static pointer create(boost::asio::io_service& io,
++      static pointer create(boost::asio::io_context& io,
+                             const std::shared_ptr<Botan::TLS::Session_Manager>& session_manager,
+                             const std::shared_ptr<Botan::Credentials_Manager>& credentials,
+                             const std::shared_ptr<Botan::TLS::Policy>& policy,
+-                            const tcp::resolver::iterator& endpoints) {
++                            const tcp::resolver::results_type& endpoints) {
+          auto session = std::make_shared<tls_proxy_session>(io, endpoints);
+ 
+          // Defer the setup of the TLS server to make use of
+@@ -144,7 +144,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+          }
+       }
+ 
+-      tls_proxy_session(boost::asio::io_service& io, tcp::resolver::iterator endpoints) :
++      tls_proxy_session(boost::asio::io_context& io, tcp::resolver::results_type endpoints) :
+             m_strand(io),
+             m_server_endpoints(std::move(endpoints)),
+             m_client_socket(io),
+@@ -287,7 +287,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ 
+       void tls_session_activated() override {
+          auto onConnect = [self = weak_from_this()](boost::system::error_code ec,
+-                                                    const tcp::resolver::iterator& /*endpoint*/) {
++                                                    tcp::resolver::results_type::iterator /*endpoint*/) {
+             if(ec) {
+                log_error("Server connection", ec);
+                return;
+@@ -301,7 +301,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+                return;
+             }
+          };
+-         async_connect(m_server_socket, m_server_endpoints, onConnect);
++         async_connect(m_server_socket, m_server_endpoints.begin(), m_server_endpoints.end(), onConnect);
+       }
+ 
+       void tls_session_established(const Botan::TLS::Session_Summary& session) override {
+@@ -315,9 +315,9 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+          }
+       }
+ 
+-      boost::asio::io_service::strand m_strand;
++      boost::asio::io_context::strand m_strand;
+ 
+-      tcp::resolver::iterator m_server_endpoints;
++      tcp::resolver::results_type m_server_endpoints;
+ 
+       tcp::socket m_client_socket;
+       tcp::socket m_server_socket;
+@@ -341,9 +341,9 @@ class tls_proxy_server final {
+    public:
+       typedef tls_proxy_session session;
+ 
+-      tls_proxy_server(boost::asio::io_service& io,
++      tls_proxy_server(boost::asio::io_context& io,
+                        unsigned short port,
+-                       tcp::resolver::iterator endpoints,
++                       tcp::resolver::results_type endpoints,
+                        std::shared_ptr<Botan::Credentials_Manager> creds,
+                        std::shared_ptr<Botan::TLS::Policy> policy,
+                        std::shared_ptr<Botan::TLS::Session_Manager> session_mgr,
+@@ -383,7 +383,7 @@ class tls_proxy_server final {
+       }
+ 
+       tcp::acceptor m_acceptor;
+-      tcp::resolver::iterator m_server_endpoints;
++      tcp::resolver::results_type m_server_endpoints;
+ 
+       std::shared_ptr<Botan::Credentials_Manager> m_creds;
+       std::shared_ptr<Botan::TLS::Policy> m_policy;
+@@ -429,10 +429,10 @@ class TLS_Proxy final : public Command {
+ 
+          auto policy = load_tls_policy(get_arg("policy"));
+ 
+-         boost::asio::io_service io;
++         boost::asio::io_context io;
+ 
+          tcp::resolver resolver(io);
+-         auto server_endpoint_iterator = resolver.resolve({target, target_port});
++         auto server_endpoint_iterator = resolver.resolve(target, target_port);
+ 
+          std::shared_ptr<Botan::TLS::Session_Manager> session_mgr;
+ 
+--- a/src/lib/utils/socket/socket.cpp
++++ b/src/lib/utils/socket/socket.cpp
+@@ -46,20 +46,19 @@ class Asio_Socket final : public OS::Socket {
+    public:
+       Asio_Socket(std::string_view hostname, std::string_view service, std::chrono::milliseconds timeout) :
+             m_timeout(timeout), m_timer(m_io), m_tcp(m_io) {
+-         m_timer.expires_from_now(m_timeout);
++         m_timer.expires_after(m_timeout);
+          check_timeout();
+ 
+          boost::asio::ip::tcp::resolver resolver(m_io);
+-         boost::asio::ip::tcp::resolver::query query(std::string{hostname}, std::string{service});
+-         boost::asio::ip::tcp::resolver::iterator dns_iter = resolver.resolve(query);
++         boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+ 
+-         auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::tcp::resolver::iterator&) {
++         auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) {
+             ec = e;
+          };
+ 
+-         boost::asio::async_connect(m_tcp, dns_iter, connect_cb);
++         boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb);
+ 
+          while(ec == boost::asio::error::would_block) {
+             m_io.run_one();
+@@ -74,7 +73,7 @@ class Asio_Socket final : public OS::Socket {
+       }
+ 
+       void write(const uint8_t buf[], size_t len) override {
+-         m_timer.expires_from_now(m_timeout);
++         m_timer.expires_after(m_timeout);
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+ 
+@@ -90,7 +89,7 @@ class Asio_Socket final : public OS::Socket {
+       }
+ 
+       size_t read(uint8_t buf[], size_t len) override {
+-         m_timer.expires_from_now(m_timeout);
++         m_timer.expires_after(m_timeout);
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+          size_t got = 0;
+@@ -116,7 +115,7 @@ class Asio_Socket final : public OS::Socket {
+ 
+    private:
+       void check_timeout() {
+-         if(m_tcp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) {
++         if(m_tcp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) {
+             boost::system::error_code err;
+ 
+             // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c)
+@@ -127,7 +126,7 @@ class Asio_Socket final : public OS::Socket {
+       }
+ 
+       const std::chrono::milliseconds m_timeout;
+-      boost::asio::io_service m_io;
++      boost::asio::io_context m_io;
+       boost::asio::system_timer m_timer;
+       boost::asio::ip::tcp::socket m_tcp;
+ };
+--- a/src/lib/utils/socket/socket_udp.cpp
++++ b/src/lib/utils/socket/socket_udp.cpp
+@@ -46,20 +46,19 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+    public:
+       Asio_SocketUDP(std::string_view hostname, std::string_view service, std::chrono::microseconds timeout) :
+             m_timeout(timeout), m_timer(m_io), m_udp(m_io) {
+-         m_timer.expires_from_now(m_timeout);
++         m_timer.expires_after(m_timeout);
+          check_timeout();
+ 
+          boost::asio::ip::udp::resolver resolver(m_io);
+-         boost::asio::ip::udp::resolver::query query(std::string{hostname}, std::string{service});
+-         boost::asio::ip::udp::resolver::iterator dns_iter = resolver.resolve(query);
++         boost::asio::ip::udp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+ 
+-         auto connect_cb = [&ec](const boost::system::error_code& e, const boost::asio::ip::udp::resolver::iterator&) {
++         auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::udp::resolver::results_type::iterator) {
+             ec = e;
+          };
+ 
+-         boost::asio::async_connect(m_udp, dns_iter, connect_cb);
++         boost::asio::async_connect(m_udp, dns_iter.begin(), dns_iter.end(), connect_cb);
+ 
+          while(ec == boost::asio::error::would_block) {
+             m_io.run_one();
+@@ -74,7 +73,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+       }
+ 
+       void write(const uint8_t buf[], size_t len) override {
+-         m_timer.expires_from_now(m_timeout);
++         m_timer.expires_after(m_timeout);
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+ 
+@@ -90,7 +89,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+       }
+ 
+       size_t read(uint8_t buf[], size_t len) override {
+-         m_timer.expires_from_now(m_timeout);
++         m_timer.expires_after(m_timeout);
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+          size_t got = 0;
+@@ -116,7 +115,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+ 
+    private:
+       void check_timeout() {
+-         if(m_udp.is_open() && m_timer.expires_at() < std::chrono::system_clock::now()) {
++         if(m_udp.is_open() && m_timer.expiry() < std::chrono::system_clock::now()) {
+             boost::system::error_code err;
+ 
+             // NOLINTNEXTLINE(bugprone-unused-return-value,cert-err33-c)
+@@ -127,7 +126,7 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+       }
+ 
+       const std::chrono::microseconds m_timeout;
+-      boost::asio::io_service m_io;
++      boost::asio::io_context m_io;
+       boost::asio::system_timer m_timer;
+       boost::asio::ip::udp::socket m_udp;
+ };
+
+From 3820f357017eacef1fcb5119582bc9789b88f6c2 Mon Sep 17 00:00:00 2001
+From: Jack Lloyd <jack@randombit.net>
+Date: Wed, 18 Dec 2024 17:10:34 -0500
+Subject: [PATCH 2/2] Address review comments
+
+--- a/src/cli/tls_proxy.cpp
++++ b/src/cli/tls_proxy.cpp
+@@ -287,7 +287,7 @@ class tls_proxy_session final : public std::enable_shared_from_this<tls_proxy_se
+ 
+       void tls_session_activated() override {
+          auto onConnect = [self = weak_from_this()](boost::system::error_code ec,
+-                                                    tcp::resolver::results_type::iterator /*endpoint*/) {
++                                                    const tcp::resolver::results_type::iterator& /*endpoint*/) {
+             if(ec) {
+                log_error("Server connection", ec);
+                return;
+--- a/src/examples/tls_stream_client.cpp
++++ b/src/examples/tls_stream_client.cpp
+@@ -35,7 +35,7 @@ class Credentials_Manager : public Botan::Credentials_Manager {
+ class client {
+    public:
+       client(boost::asio::io_context& io_context,
+-             boost::asio::ip::tcp::resolver::iterator endpoint_iterator,
++             const boost::asio::ip::tcp::resolver::results_type& endpoints,
+              std::string_view host,
+              const http::request<http::string_body>& req) :
+             m_request(req),
+@@ -46,7 +46,8 @@ class client {
+                                                         host)),
+             m_stream(io_context, m_ctx) {
+          boost::asio::async_connect(m_stream.lowest_layer(),
+-                                    std::move(endpoint_iterator),
++                                    endpoints.begin(),
++                                    endpoints.end(),
+                                     boost::bind(&client::handle_connect, this, ap::error));
+       }
+ 
+@@ -111,8 +112,7 @@ int main(int argc, char* argv[]) {
+       boost::asio::io_context io_context;
+ 
+       boost::asio::ip::tcp::resolver resolver(io_context);
+-      boost::asio::ip::tcp::resolver::query query(host, port);
+-      boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query);
++      boost::asio::ip::tcp::resolver::results_type endpoints = resolver.resolve(host, port);
+ 
+       http::request<http::string_body> req;
+       req.version(11);
+@@ -121,7 +121,7 @@ int main(int argc, char* argv[]) {
+       req.set(http::field::host, host);
+       req.set(http::field::user_agent, Botan::version_string());
+ 
+-      client c(io_context, iterator, host, req);
++      client c(io_context, endpoints, host, req);
+ 
+       io_context.run();
+    } catch(std::exception& e) {
+--- a/src/lib/utils/socket/socket.cpp
++++ b/src/lib/utils/socket/socket.cpp
+@@ -50,13 +50,12 @@ class Asio_Socket final : public OS::Socket {
+          check_timeout();
+ 
+          boost::asio::ip::tcp::resolver resolver(m_io);
+-         boost::asio::ip::tcp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
++         boost::asio::ip::tcp::resolver::results_type dns_iter =
++            resolver.resolve(std::string{hostname}, std::string{service});
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+ 
+-         auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::tcp::resolver::results_type::iterator) {
+-            ec = e;
+-         };
++         auto connect_cb = [&ec](const boost::system::error_code& e, const auto&) { ec = e; };
+ 
+          boost::asio::async_connect(m_tcp, dns_iter.begin(), dns_iter.end(), connect_cb);
+ 
+--- a/src/lib/utils/socket/socket_udp.cpp
++++ b/src/lib/utils/socket/socket_udp.cpp
+@@ -50,13 +50,13 @@ class Asio_SocketUDP final : public OS::SocketUDP {
+          check_timeout();
+ 
+          boost::asio::ip::udp::resolver resolver(m_io);
+-         boost::asio::ip::udp::resolver::results_type dns_iter = resolver.resolve(std::string{hostname}, std::string{service});
++         boost::asio::ip::udp::resolver::results_type dns_iter =
++            resolver.resolve(std::string{hostname}, std::string{service});
+ 
+          boost::system::error_code ec = boost::asio::error::would_block;
+ 
+-         auto connect_cb = [&ec](const boost::system::error_code& e, boost::asio::ip::udp::resolver::results_type::iterator) {
+-            ec = e;
+-         };
++         auto connect_cb = [&ec](const boost::system::error_code& e,
++                                 const boost::asio::ip::udp::resolver::results_type::iterator&) { ec = e; };
+ 
+          boost::asio::async_connect(m_udp, dns_iter.begin(), dns_iter.end(), connect_cb);
+ 
+


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2024-12-23  8:57 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2024-12-23  8:57 UTC (permalink / raw
  To: gentoo-commits

commit:     c7121988c8b10886d2793f83550cfb05ceb24720
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 23 08:57:16 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 23 08:57:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7121988

dev-libs/botan: fix build w/o avx2

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

 dev-libs/botan/botan-3.6.1.ebuild              |  1 +
 dev-libs/botan/files/botan-3.6.1-no-avx2.patch | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/dev-libs/botan/botan-3.6.1.ebuild b/dev-libs/botan/botan-3.6.1.ebuild
index e47afaa7b00d..7488dcffd9ec 100644
--- a/dev-libs/botan/botan-3.6.1.ebuild
+++ b/dev-libs/botan/botan-3.6.1.ebuild
@@ -58,6 +58,7 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/${P}-boost-1.87.patch
 	"${FILESDIR}"/${P}-tests-glibcxx_assertions.patch
+	"${FILESDIR}"/${PN}-3.6.1-no-avx2.patch
 )
 
 python_check_deps() {

diff --git a/dev-libs/botan/files/botan-3.6.1-no-avx2.patch b/dev-libs/botan/files/botan-3.6.1-no-avx2.patch
new file mode 100644
index 000000000000..a4794738d6cd
--- /dev/null
+++ b/dev-libs/botan/files/botan-3.6.1-no-avx2.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/946821
+https://github.com/randombit/botan/issues/4493
+https://github.com/randombit/botan/pull/4494
+
+From c7f8f6c0967faac1ba66ca3d55560b2aed12863a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ren=C3=A9=20Meusel?= <rene.meusel@rohde-schwarz.com>
+Date: Mon, 23 Dec 2024 09:29:07 +0100
+Subject: [PATCH] FIX: SM4 GFNI needs AVX2
+
+closes #4493
+---
+ src/lib/block/sm4/sm4_gfni/info.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/lib/block/sm4/sm4_gfni/info.txt b/src/lib/block/sm4/sm4_gfni/info.txt
+index 4c5867f9b72..5b5c87b42e7 100644
+--- a/src/lib/block/sm4/sm4_gfni/info.txt
++++ b/src/lib/block/sm4/sm4_gfni/info.txt
+@@ -9,4 +9,5 @@ brief -> "SM4 using Intel GFNI"
+ 
+ <isa>
+ gfni
++avx2
+ </isa>
+


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2023-09-23  9:43 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2023-09-23  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     b42bad398a6ef63a6972fb7dd1fb6748a1500952
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 09:43:17 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 23 09:43:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b42bad39

dev-libs/botan: drop 3.0.0-r2

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/botan/Manifest                            |   2 -
 dev-libs/botan/botan-3.0.0-r2.ebuild               | 194 ---------------------
 .../files/botan-3.0.0-getentropy-includes.patch    |  68 --------
 3 files changed, 264 deletions(-)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 75102248b7be..3369e26cafc2 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,6 +1,4 @@
 DIST Botan-2.19.3.tar.xz 6105896 BLAKE2B 6d7778d9e9a101c76f35c65b0fb0201641cd91967ba934510f3836ee4b924d54cabdc760dd460997679250aa66e1d2a99369cd03f8fb9e7b2fe672d4b355215f SHA512 80012397e2aa7cc88a9536340ac9b770d1195fddda53b9d4cfde82318dd05f9d4f925bbdff773aba99883a701f4d30581e9d5c97e915fa80c3ca2acfa5a92110
 DIST Botan-2.19.3.tar.xz.asc 488 BLAKE2B cd86bf77306aad2956cced6ac4fb96081279af88743e87d8fe5437e72e9fa8db8aaf40d0b5cb9c5b3a85204cb7d63c3baa3054126ab4c9a2db527e6835a069d7 SHA512 9142f932c958138b4bac32f503a550e6c73b61612690a280dcb98efe8c367aa6bd3cd88b4ed4decec376bb87596a780a21bdcb01d4a3573a1c44fbeb0aa49d23
-DIST Botan-3.0.0.tar.xz 8752380 BLAKE2B 06ac29dc0cbaef43a38cc30185f431e1b1f4083469fdea19ee5d77ada6633022746b8ae2419bd00872f9b3892af9c61a455bc88f77bef84f451938dffd27bde3 SHA512 d67ac0f9d67f6869b7a35d4a7c5e96ffcc619f7e44ead36b4cd0906f3d925d12181566aace03ac719ef54d819ae1158febc0b25839beed5f92eade06d510b594
-DIST Botan-3.0.0.tar.xz.asc 488 BLAKE2B 6a34817ec4700983151f97d2e278870736860ac72f3936fcc63e241d89ba758bdf7765d3c877d88019055562a6067c278ecbac263e8d87cc310790089e47f662 SHA512 46ff64bb4d215a48b0549d90ae2461ae39ae5ecf588a7e130876759ec30561c5a2db77ee9cdc7a3dab990927b51ea732f5b56592bdc150062ca25690378ab817
 DIST Botan-3.1.1.tar.xz 8800368 BLAKE2B c31365e6bd4106f96a033e5f092c528c0185577f41d9a698d2630ece0f660f87f03e0775ebeb5c4d812819bbc6eb556b5ff15c16f243288ae73c8bf1fbb991ce SHA512 ed6bdadb910b0775245648140212953ed364aa26107f851e39ac5cb664d7f476c519a22cdad41f0e520796c4ebe453c56ca68a2178e39f815d445e9979333795
 DIST Botan-3.1.1.tar.xz.asc 488 BLAKE2B 9ac94473d90a26932e507cdb3f46d8381565deecff38a5a2f7fe043b33405071adf0baee4235dd94bb6d35fa3ffedca6192fb5f5d76030874a90a399d88f9744 SHA512 f52e8602a57f590150f6f49829e788910006e5113ab6e85c6efe73009b8db752b5f28b869c6265ef6dd3c2727c64c0182d125f02f92485485768416c618acdb9

diff --git a/dev-libs/botan/botan-3.0.0-r2.ebuild b/dev-libs/botan/botan-3.0.0-r2.ebuild
deleted file mode 100644
index 29f6c986af69..000000000000
--- a/dev-libs/botan/botan-3.0.0-r2.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/botan.asc
-inherit edo multiprocessing python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# New major versions are parallel-installable
-SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
-RESTRICT="!test? ( test )"
-
-CPU_USE=(
-	cpu_flags_arm_{aes,neon}
-	cpu_flags_ppc_altivec
-	cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
-)
-
-IUSE+=" ${CPU_USE[@]}"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# NOTE: Boost is needed at runtime too for the CLI tool.
-DEPEND="
-	boost? ( dev-libs/boost:= )
-	bzip2? ( >=app-arch/bzip2-1.0.5:= )
-	lzma? ( app-arch/xz-utils:= )
-	python? ( ${PYTHON_DEPS} )
-	sqlite? ( dev-db/sqlite:3= )
-	zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-RDEPEND="
-	${DEPEND}
-	!<dev-libs/botan-2.19.3-r1:2[tools]
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	$(python_gen_any_dep '
-		doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
-	')
-	verify-sig? ( sec-keys/openpgp-keys-botan )
-"
-
-# 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
-	python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-src_configure() {
-	python_setup
-
-	local disable_modules=(
-		$(usev !boost 'boost')
-	)
-
-	if [[ -z "${DISABLE_MODULES}" ]] ; then
-		elog "Disabling module(s): ${disable_modules[@]}"
-	fi
-
-	local chostarch="${CHOST%%-*}"
-
-	# Arch specific wrangling
-	local myos=
-	case ${CHOST} in
-		*-darwin*)
-			myos=darwin
-			;;
-		*)
-			myos=linux
-
-			if [[ ${CHOST} == *hppa* ]] ; then
-				chostarch=parisc
-			elif [[ ${ABI} == sparc64 ]] ; then
-				chostarch="sparc64"
-			elif [[ ${ABI} == sparc32 ]] ; then
-				chostarch="sparc32"
-			fi
-			;;
-	esac
-
-	local pythonvers=()
-	if use python ; then
-		_append() {
-			pythonvers+=( ${EPYTHON/python/} )
-		}
-
-		python_foreach_impl _append
-	fi
-
-	local myargs=(
-		# Intrinsics
-		# TODO: x86 RDSEED (new CPU_FLAGS_X86?)
-		# TODO: POWER Crypto (new CPU_FLAGS_PPC?)
-		$(usev !cpu_flags_arm_aes '--disable-armv8crypto')
-		$(usev !cpu_flags_arm_neon '--disable-neon')
-		$(usev !cpu_flags_ppc_altivec '--disable-altivec')
-		$(usev !cpu_flags_x86_aes '--disable-aes-ni')
-		$(usev !cpu_flags_x86_avx2 '--disable-avx2')
-		$(usev !cpu_flags_x86_popcnt '--disable-bmi2')
-		$(usev !cpu_flags_x86_rdrand '--disable-rdrand')
-		$(usev !cpu_flags_x86_sha '--disable-sha-ni')
-		$(usev !cpu_flags_x86_sse2 '--disable-sse2')
-		$(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
-		$(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
-		$(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
-
-		# HPPA's GCC doesn't support SSP
-		$(usev hppa '--without-stack-protector')
-
-		$(use_with boost)
-		$(use_with bzip2)
-		$(use_with doc documentation)
-		$(use_with doc sphinx)
-		$(use_with lzma)
-		$(use_enable static-libs static-library)
-		$(use_with sqlite sqlite3)
-		$(use_with zlib)
-
-		--cpu=${chostarch}
-		--docdir=share/doc
-		--disable-modules=$(IFS=","; echo "${disable_modules[*]}")
-		--distribution-info="Gentoo ${PVR}"
-		--libdir="$(get_libdir)"
-		# Avoid collisions between slots for tools (bug #905700)
-		--program-suffix=$(ver_cut 1)
-
-		# Don't install Python bindings automatically
-		# (do it manually later in the right place)
-		# bug #723096
-		--no-install-python-module
-
-		--os=${myos}
-		--prefix="${EPREFIX}"/usr
-		--with-endian="$(tc-endian)"
-		--with-python-version=$(IFS=","; echo "${pythonvers[*]}")
-	)
-
-	local build_targets=(
-		shared
-		$(usev static-libs static)
-		$(usev tools cli)
-		$(usev test tests)
-	)
-
-	myargs+=(
-		--build-targets=$(IFS=","; echo "${build_targets[*]}")
-	)
-
-	if use elibc_glibc && use kernel_linux ; then
-		myargs+=(
-			--with-os-features=getrandom,getentropy
-		)
-	fi
-
-	tc-export AR CC CXX
-
-	edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_test() {
-	LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
-}
-
-src_install() {
-	default
-
-	if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
-		# --docdir in configure controls the parent directory unfortunately
-		mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
-	fi
-
-	# Manually install the Python bindings (bug #723096)
-	if use python ; then
-		python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
-	fi
-}

diff --git a/dev-libs/botan/files/botan-3.0.0-getentropy-includes.patch b/dev-libs/botan/files/botan-3.0.0-getentropy-includes.patch
deleted file mode 100644
index d8b99ba0f4c5..000000000000
--- a/dev-libs/botan/files/botan-3.0.0-getentropy-includes.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-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
-


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2020-10-14  1:09 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2020-10-14  1:09 UTC (permalink / raw
  To: gentoo-commits

commit:     05477000044d1554b9e9389d6caa459ea3a94c7b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 01:09:06 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 01:09:06 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05477000

dev-libs/botan: cleanup old

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/botan/Manifest                            |   1 -
 dev-libs/botan/botan-2.14.0-r1.ebuild              | 110 ---------------------
 .../files/botan-2.14.0-bindist-test-fix.patch      |  91 -----------------
 3 files changed, 202 deletions(-)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index e546b0b57c9..b54bb404607 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,3 +1,2 @@
-DIST Botan-2.14.0.tar.xz 5958948 BLAKE2B 90e73945b22f6e4e8d6163bfb45eca153eb1495448f8bf35514b780fd12bb1b81c822314e1f598c7625277f1e9cf7a6265387cca80ffd4c2664c681b9d4807fd SHA512 ee15928ecdb0127720b444b0207d46fd68fe3007125b0deb8bdd32f96e9befb684ad54009354da4f6a3c48b9698693b46223710a47fd644da8760dda53d40d34
 DIST Botan-2.15.0.tar.xz 5920688 BLAKE2B 1bbb9cadb0f754194851bddf8b14dbcd291285c5f3fbaad35920277a11c3d9e1b1e5cc484c0d37b1c7999b3084a1c90da56631df0b07e788372b95aff5197031 SHA512 0965a0a6141df44e38bd7da038b89dd2b3808ed9a4ebaafbf089abf60718e62cba78d7b64eaf272b5df8c5a489222e4cad4fb511cde38e76cdaed87f35896c18
 DIST Botan-2.16.0.tar.xz 5938644 BLAKE2B a4b7bb48aee0dbf0f8b81a407b6a39707c3e6040a2bb93f9c34208ab87ea64879b2e56af66f090a73d66b64156e333c89e490d206e666e665a5eb4fbcd98d13e SHA512 12550425c695119d7f448a47b7956565de373e1bc86b8fdfa0a2a5b9fed1ef93a36101b6480e7a2f78e9262c988904c353fa021b681543691d09bf5b00495bd4

diff --git a/dev-libs/botan/botan-2.14.0-r1.ebuild b/dev-libs/botan/botan-2.14.0-r1.ebuild
deleted file mode 100644
index 36655933319..00000000000
--- a/dev-libs/botan/botan-2.14.0-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-MY_P="Botan-${PV}"
-inherit python-r1 toolchain-funcs
-
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-
-LICENSE="BSD"
-SLOT="2/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm hppa ~ia64 ppc ppc64 ~sparc x86 ~ppc-macos"
-IUSE="bindist bzip2 boost doc libressl lzma python sqlite ssl static-libs zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}
-	boost? ( >=dev-libs/boost-1.48:= )
-	bzip2? ( >=app-arch/bzip2-1.0.5:= )
-	lzma? ( app-arch/xz-utils:= )
-	sqlite? ( dev-db/sqlite:3= )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0=[bindist=] )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	zlib? ( >=sys-libs/zlib-1.2.3:= )
-"
-BDEPEND="
-	dev-lang/python:*
-	doc? ( dev-python/sphinx )
-"
-
-PATCHES=(
-	"${FILESDIR}/${P}-bindist-test-fix.patch"
-)
-
-src_configure() {
-	local disable_modules=()
-	use boost || disable_modules+=( "boost" )
-	use bindist && disable_modules+=( "ecdsa" )
-	elog "Disabling modules: ${disable_modules[@]}"
-
-	# Enable v9 instructions for sparc64
-	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
-		CHOSTARCH="sparc32-v9"
-	else
-		CHOSTARCH="${CHOST%%-*}"
-	fi
-
-	local myos=
-	case ${CHOST} in
-		*-darwin*) myos=darwin ;;
-		*) myos=linux  ;;
-	esac
-
-	case ${CHOST} in
-		hppa*) CHOSTARCH=parisc ;;
-	esac
-
-	local pythonvers=()
-	if use python; then
-		append() {
-			pythonvers+=( ${EPYTHON/python/} )
-		}
-		python_foreach_impl append
-	fi
-
-	# Don't install automatically, do it manually later in right place
-	# https://bugs.gentoo.org/723096
-	CXX="$(tc-getCXX)" AR="$(tc-getAR)" ./configure.py \
-		$(use_enable static-libs static-library) \
-		$(use_with boost) \
-		$(use_with bzip2) \
-		$(use_with doc documentation) \
-		$(use_with doc sphinx) \
-		$(use_with lzma) \
-		$(use_with sqlite sqlite3) \
-		$(use_with ssl openssl) \
-		$(use_with zlib) \
-		$(usex hppa --without-stack-protector '') \
-		--cc=gcc \
-		--cpu=${CHOSTARCH} \
-		--disable-modules=$(IFS=","; echo "${disable_modules[*]}" ) \
-		--docdir=share/doc \
-		--libdir=$(get_libdir) \
-		--os=${myos} \
-		--distribution-info="Gentoo ${PVR}" \
-		--prefix="${EPREFIX}/usr" \
-		--with-endian="$(tc-endian)" \
-		--with-python-version=$(IFS=","; echo "${pythonvers[*]}" ) \
-		--without-doxygen \
-		--no-install-python-module \
-		|| die "configure.py failed"
-}
-
-src_test() {
-	LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
-	default
-	use python && python_foreach_impl python_domodule src/python/botan2.py
-}

diff --git a/dev-libs/botan/files/botan-2.14.0-bindist-test-fix.patch b/dev-libs/botan/files/botan-2.14.0-bindist-test-fix.patch
deleted file mode 100644
index 35b17976dbd..00000000000
--- a/dev-libs/botan/files/botan-2.14.0-bindist-test-fix.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-https://github.com/randombit/botan/commit/df73ee690c5795be586cd4df3e33253113a0dcdf
-https://github.com/randombit/botan/commit/d9d6d7a593da135d2046aeb8a9e05e967d90f538
-
-diff --git a/src/tests/test_pkcs11_high_level.cpp b/src/tests/test_pkcs11_high_level.cpp
-index 47a5bf5e56..07dc86ef21 100644
---- a/src/tests/test_pkcs11_high_level.cpp
-+++ b/src/tests/test_pkcs11_high_level.cpp
-@@ -909,6 +909,15 @@ BOTAN_REGISTER_TEST("pkcs11-rsa", PKCS11_RSA_Tests);
- 
- /***************************** PKCS11 ECDSA *****************************/
- 
-+#if defined(BOTAN_HAS_ECC_GROUP)
-+std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::PointGFp& point)
-+   {
-+   std::vector<uint8_t> enc;
-+   DER_Encoder(enc).encode(point.encode(PointGFp::UNCOMPRESSED), OCTET_STRING);
-+   return enc;
-+   }
-+#endif
-+
- #if defined(BOTAN_HAS_ECDSA)
- 
- Test::Result test_ecdsa_privkey_import()
-@@ -976,13 +985,6 @@ Test::Result test_ecdsa_privkey_export()
-    return result;
-    }
- 
--std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::PointGFp& point)
--   {
--   std::vector<uint8_t> enc;
--   DER_Encoder(enc).encode(point.encode(PointGFp::UNCOMPRESSED), OCTET_STRING);
--   return enc;
--   }
--
- Test::Result test_ecdsa_pubkey_import()
-    {
-    Test::Result result("PKCS11 import ECDSA public key");
-diff --git a/src/tests/test_pkcs11_high_level.cpp b/src/tests/test_pkcs11_high_level.cpp
-index 07dc86ef21..c77e8ea42e 100644
---- a/src/tests/test_pkcs11_high_level.cpp
-+++ b/src/tests/test_pkcs11_high_level.cpp
-@@ -28,10 +28,14 @@
-    #include <botan/der_enc.h>
- #endif
- 
--#if defined (BOTAN_HAS_PUBLIC_KEY_CRYPTO)
-+#if defined(BOTAN_HAS_PUBLIC_KEY_CRYPTO)
-    #include <botan/pubkey.h>
- #endif
- 
-+#if defined(BOTAN_HAS_ECC_GROUP)
-+   #include <botan/ec_group.h>
-+#endif
-+
- #if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCS11)
-    #include <botan/rsa.h>
-    #include <botan/p11_rsa.h>
-@@ -909,7 +913,7 @@ BOTAN_REGISTER_TEST("pkcs11-rsa", PKCS11_RSA_Tests);
- 
- /***************************** PKCS11 ECDSA *****************************/
- 
--#if defined(BOTAN_HAS_ECC_GROUP)
-+#if defined(BOTAN_HAS_ECC_GROUP) && (defined(BOTAN_HAS_ECDSA) || defined(BOTAN_HAS_ECDH))
- std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::PointGFp& point)
-    {
-    std::vector<uint8_t> enc;
-diff --git a/src/tests/unit_x509.cpp b/src/tests/unit_x509.cpp
-index eaae358420..d9b7858898 100644
---- a/src/tests/unit_x509.cpp
-+++ b/src/tests/unit_x509.cpp
-@@ -603,7 +603,7 @@ Test::Result test_verify_gost2012_cert()
-    {
-    Test::Result result("X509 GOST-2012 certificates");
- 
--#if defined(BOTAN_HAS_GOST_34_10_2012) && defined(BOTAN_HAS_STREEBOG)
-+#if defined(BOTAN_HAS_GOST_34_10_2012) && defined(BOTAN_HAS_STREEBOG) && defined(BOTAN_HAS_EMSA1)
-    try
-       {
-       Botan::X509_Certificate root_cert(Test::data_file("x509/gost/gost_root.pem"));
-@@ -1600,6 +1600,11 @@ class X509_Cert_Unit_Tests final : public Test
-                continue;
- #endif
- 
-+#if !defined(BOTAN_HAS_EMSA1)
-+            if(algo != "RSA" && algo != "Ed25519")
-+               continue;
-+#endif
-+
-             std::unique_ptr<Botan::Private_Key> key = make_a_private_key(algo);
- 
-             if(key == nullptr)


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2020-09-10 15:14 Sam James
  0 siblings, 0 replies; 13+ messages in thread
From: Sam James @ 2020-09-10 15:14 UTC (permalink / raw
  To: gentoo-commits

commit:     e3002ff94b023e3c3028934d18bf95c4f055d80f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 10 15:14:07 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep 10 15:14:16 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3002ff9

dev-libs/botan: security cleanup

Bug: https://bugs.gentoo.org/718596
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/botan/Manifest                      |   1 -
 dev-libs/botan/botan-2.9.0.ebuild            | 103 ---------------------------
 dev-libs/botan/files/botan-2.9.0-build.patch |  63 ----------------
 3 files changed, 167 deletions(-)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index ae7a4661551..a5442d2b4ff 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,3 +1,2 @@
 DIST Botan-2.14.0.tar.xz 5958948 BLAKE2B 90e73945b22f6e4e8d6163bfb45eca153eb1495448f8bf35514b780fd12bb1b81c822314e1f598c7625277f1e9cf7a6265387cca80ffd4c2664c681b9d4807fd SHA512 ee15928ecdb0127720b444b0207d46fd68fe3007125b0deb8bdd32f96e9befb684ad54009354da4f6a3c48b9698693b46223710a47fd644da8760dda53d40d34
 DIST Botan-2.15.0.tar.xz 5920688 BLAKE2B 1bbb9cadb0f754194851bddf8b14dbcd291285c5f3fbaad35920277a11c3d9e1b1e5cc484c0d37b1c7999b3084a1c90da56631df0b07e788372b95aff5197031 SHA512 0965a0a6141df44e38bd7da038b89dd2b3808ed9a4ebaafbf089abf60718e62cba78d7b64eaf272b5df8c5a489222e4cad4fb511cde38e76cdaed87f35896c18
-DIST Botan-2.9.0.tgz 7216373 BLAKE2B 5ad2e15db871ccc3a32b29b7f54a02d69f251f0aca2ce656b557dbbb3814a793053a54905371b3414ad72952a64bece43e2383da91f205f68b0fe31be2f9439c SHA512 b88f3894a4a5b7b2fbff9be6eb0b774bf679a014bd2364811b7e63d4f323e22ca9ef916491afbc2cdf9db68727c1449fbeb6fd417e591560add0955517db3f65

diff --git a/dev-libs/botan/botan-2.9.0.ebuild b/dev-libs/botan/botan-2.9.0.ebuild
deleted file mode 100644
index ec3daddb330..00000000000
--- a/dev-libs/botan/botan-2.9.0.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-
-inherit multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tgz"
-
-KEYWORDS="amd64 ~arm hppa ~ia64 ppc ppc64 ~sparc x86 ~ppc-macos"
-SLOT="2/$(ver_cut 1-2)" # soname version
-LICENSE="BSD"
-IUSE="bindist doc boost python bzip2 libressl lzma sqlite ssl static-libs zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}
-	bzip2? ( >=app-arch/bzip2-1.0.5:= )
-	zlib? ( >=sys-libs/zlib-1.2.3:= )
-	boost? ( >=dev-libs/boost-1.48:= )
-	lzma? ( app-arch/xz-utils:= )
-	sqlite? ( dev-db/sqlite:3= )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0=[bindist=] )
-		libressl? ( dev-libs/libressl:0= )
-	)"
-BDEPEND="dev-lang/python:*
-	doc? ( dev-python/sphinx )"
-
-PATCHES=(
-	"${FILESDIR}/${P}-build.patch"
-)
-
-src_configure() {
-	local disable_modules=()
-	use boost || disable_modules+=( "boost" )
-	use bindist && disable_modules+=( "ecdsa" )
-	elog "Disabling modules: ${disable_modules[@]}"
-
-	# Enable v9 instructions for sparc64
-	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
-		CHOSTARCH="sparc32-v9"
-	else
-		CHOSTARCH="${CHOST%%-*}"
-	fi
-
-	local myos=
-	case ${CHOST} in
-		*-darwin*)	myos=darwin ;;
-		*)			myos=linux  ;;
-	esac
-
-	case ${CHOST} in
-		hppa*)		CHOSTARCH=parisc ;;
-	esac
-
-	local pythonvers=()
-	if use python; then
-		append() {
-			pythonvers+=( ${EPYTHON/python/} )
-		}
-		python_foreach_impl append
-	fi
-
-	CXX="$(tc-getCXX)" AR="$(tc-getAR)" ./configure.py \
-		$(use_enable static-libs static-library) \
-		$(use_with boost) \
-		$(use_with bzip2) \
-		$(use_with doc documentation) \
-		$(use_with doc sphinx) \
-		$(use_with lzma) \
-		$(use_with sqlite sqlite3) \
-		$(use_with ssl openssl) \
-		$(use_with zlib) \
-		$(usex hppa --without-stack-protector '') \
-		--cc=gcc \
-		--cpu=${CHOSTARCH} \
-		--disable-modules=$(IFS=","; echo "${disable_modules[*]}" ) \
-		--docdir=share/doc \
-		--libdir=$(get_libdir) \
-		--os=${myos} \
-		--prefix="${EPREFIX}/usr" \
-		--with-endian="$(tc-endian)" \
-		--with-python-version=$(IFS=","; echo "${pythonvers[*]}" ) \
-		--without-doxygen \
-		|| die "configure.py failed"
-}
-
-src_test() {
-	LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
-	default
-	use python && python_foreach_impl python_optimize
-}

diff --git a/dev-libs/botan/files/botan-2.9.0-build.patch b/dev-libs/botan/files/botan-2.9.0-build.patch
deleted file mode 100644
index 6208ffdbf0a..00000000000
--- a/dev-libs/botan/files/botan-2.9.0-build.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 86df247e4f090f984e050962ed5a4a536ec63b33 Mon Sep 17 00:00:00 2001
-From: Ralf van der Enden <Ralf.vanderEnden@deltares.nl>
-Date: Fri, 5 Apr 2019 14:58:14 +0200
-Subject: [PATCH] boost 1.70 compatibility
-
-Fixes issue #82
----
- src/cli/tls_http_server.cpp | 8 +++++++-
- src/cli/tls_proxy.cpp       | 8 +++++++-
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/src/cli/tls_http_server.cpp b/src/cli/tls_http_server.cpp
-index cc59a71c33..0a6428cd65 100644
---- a/src/cli/tls_http_server.cpp
-+++ b/src/cli/tls_http_server.cpp
-@@ -41,6 +41,12 @@
- 
- #include "credentials.h"
- 
-+#if BOOST_VERSION >= 107000
-+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
-+#else
-+#define GET_IO_SERVICE(s) ((s).get_io_service())
-+#endif
-+
- namespace Botan_CLI {
- 
- namespace {
-@@ -435,7 +441,7 @@ class TLS_Asio_HTTP_Server final
-       session::pointer make_session()
-          {
-          return session::create(
--                   m_acceptor.get_io_service(),
-+                   GET_IO_SERVICE(m_acceptor),
-                    m_session_manager,
-                    m_creds,
-                    m_policy);
-diff --git a/src/cli/tls_proxy.cpp b/src/cli/tls_proxy.cpp
-index 49ffbe3766..42ce156b12 100644
---- a/src/cli/tls_proxy.cpp
-+++ b/src/cli/tls_proxy.cpp
-@@ -33,6 +33,12 @@
- 
- #include "credentials.h"
- 
-+#if BOOST_VERSION >= 107000
-+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
-+#else
-+#define GET_IO_SERVICE(s) ((s).get_io_service())
-+#endif
-+
- namespace Botan_CLI {
- 
- namespace {
-@@ -370,7 +376,7 @@ class tls_proxy_server final
-       session::pointer make_session()
-          {
-          return session::create(
--                   m_acceptor.get_io_service(),
-+                   GET_IO_SERVICE(m_acceptor),
-                    m_session_manager,
-                    m_creds,
-                    m_policy,


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2020-05-26 20:18 Thomas Deutschmann
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Deutschmann @ 2020-05-26 20:18 UTC (permalink / raw
  To: gentoo-commits

commit:     39b70c6fefb87ece3dbc552591ffbda0bb8945ad
Author:     Sam James (sam_c) <sam <AT> cmpct <DOT> info>
AuthorDate: Wed May 20 13:25:50 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue May 26 20:18:06 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39b70c6f

dev-libs/botan: Fix tests with USE=bindist

Include 2 upstream patches for fixing tests
in some configurations. Seems to only affect
Gentoo with USE=bindist because that's when
ECDSA is disabled.

Closes: https://bugs.gentoo.org/723320
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sam James (sam_c) <sam <AT> cmpct.info>
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-libs/botan/botan-2.14.0-r1.ebuild              |  4 +
 .../files/botan-2.14.0-bindist-test-fix.patch      | 91 ++++++++++++++++++++++
 2 files changed, 95 insertions(+)

diff --git a/dev-libs/botan/botan-2.14.0-r1.ebuild b/dev-libs/botan/botan-2.14.0-r1.ebuild
index 242a808d5ed..61d86ec2499 100644
--- a/dev-libs/botan/botan-2.14.0-r1.ebuild
+++ b/dev-libs/botan/botan-2.14.0-r1.ebuild
@@ -37,6 +37,10 @@ BDEPEND="
 	doc? ( dev-python/sphinx )
 "
 
+PATCHES=(
+	"${FILESDIR}/${P}-bindist-test-fix.patch"
+)
+
 src_configure() {
 	local disable_modules=()
 	use boost || disable_modules+=( "boost" )

diff --git a/dev-libs/botan/files/botan-2.14.0-bindist-test-fix.patch b/dev-libs/botan/files/botan-2.14.0-bindist-test-fix.patch
new file mode 100644
index 00000000000..35b17976dbd
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.14.0-bindist-test-fix.patch
@@ -0,0 +1,91 @@
+https://github.com/randombit/botan/commit/df73ee690c5795be586cd4df3e33253113a0dcdf
+https://github.com/randombit/botan/commit/d9d6d7a593da135d2046aeb8a9e05e967d90f538
+
+diff --git a/src/tests/test_pkcs11_high_level.cpp b/src/tests/test_pkcs11_high_level.cpp
+index 47a5bf5e56..07dc86ef21 100644
+--- a/src/tests/test_pkcs11_high_level.cpp
++++ b/src/tests/test_pkcs11_high_level.cpp
+@@ -909,6 +909,15 @@ BOTAN_REGISTER_TEST("pkcs11-rsa", PKCS11_RSA_Tests);
+ 
+ /***************************** PKCS11 ECDSA *****************************/
+ 
++#if defined(BOTAN_HAS_ECC_GROUP)
++std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::PointGFp& point)
++   {
++   std::vector<uint8_t> enc;
++   DER_Encoder(enc).encode(point.encode(PointGFp::UNCOMPRESSED), OCTET_STRING);
++   return enc;
++   }
++#endif
++
+ #if defined(BOTAN_HAS_ECDSA)
+ 
+ Test::Result test_ecdsa_privkey_import()
+@@ -976,13 +985,6 @@ Test::Result test_ecdsa_privkey_export()
+    return result;
+    }
+ 
+-std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::PointGFp& point)
+-   {
+-   std::vector<uint8_t> enc;
+-   DER_Encoder(enc).encode(point.encode(PointGFp::UNCOMPRESSED), OCTET_STRING);
+-   return enc;
+-   }
+-
+ Test::Result test_ecdsa_pubkey_import()
+    {
+    Test::Result result("PKCS11 import ECDSA public key");
+diff --git a/src/tests/test_pkcs11_high_level.cpp b/src/tests/test_pkcs11_high_level.cpp
+index 07dc86ef21..c77e8ea42e 100644
+--- a/src/tests/test_pkcs11_high_level.cpp
++++ b/src/tests/test_pkcs11_high_level.cpp
+@@ -28,10 +28,14 @@
+    #include <botan/der_enc.h>
+ #endif
+ 
+-#if defined (BOTAN_HAS_PUBLIC_KEY_CRYPTO)
++#if defined(BOTAN_HAS_PUBLIC_KEY_CRYPTO)
+    #include <botan/pubkey.h>
+ #endif
+ 
++#if defined(BOTAN_HAS_ECC_GROUP)
++   #include <botan/ec_group.h>
++#endif
++
+ #if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCS11)
+    #include <botan/rsa.h>
+    #include <botan/p11_rsa.h>
+@@ -909,7 +913,7 @@ BOTAN_REGISTER_TEST("pkcs11-rsa", PKCS11_RSA_Tests);
+ 
+ /***************************** PKCS11 ECDSA *****************************/
+ 
+-#if defined(BOTAN_HAS_ECC_GROUP)
++#if defined(BOTAN_HAS_ECC_GROUP) && (defined(BOTAN_HAS_ECDSA) || defined(BOTAN_HAS_ECDH))
+ std::vector<uint8_t> encode_ec_point_in_octet_str(const Botan::PointGFp& point)
+    {
+    std::vector<uint8_t> enc;
+diff --git a/src/tests/unit_x509.cpp b/src/tests/unit_x509.cpp
+index eaae358420..d9b7858898 100644
+--- a/src/tests/unit_x509.cpp
++++ b/src/tests/unit_x509.cpp
+@@ -603,7 +603,7 @@ Test::Result test_verify_gost2012_cert()
+    {
+    Test::Result result("X509 GOST-2012 certificates");
+ 
+-#if defined(BOTAN_HAS_GOST_34_10_2012) && defined(BOTAN_HAS_STREEBOG)
++#if defined(BOTAN_HAS_GOST_34_10_2012) && defined(BOTAN_HAS_STREEBOG) && defined(BOTAN_HAS_EMSA1)
+    try
+       {
+       Botan::X509_Certificate root_cert(Test::data_file("x509/gost/gost_root.pem"));
+@@ -1600,6 +1600,11 @@ class X509_Cert_Unit_Tests final : public Test
+                continue;
+ #endif
+ 
++#if !defined(BOTAN_HAS_EMSA1)
++            if(algo != "RSA" && algo != "Ed25519")
++               continue;
++#endif
++
+             std::unique_ptr<Botan::Private_Key> key = make_a_private_key(algo);
+ 
+             if(key == nullptr)


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2019-04-16 20:28 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2019-04-16 20:28 UTC (permalink / raw
  To: gentoo-commits

commit:     812f60f2b8ceea08fbf418c73e49059d0ee6a21f
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 20:27:43 2019 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 20:28:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=812f60f2

dev-libs/botan: fix >=dev-libs/boost-1.70.0

Closes: https://bugs.gentoo.org/show_bug.cgi?id=683376
Signed-off-by: Alon Bar-Lev <alonbl <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11

 dev-libs/botan/botan-2.9.0.ebuild            |  4 ++
 dev-libs/botan/files/botan-2.9.0-build.patch | 63 ++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)

diff --git a/dev-libs/botan/botan-2.9.0.ebuild b/dev-libs/botan/botan-2.9.0.ebuild
index 8f92905d738..4f995a89686 100644
--- a/dev-libs/botan/botan-2.9.0.ebuild
+++ b/dev-libs/botan/botan-2.9.0.ebuild
@@ -34,6 +34,10 @@ RDEPEND="${DEPEND}
 BDEPEND="dev-lang/python:*
 	doc? ( dev-python/sphinx )"
 
+PATCHES=(
+	"${FILESDIR}/${P}-build.patch"
+)
+
 src_configure() {
 	local disable_modules=()
 	use boost || disable_modules+=( "boost" )

diff --git a/dev-libs/botan/files/botan-2.9.0-build.patch b/dev-libs/botan/files/botan-2.9.0-build.patch
new file mode 100755
index 00000000000..6208ffdbf0a
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.9.0-build.patch
@@ -0,0 +1,63 @@
+From 86df247e4f090f984e050962ed5a4a536ec63b33 Mon Sep 17 00:00:00 2001
+From: Ralf van der Enden <Ralf.vanderEnden@deltares.nl>
+Date: Fri, 5 Apr 2019 14:58:14 +0200
+Subject: [PATCH] boost 1.70 compatibility
+
+Fixes issue #82
+---
+ src/cli/tls_http_server.cpp | 8 +++++++-
+ src/cli/tls_proxy.cpp       | 8 +++++++-
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/src/cli/tls_http_server.cpp b/src/cli/tls_http_server.cpp
+index cc59a71c33..0a6428cd65 100644
+--- a/src/cli/tls_http_server.cpp
++++ b/src/cli/tls_http_server.cpp
+@@ -41,6 +41,12 @@
+ 
+ #include "credentials.h"
+ 
++#if BOOST_VERSION >= 107000
++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
++#else
++#define GET_IO_SERVICE(s) ((s).get_io_service())
++#endif
++
+ namespace Botan_CLI {
+ 
+ namespace {
+@@ -435,7 +441,7 @@ class TLS_Asio_HTTP_Server final
+       session::pointer make_session()
+          {
+          return session::create(
+-                   m_acceptor.get_io_service(),
++                   GET_IO_SERVICE(m_acceptor),
+                    m_session_manager,
+                    m_creds,
+                    m_policy);
+diff --git a/src/cli/tls_proxy.cpp b/src/cli/tls_proxy.cpp
+index 49ffbe3766..42ce156b12 100644
+--- a/src/cli/tls_proxy.cpp
++++ b/src/cli/tls_proxy.cpp
+@@ -33,6 +33,12 @@
+ 
+ #include "credentials.h"
+ 
++#if BOOST_VERSION >= 107000
++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
++#else
++#define GET_IO_SERVICE(s) ((s).get_io_service())
++#endif
++
+ namespace Botan_CLI {
+ 
+ namespace {
+@@ -370,7 +376,7 @@ class tls_proxy_server final
+       session::pointer make_session()
+          {
+          return session::create(
+-                   m_acceptor.get_io_service(),
++                   GET_IO_SERVICE(m_acceptor),
+                    m_session_manager,
+                    m_creds,
+                    m_policy,


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2019-01-06 20:10 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2019-01-06 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     41ae34772cb4a7263768885643906959f584702a
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  6 20:10:18 2019 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Sun Jan  6 20:10:46 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41ae3477

dev-libs/botan: fix powerpc64le build

Closes: https://bugs.gentoo.org/show_bug.cgi?id=674128
Thanks: Shawn Anastasio
Signed-off-by: Alon Bar-Lev <alonbl <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 dev-libs/botan/botan-2.8.0.ebuild            |  6 +++++-
 dev-libs/botan/files/botan-2.8.0-build.patch | 22 ++++++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/dev-libs/botan/botan-2.8.0.ebuild b/dev-libs/botan/botan-2.8.0.ebuild
index f64ebf1a8fe..4f995a89686 100644
--- a/dev-libs/botan/botan-2.8.0.ebuild
+++ b/dev-libs/botan/botan-2.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -34,6 +34,10 @@ RDEPEND="${DEPEND}
 BDEPEND="dev-lang/python:*
 	doc? ( dev-python/sphinx )"
 
+PATCHES=(
+	"${FILESDIR}/${P}-build.patch"
+)
+
 src_configure() {
 	local disable_modules=()
 	use boost || disable_modules+=( "boost" )

diff --git a/dev-libs/botan/files/botan-2.8.0-build.patch b/dev-libs/botan/files/botan-2.8.0-build.patch
new file mode 100644
index 00000000000..04755a0381a
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.8.0-build.patch
@@ -0,0 +1,22 @@
+From 813b7230735960f3e5225f1f74ca680c9ea84101 Mon Sep 17 00:00:00 2001
+From: Shawn Anastasio <shawn@anastas.io>
+Date: Sun, 30 Dec 2018 14:49:43 -0600
+Subject: [PATCH] Add powerpc64le as an alias for ppc64
+
+Add powerpc64le as an alias for the ppc64 build target.
+---
+ src/build-data/arch/ppc64.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/build-data/arch/ppc64.txt b/src/build-data/arch/ppc64.txt
+index 9ab7cccded..23d3bb2a10 100644
+--- a/src/build-data/arch/ppc64.txt
++++ b/src/build-data/arch/ppc64.txt
+@@ -5,6 +5,7 @@ wordsize 64
+ 
+ <aliases>
+ powerpc64
++powerpc64le
+ ppc64le
+ ppc64el
+ </aliases>


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2017-10-04 19:20 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2017-10-04 19:20 UTC (permalink / raw
  To: gentoo-commits

commit:     1e30fc072ccdc03f15660e9269bb63b3db3b0f8c
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  4 19:20:00 2017 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Wed Oct  4 19:20:00 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e30fc07

dev-libs/botan: re-add support for libressl

Gentoo-Bug: 633466

Package-Manager: Portage-2.3.8, Repoman-2.3.1

 dev-libs/botan/botan-1.10.17.ebuild               |  1 +
 dev-libs/botan/files/botan-1.10.17-libressl.patch | 40 +++++++++++++++++++++++
 2 files changed, 41 insertions(+)

diff --git a/dev-libs/botan/botan-1.10.17.ebuild b/dev-libs/botan/botan-1.10.17.ebuild
index afa4eff4aa1..8d09da8321a 100644
--- a/dev-libs/botan/botan-1.10.17.ebuild
+++ b/dev-libs/botan/botan-1.10.17.ebuild
@@ -34,6 +34,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	"${FILESDIR}/${PN}-1.10.15-c++11.patch"
 	"${FILESDIR}/${P}-build.patch"
+	"${FILESDIR}/${P}-libressl.patch"
 )
 
 src_prepare() {

diff --git a/dev-libs/botan/files/botan-1.10.17-libressl.patch b/dev-libs/botan/files/botan-1.10.17-libressl.patch
new file mode 100644
index 00000000000..5913bfd3049
--- /dev/null
+++ b/dev-libs/botan/files/botan-1.10.17-libressl.patch
@@ -0,0 +1,40 @@
+From e61a5f56fb404db3655909be4ce23c3a816cbb60 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Wed, 4 Oct 2017 22:16:31 +0300
+Subject: [PATCH] openssl: support libressl
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ src/engine/openssl/ossl_bc.cpp | 2 +-
+ src/engine/openssl/ossl_md.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/engine/openssl/ossl_bc.cpp b/src/engine/openssl/ossl_bc.cpp
+index 74660c7b5..cb184c202 100644
+--- a/src/engine/openssl/ossl_bc.cpp
++++ b/src/engine/openssl/ossl_bc.cpp
+@@ -8,7 +8,7 @@
+ #include <botan/internal/openssl_engine.h>
+ #include <openssl/evp.h>
+ 
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000
++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
+   #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x"
+ #endif
+ 
+diff --git a/src/engine/openssl/ossl_md.cpp b/src/engine/openssl/ossl_md.cpp
+index 2fcb2b0e5..9c43d616e 100644
+--- a/src/engine/openssl/ossl_md.cpp
++++ b/src/engine/openssl/ossl_md.cpp
+@@ -8,7 +8,7 @@
+ #include <botan/internal/openssl_engine.h>
+ #include <openssl/evp.h>
+ 
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000
++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
+   #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x"
+ #endif
+ 
+-- 
+2.13.6
+


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2017-10-04  6:21 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2017-10-04  6:21 UTC (permalink / raw
  To: gentoo-commits

commit:     50bba930bd38a3ec3aaa0ddcc92f2f2e30716716
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  3 23:10:49 2017 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Tue Oct  3 23:10:49 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50bba930

dev-libs/botan: version bump

Gentoo-Bug: 632104

Package-Manager: Portage-2.3.8, Repoman-2.3.1

 dev-libs/botan/Manifest                        |   1 +
 dev-libs/botan/botan-1.10.17.ebuild            | 158 +++++++++++++++++++++++++
 dev-libs/botan/files/botan-1.10.17-build.patch |  25 ++++
 3 files changed, 184 insertions(+)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 0e8604021dc..b47def0f45d 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,3 +1,4 @@
 DIST Botan-1.10.15.tgz 2711022 SHA256 c0cc8ffd470fda4b257c3ef9faf5cf93751f4c283dfba878148acafedfab70fe SHA512 c3b93f44ad0de9758af11557833ee570aa0724c8b57c9a576b56ab439a7819e0f71a10857ad367b486716164dd4ff551cab2036ecbbbedd75db4b8dc93416bc8 WHIRLPOOL 834cad8b38787581d8d967b2fa6ffb6164e2bf8a124d993733a7d55202439ec543c18cb6cb03721c0e8eb67cbe2a486b8199b3b8784645e0033be298f36640b9
 DIST Botan-1.10.16.tgz 2711177 SHA256 6c5472401d06527e87adcb53dd270f3c9b1fb688703b04dd7a7cfb86289efe52 SHA512 967137c89484630806e828c3902fe27c28dae17e6a3aeae7c542093de356545be4fcbe4325afd9fb40093a10ac409244e4e6503364858facb59057a5dfd61c03 WHIRLPOOL 86ec99dbadcdf1ff27d1b11a133a15be8385f32cf7f456afa9ca0756e3e0c8e640fff3e5d2753d508cf1136268ae5912b3c610a75d30cf07f206896fb8b5e6a8
+DIST Botan-1.10.17.tgz 2706678 SHA256 6847ffb64b8d2f939dccfecc17bd2c80385d08f7621e2c56d3a335118e823613 SHA512 a47cab3af113652247c8efc8b0f043eb62175eaa8554833d5fc3016ea94dbdd8aa722ab9b5226cc5f133afbcc088d54362111630eaa4594812c39925cc3c8649 WHIRLPOOL b2d82fb18ad7f69e26325c797cee939f65211e3b09c7058881633d410acd88e1839960c4be65637b00714b19d06a1c181704a5d184c1890cd7ee75b0e90a301b
 DIST Botan-2.1.0.tgz 5073684 SHA256 460f2d7205aed113f898df4947b1f66ccf8d080eec7dac229ef0b754c9ad6294 SHA512 af9ea35baf431500d380a360525e20e67dd17fdeaa442726019d544e9e423c301196cc17b09a3831f956ca9e62d7e99797f129b26fac10a653dd04e3ad1f4f4f WHIRLPOOL 75289db8f2a6bd075562acc1fd1a8297ad74369022941af7b08878dd94cc28494193a3937aae377c856d2957bf1ac3b564c0cd0ceae0701beab308c082c07fe6

diff --git a/dev-libs/botan/botan-1.10.17.ebuild b/dev-libs/botan/botan-1.10.17.ebuild
new file mode 100644
index 00000000000..2b3ca7f0737
--- /dev/null
+++ b/dev-libs/botan/botan-1.10.17.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit multilib python-r1 toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc python bzip2 gmp libressl ssl static-libs threads zlib"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+	zlib? ( >=sys-libs/zlib-1.2.3 )
+	python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
+	gmp? ( >=dev-libs/gmp-4.2.2:* )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0=[bindist=] )
+		libressl? ( dev-libs/libressl:0= )
+	)"
+DEPEND="${RDEPEND}
+	doc? ( dev-python/sphinx )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-1.10.15-c++11.patch"
+	"${FILESDIR}/${P}-build.patch"
+)
+
+src_prepare() {
+	default
+
+	sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
+	sed \
+		-e "/DOCDIR/d" \
+		-e "/^install:/s/ docs//" \
+		-i src/build-data/makefile/unix_shr.in || die "sed failed"
+
+	# Fix ImportError with Python 3.
+	sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
+
+	use python && python_copy_sources
+}
+
+src_configure() {
+	local disable_modules="proc_walk,unix_procs"
+	use threads || disable_modules+=",pthreads"
+	use bindist && disable_modules+=",ecdsa"
+	elog "Disabling modules: ${disable_modules}"
+
+	# Enable v9 instructions for sparc64
+	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+		CHOSTARCH="sparc32-v9"
+	else
+		CHOSTARCH="${CHOST%%-*}"
+	fi
+
+	local myos=
+	case ${CHOST} in
+		*-darwin*)   myos=darwin ;;
+		*)           myos=linux  ;;
+	esac
+
+	# foobared buildsystem, --prefix translates into DESTDIR, see also make
+	# install in src_install, we need the correct live-system prefix here on
+	# Darwin for a shared lib with correct install_name
+	./configure.py \
+		--prefix="${EPREFIX}/usr" \
+		--libdir=$(get_libdir) \
+		--docdir=share/doc \
+		--cc=gcc \
+		--os=${myos} \
+		--cpu=${CHOSTARCH} \
+		--with-endian="$(tc-endian)" \
+		--without-sphinx \
+		--with-tr1=system \
+		$(use_with bzip2) \
+		$(use_with gmp gnump) \
+		$(use_with python boost-python) \
+		$(use_with ssl openssl) \
+		$(use_with zlib) \
+		--disable-modules=${disable_modules} \
+		|| die "configure.py failed"
+}
+
+src_compile() {
+	emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
+
+	if use python; then
+		building() {
+			rm -fr build/python
+			ln -s "${BUILD_DIR}" build/python
+			cp Makefile.python build/python
+			sed -i \
+				-e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
+				build/python/Makefile.python
+			emake -f build/python/Makefile.python \
+				CXX="$(tc-getCXX)" \
+				CFLAGS="${CXXFLAGS}" \
+				LDFLAGS="${LDFLAGS}" \
+				PYTHON_ROOT="/usr/$(get_libdir)" \
+				PYTHON_INC="-I$(python_get_includedir)"
+		}
+		python_foreach_impl building
+	fi
+
+	if use doc; then
+		einfo "Generation of documentation"
+		sphinx-build doc doc_output || die
+	fi
+}
+
+src_test() {
+	chmod -R ugo+rX "${S}"
+	emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
+	LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
+}
+
+src_install() {
+	emake DESTDIR="${ED}usr" install
+
+	if ! use static-libs; then
+		rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+	fi
+
+	# Add compatibility symlinks.
+	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+	dosym botan-config-1.10 /usr/bin/botan-config
+	dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+	if use python; then
+		installation() {
+			rm -fr build/python
+			ln -s "${BUILD_DIR}" build/python
+			emake -f Makefile.python \
+				PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
+				install
+		}
+		python_foreach_impl installation
+	fi
+
+	if use doc; then
+		pushd doc_output > /dev/null
+		insinto /usr/share/doc/${PF}/html
+		doins -r [a-z]* _static
+		popd > /dev/null
+	fi
+}

diff --git a/dev-libs/botan/files/botan-1.10.17-build.patch b/dev-libs/botan/files/botan-1.10.17-build.patch
new file mode 100644
index 00000000000..43877972211
--- /dev/null
+++ b/dev-libs/botan/files/botan-1.10.17-build.patch
@@ -0,0 +1,25 @@
+From c7963d28d03e5f65f4021a5b764dc4bff9417eda Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Wed, 4 Oct 2017 01:50:33 +0300
+Subject: [PATCH] gost_3411: use correct type for build to pass
+
+---
+ src/hash/gost_3411/gost_3411.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hash/gost_3411/gost_3411.cpp b/src/hash/gost_3411/gost_3411.cpp
+index 97aa399..7ca22dc 100644
+--- a/src/hash/gost_3411/gost_3411.cpp
++++ b/src/hash/gost_3411/gost_3411.cpp
+@@ -91,7 +91,7 @@ void GOST_34_11::compress_n(const byte input[], size_t blocks)
+          // P transformation
+          for(size_t k = 0; k != 4; ++k)
+             {
+-            const uint64_t UVk = U[k] ^ V[k];
++            const u64bit UVk = U[k] ^ V[k];
+             for(size_t l = 0; l != 8; ++l)
+                key[4*l+k] = get_byte(l, UVk);
+             }
+-- 
+2.13.6
+


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2017-03-15  6:27 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2017-03-15  6:27 UTC (permalink / raw
  To: gentoo-commits

commit:     5e02515c71f026964169e4669df56c5410677cae
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 14 23:42:05 2017 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Wed Mar 15 06:27:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e02515c

dev-libs/botan: cleanup

Bug: 611498

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-libs/botan/Manifest                        |   1 -
 dev-libs/botan/botan-1.10.14.ebuild            | 153 -------------------------
 dev-libs/botan/botan-1.10.15.ebuild            | 149 ------------------------
 dev-libs/botan/files/botan-1.10.14-build.patch |  26 -----
 4 files changed, 329 deletions(-)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 1b0cc50b4ca..492902f842f 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,3 +1,2 @@
-DIST Botan-1.10.14.tgz 2710757 SHA256 10ed0b394db165733ac9557d8656356b7e9744d38c61c2b9c44cba6d84ff4c1c SHA512 ae524653a99b02d6d8d7bb2b88a446c066fe1044d8fd2708ea2a4cd5aafbe2b0d165d2ce1730669a4df18013cf5b6540bb5944bafea512b4957e3417de512e95 WHIRLPOOL 51aa1d68757ad515f65c255c585be8050efed085800340d43fa068b48647ef8c50fc9e284ac16d0cef3d874f5fa44f143210dcc004561807e1d1b307d89cff9d
 DIST Botan-1.10.15.tgz 2711022 SHA256 c0cc8ffd470fda4b257c3ef9faf5cf93751f4c283dfba878148acafedfab70fe SHA512 c3b93f44ad0de9758af11557833ee570aa0724c8b57c9a576b56ab439a7819e0f71a10857ad367b486716164dd4ff551cab2036ecbbbedd75db4b8dc93416bc8 WHIRLPOOL 834cad8b38787581d8d967b2fa6ffb6164e2bf8a124d993733a7d55202439ec543c18cb6cb03721c0e8eb67cbe2a486b8199b3b8784645e0033be298f36640b9
 DIST Botan-2.0.1.tgz 4995413 SHA256 a138ed316d11450a8405451b9c9664b8e640a9b7ad84d3f3ad34e8071f364e0b SHA512 c5062ce92a6e6e333b4e6af095ed54d0c4ffacefc6ac87ec651dd1e0937793c9956b7c9c0d3acf49f059505526584168364e01c55ab72c953ad255e8396aed35 WHIRLPOOL 36cec762b05b761d77fc0421379e7c78172c67d1d8c9da4349df34f68d7d1a4fd5cca394ba4bd7c2e1a13a218a6a349b2216bfd7868e93549e37e5cf7ddc7dc1

diff --git a/dev-libs/botan/botan-1.10.14.ebuild b/dev-libs/botan/botan-1.10.14.ebuild
deleted file mode 100644
index 6bb0c29ae79..00000000000
--- a/dev-libs/botan/botan-1.10.14.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4} )
-
-inherit eutils multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="http://botan.randombit.net/"
-SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
-
-KEYWORDS="amd64 ~arm hppa ~ia64 ppc ppc64 sparc x86 ~ppc-macos"
-SLOT="0"
-LICENSE="BSD"
-IUSE="bindist doc python bzip2 gmp ssl static-libs threads zlib"
-
-S="${WORKDIR}/${MY_P}"
-
-RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
-	zlib? ( >=sys-libs/zlib-1.2.3 )
-	python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
-	gmp? ( >=dev-libs/gmp-4.2.2:* )
-	ssl? ( >=dev-libs/openssl-0.9.8g:*[bindist=] )"
-DEPEND="${RDEPEND}
-	doc? ( dev-python/sphinx )"
-
-PATCHES=(
-	"${FILESDIR}/${P}-build.patch"
-)
-
-src_prepare() {
-	default
-
-	sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
-	sed \
-		-e "/DOCDIR/d" \
-		-e "/^install:/s/ docs//" \
-		-i src/build-data/makefile/unix_shr.in || die "sed failed"
-
-	# Fix ImportError with Python 3.
-	sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
-
-	use python && python_copy_sources
-}
-
-src_configure() {
-	local disable_modules="proc_walk,unix_procs"
-	use threads || disable_modules+=",pthreads"
-	use bindist && disable_modules+=",ecdsa"
-	elog "Disabling modules: ${disable_modules}"
-
-	# Enable v9 instructions for sparc64
-	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
-		CHOSTARCH="sparc32-v9"
-	else
-		CHOSTARCH="${CHOST%%-*}"
-	fi
-
-	local myos=
-	case ${CHOST} in
-		*-darwin*)   myos=darwin ;;
-		*)           myos=linux  ;;
-	esac
-
-	# foobared buildsystem, --prefix translates into DESTDIR, see also make
-	# install in src_install, we need the correct live-system prefix here on
-	# Darwin for a shared lib with correct install_name
-	./configure.py \
-		--prefix="${EPREFIX}/usr" \
-		--libdir=$(get_libdir) \
-		--docdir=share/doc \
-		--cc=gcc \
-		--os=${myos} \
-		--cpu=${CHOSTARCH} \
-		--with-endian="$(tc-endian)" \
-		--without-sphinx \
-		--with-tr1=system \
-		$(use_with bzip2) \
-		$(use_with gmp gnump) \
-		$(use_with python boost-python) \
-		$(use_with ssl openssl) \
-		$(use_with zlib) \
-		--disable-modules=${disable_modules} \
-		|| die "configure.py failed"
-}
-
-src_compile() {
-	emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
-
-	if use python; then
-		building() {
-			rm -fr build/python
-			ln -s "${BUILD_DIR}" build/python
-			cp Makefile.python build/python
-			sed -i \
-				-e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
-				build/python/Makefile.python
-			emake -f build/python/Makefile.python \
-				CXX="$(tc-getCXX)" \
-				CFLAGS="${CXXFLAGS}" \
-				LDFLAGS="${LDFLAGS}" \
-				PYTHON_ROOT="/usr/$(get_libdir)" \
-				PYTHON_INC="-I$(python_get_includedir)"
-		}
-		python_foreach_impl building
-	fi
-
-	if use doc; then
-		einfo "Generation of documentation"
-		sphinx-build doc doc_output
-	fi
-}
-
-src_test() {
-	chmod -R ugo+rX "${S}"
-	emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
-	LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
-}
-
-src_install() {
-	emake DESTDIR="${ED}usr" install
-
-	if ! use static-libs; then
-		rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
-	fi
-
-	# Add compatibility symlinks.
-	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
-	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
-	dosym botan-config-1.10 /usr/bin/botan-config
-	dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
-
-	if use python; then
-		installation() {
-			rm -fr build/python
-			ln -s "${BUILD_DIR}" build/python
-			emake -f Makefile.python \
-				PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
-				install
-		}
-		python_foreach_impl installation
-	fi
-
-	if use doc; then
-		pushd doc_output > /dev/null
-		insinto /usr/share/doc/${PF}/html
-		doins -r [a-z]* _static
-		popd > /dev/null
-	fi
-}

diff --git a/dev-libs/botan/botan-1.10.15.ebuild b/dev-libs/botan/botan-1.10.15.ebuild
deleted file mode 100644
index 012154ba371..00000000000
--- a/dev-libs/botan/botan-1.10.15.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4} )
-
-inherit eutils multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="http://botan.randombit.net/"
-SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
-
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
-SLOT="0"
-LICENSE="BSD"
-IUSE="bindist doc python bzip2 gmp ssl static-libs threads zlib"
-
-S="${WORKDIR}/${MY_P}"
-
-RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
-	zlib? ( >=sys-libs/zlib-1.2.3 )
-	python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
-	gmp? ( >=dev-libs/gmp-4.2.2:* )
-	ssl? ( >=dev-libs/openssl-0.9.8g:*[bindist=] )"
-DEPEND="${RDEPEND}
-	doc? ( dev-python/sphinx )"
-
-src_prepare() {
-	default
-
-	sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
-	sed \
-		-e "/DOCDIR/d" \
-		-e "/^install:/s/ docs//" \
-		-i src/build-data/makefile/unix_shr.in || die "sed failed"
-
-	# Fix ImportError with Python 3.
-	sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
-
-	use python && python_copy_sources
-}
-
-src_configure() {
-	local disable_modules="proc_walk,unix_procs"
-	use threads || disable_modules+=",pthreads"
-	use bindist && disable_modules+=",ecdsa"
-	elog "Disabling modules: ${disable_modules}"
-
-	# Enable v9 instructions for sparc64
-	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
-		CHOSTARCH="sparc32-v9"
-	else
-		CHOSTARCH="${CHOST%%-*}"
-	fi
-
-	local myos=
-	case ${CHOST} in
-		*-darwin*)   myos=darwin ;;
-		*)           myos=linux  ;;
-	esac
-
-	# foobared buildsystem, --prefix translates into DESTDIR, see also make
-	# install in src_install, we need the correct live-system prefix here on
-	# Darwin for a shared lib with correct install_name
-	./configure.py \
-		--prefix="${EPREFIX}/usr" \
-		--libdir=$(get_libdir) \
-		--docdir=share/doc \
-		--cc=gcc \
-		--os=${myos} \
-		--cpu=${CHOSTARCH} \
-		--with-endian="$(tc-endian)" \
-		--without-sphinx \
-		--with-tr1=system \
-		$(use_with bzip2) \
-		$(use_with gmp gnump) \
-		$(use_with python boost-python) \
-		$(use_with ssl openssl) \
-		$(use_with zlib) \
-		--disable-modules=${disable_modules} \
-		|| die "configure.py failed"
-}
-
-src_compile() {
-	emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
-
-	if use python; then
-		building() {
-			rm -fr build/python
-			ln -s "${BUILD_DIR}" build/python
-			cp Makefile.python build/python
-			sed -i \
-				-e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
-				build/python/Makefile.python
-			emake -f build/python/Makefile.python \
-				CXX="$(tc-getCXX)" \
-				CFLAGS="${CXXFLAGS}" \
-				LDFLAGS="${LDFLAGS}" \
-				PYTHON_ROOT="/usr/$(get_libdir)" \
-				PYTHON_INC="-I$(python_get_includedir)"
-		}
-		python_foreach_impl building
-	fi
-
-	if use doc; then
-		einfo "Generation of documentation"
-		sphinx-build doc doc_output
-	fi
-}
-
-src_test() {
-	chmod -R ugo+rX "${S}"
-	emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
-	LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
-}
-
-src_install() {
-	emake DESTDIR="${ED}usr" install
-
-	if ! use static-libs; then
-		rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
-	fi
-
-	# Add compatibility symlinks.
-	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
-	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
-	dosym botan-config-1.10 /usr/bin/botan-config
-	dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
-
-	if use python; then
-		installation() {
-			rm -fr build/python
-			ln -s "${BUILD_DIR}" build/python
-			emake -f Makefile.python \
-				PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
-				install
-		}
-		python_foreach_impl installation
-	fi
-
-	if use doc; then
-		pushd doc_output > /dev/null
-		insinto /usr/share/doc/${PF}/html
-		doins -r [a-z]* _static
-		popd > /dev/null
-	fi
-}

diff --git a/dev-libs/botan/files/botan-1.10.14-build.patch b/dev-libs/botan/files/botan-1.10.14-build.patch
deleted file mode 100644
index 73ee70be5a5..00000000000
--- a/dev-libs/botan/files/botan-1.10.14-build.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From d8cb9d52a7e7e7e20cd371349583794e17fd0778 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Thu, 1 Dec 2016 20:50:35 +0200
-Subject: [PATCH] utils: safeint.h: use botan's to_string
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
----
- src/utils/safeint.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/utils/safeint.h b/src/utils/safeint.h
-index e0bd662..0a03e4e 100644
---- a/src/utils/safeint.h
-+++ b/src/utils/safeint.h
-@@ -17,7 +17,7 @@ class Integer_Overflow_Detected : public Exception
-    {
-    public:
-       Integer_Overflow_Detected(const std::string& file, int line) :
--         Exception("Integer overflow detected at " + file + ":" + std::to_string(line))
-+         Exception("Integer overflow detected at " + file + ":" + to_string(line))
-          {}
-    };
- 
--- 
-2.7.3
-


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2017-01-09 20:03 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2017-01-09 20:03 UTC (permalink / raw
  To: gentoo-commits

commit:     4225e3aaa39bc7ea8e0b96f4d8bf1fb9e6fa7b16
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  9 19:47:17 2017 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Mon Jan  9 20:03:38 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4225e3aa

dev-libs/botan: version bump

Package-Manager: portage-2.3.0

 dev-libs/botan/Manifest                            |   3 +-
 dev-libs/botan/botan-1.11.33.ebuild                | 136 ---------------------
 .../{botan-1.11.34.ebuild => botan-2.0.0.ebuild}   |  26 ++--
 dev-libs/botan/files/botan-2.0.0-build.patch       |  26 ++++
 4 files changed, 34 insertions(+), 157 deletions(-)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 57b2f4f..107b438 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,4 +1,3 @@
 DIST Botan-1.10.13.tgz 2710181 SHA256 23ec973d4b4a4fe04f490d409e08ac5638afe3aa09acd7f520daaff38ba19b90 SHA512 a09d2cb5dda21bf384b81675025f249abdfe232c95dc3383f0baebc2bf1603b2ed1e2aec9a81aae95df592ec2eeae8906c63474a6da42ad3701669a5d8f14656 WHIRLPOOL 4161d689205f02ed8b97bb371be47829d11dee744a024e24bb834264cfa6143c8a9fb7df969410975e4bf2b708063e3c05b6106c4dbe7f5566e3331ee5e901a9
 DIST Botan-1.10.14.tgz 2710757 SHA256 10ed0b394db165733ac9557d8656356b7e9744d38c61c2b9c44cba6d84ff4c1c SHA512 ae524653a99b02d6d8d7bb2b88a446c066fe1044d8fd2708ea2a4cd5aafbe2b0d165d2ce1730669a4df18013cf5b6540bb5944bafea512b4957e3417de512e95 WHIRLPOOL 51aa1d68757ad515f65c255c585be8050efed085800340d43fa068b48647ef8c50fc9e284ac16d0cef3d874f5fa44f143210dcc004561807e1d1b307d89cff9d
-DIST Botan-1.11.33.tgz 4329671 SHA256 d65f95399dc5710aea90d682d65e554fed4571115f1382416e9142370a47e949 SHA512 49bb4485663897dd07bb7982771befacc50bfabef5806dc802cbd4d39f5d641b08a264824b5b1b96421e810811353deea15e728c5d08ce2932cf0e4602ae099d WHIRLPOOL 86154158915e29eef7753797df037d560078bda4ecfaafffba1064a238618b1ec10e0712b85cd64537ca3dfbac5ce38bf1323456d30b2bd5a51c0dae7f81d339
-DIST Botan-1.11.34.tgz 4908624 SHA256 59ad548f8ddb967737f102b252bab30ca0b49f039f204502394cf506ae731f16 SHA512 c3dad24872f726c62fd302cf05e4a67985e8d6e00b6bdfc9852abe2204329f794b656e9ee89470b76ea16426371ef5b1729626c36d9a2b89e1939172382f192c WHIRLPOOL ba1db76068ae8e55169cba19597be159de1999555ff64ba95a7b80a38ed25d6170be9c2586ca680323340774784fad96b9ca83ff0b17a5b162ba11014e2641a4
+DIST Botan-2.0.0.tgz 4989901 SHA256 031659cca0f80869e9d97a20917edbe2164cedbc079e8c53e0e7bd9bea15371a SHA512 4cb6992b5998ead175c10a9f193b0cde208b81a99bf30412a3b8386e7c91de2ff5d8191fd49893f02643519721bcf16c58db3cbee3eccbeb566f4456d310cf8f WHIRLPOOL ba180e5be87c9212fdf2e9252eb6d477bf608f976476b75e31e393ec19d94dada876b5dda9881f4cbe6dd7fec642a8a2b2a728bc90e07c44661237a067ae09ce

diff --git a/dev-libs/botan/botan-1.11.33.ebuild b/dev-libs/botan/botan-1.11.33.ebuild
deleted file mode 100644
index 14221ea..00000000
--- a/dev-libs/botan/botan-1.11.33.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_4} )
-
-inherit eutils multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="http://botan.randombit.net/"
-SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
-
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
-SLOT="0"
-LICENSE="BSD"
-IUSE="bindist doc boost python bzip2 libressl lzma sqlite ssl static-libs zlib"
-
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="python? ( boost )"
-
-RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
-	zlib? ( >=sys-libs/zlib-1.2.3 )
-	boost? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python?,${PYTHON_USEDEP}] )
-	lzma? ( app-arch/xz-utils )
-	sqlite? ( dev-db/sqlite:3 )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-0.9.8g:0[bindist=] )
-		libressl? ( dev-libs/libressl )
-	)"
-DEPEND="${RDEPEND}
-	doc? ( dev-python/sphinx )"
-
-pkg_pretend() {
-	# Botan 1.11 requires -std=c++11
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		[[ $(gcc-major-version) -lt 4 ]] || \
-		( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ) \
-		&& die "Sorry, but gcc 4.7 or higher is required."
-	fi
-}
-
-src_prepare() {
-	default
-	sed \
-		-e "/^install:/s/ docs//" \
-		-i src/build-data/makefile/gmake.in || die "sed failed"
-	use python && python_copy_sources
-}
-
-src_configure() {
-	local disable_modules=( proc_walk unix_procs )
-	use boost || disable_modules+=( "boost" )
-	use bindist && disable_modules+=( "ecdsa" )
-	use python || disable_modules+=( "ffi" )
-	elog "Disabling modules: ${disable_modules[@]}"
-
-	# Enable v9 instructions for sparc64
-	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
-		CHOSTARCH="sparc32-v9"
-	else
-		CHOSTARCH="${CHOST%%-*}"
-	fi
-
-	local myos=
-	case ${CHOST} in
-		*-darwin*)   myos=darwin ;;
-		*)           myos=linux  ;;
-	esac
-
-	local pythonvers=()
-	if use python; then
-		append() {
-			pythonvers+=( ${EPYTHON/python/} )
-		}
-		python_foreach_impl append
-	fi
-
-	./configure.py \
-		--prefix="${EPREFIX}/usr" \
-		--destdir="${D}/${EPREFIX}/usr" \
-		--libdir=$(get_libdir) \
-		--docdir=share/doc \
-		--cc=gcc \
-		--os=${myos} \
-		--cpu=${CHOSTARCH} \
-		--with-endian="$(tc-endian)" \
-		--without-sphinx \
-		$(use_with bzip2) \
-		$(use_with lzma) \
-		$(use_with sqlite sqlite3) \
-		$(use_with ssl openssl) \
-		$(use_with zlib) \
-		$(use_with boost) \
-		--with-python-version=$(IFS=","; echo "${pythonvers[*]}" ) \
-		--disable-modules=$(IFS=","; echo "${disable_modules[*]}" ) \
-		|| die "configure.py failed"
-}
-
-src_compile() {
-	emake CXX="$(tc-getCXX) -pthread" AR="$(tc-getAR) crs" LIB_OPT="-c ${CXXFLAGS}"
-	if use doc; then
-		einfo "Generation of documentation"
-		sphinx-build doc doc_output
-	fi
-}
-
-src_test() {
-	LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
-	emake install
-
-	if ! use static-libs; then
-		rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
-	fi
-
-	# Add compatibility symlinks.
-	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
-	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
-	dosym botan-config-1.11 /usr/bin/botan-config
-	dosym botan-1.11.pc /usr/$(get_libdir)/pkgconfig/botan.pc
-
-	use python && python_foreach_impl python_optimize
-
-	if use doc; then
-		pushd doc_output > /dev/null
-		insinto /usr/share/doc/${PF}/html
-		doins -r [a-z]* _static
-		popd > /dev/null
-	fi
-}

diff --git a/dev-libs/botan/botan-1.11.34.ebuild b/dev-libs/botan/botan-2.0.0.ebuild
similarity index 84%
rename from dev-libs/botan/botan-1.11.34.ebuild
rename to dev-libs/botan/botan-2.0.0.ebuild
index 87dc9d5..a12093d 100644
--- a/dev-libs/botan/botan-1.11.34.ebuild
+++ b/dev-libs/botan/botan-2.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -14,7 +14,7 @@ HOMEPAGE="http://botan.randombit.net/"
 SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
 
 KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
-SLOT="0"
+SLOT="0/2"
 LICENSE="BSD"
 IUSE="bindist doc boost python bzip2 libressl lzma sqlite ssl static-libs zlib"
 
@@ -35,7 +35,7 @@ DEPEND="${RDEPEND}
 	doc? ( dev-python/sphinx )"
 
 PATCHES=(
-	"${FILESDIR}/${P}-rng.patch"
+	"${FILESDIR}/${P}-build.patch"
 )
 
 pkg_pretend() {
@@ -49,9 +49,9 @@ pkg_pretend() {
 
 src_prepare() {
 	default
-	sed \
+	use doc || sed \
 		-e "/^install:/s/ docs//" \
-		-i src/build-data/makefile/gmake.in || die "sed failed"
+		-i src/build-data/makefile/gmake.in
 	use python && python_copy_sources
 }
 
@@ -93,6 +93,7 @@ src_configure() {
 		--cpu=${CHOSTARCH} \
 		--with-endian="$(tc-endian)" \
 		--without-sphinx \
+		$(use_with doc sphinx) \
 		$(use_with bzip2) \
 		$(use_with lzma) \
 		$(use_with sqlite sqlite3) \
@@ -106,10 +107,6 @@ src_configure() {
 
 src_compile() {
 	emake CXX="$(tc-getCXX) -pthread" AR="$(tc-getAR) crs" LIB_OPT="-c ${CXXFLAGS}"
-	if use doc; then
-		einfo "Generation of documentation"
-		sphinx-build doc doc_output
-	fi
 }
 
 src_test() {
@@ -124,17 +121,8 @@ src_install() {
 	fi
 
 	# Add compatibility symlinks.
-	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
 	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
-	dosym botan-config-1.11 /usr/bin/botan-config
-	dosym botan-1.11.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+	dosym botan-2.pc /usr/$(get_libdir)/pkgconfig/botan.pc
 
 	use python && python_foreach_impl python_optimize
-
-	if use doc; then
-		pushd doc_output > /dev/null
-		insinto /usr/share/doc/${PF}/html
-		doins -r [a-z]* _static
-		popd > /dev/null
-	fi
 }

diff --git a/dev-libs/botan/files/botan-2.0.0-build.patch b/dev-libs/botan/files/botan-2.0.0-build.patch
new file mode 100644
index 00000000..534be31
--- /dev/null
+++ b/dev-libs/botan/files/botan-2.0.0-build.patch
@@ -0,0 +1,26 @@
+From 0d8cbe137261b4f841a05eec5dd5659c8f510de0 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Mon, 9 Jan 2017 20:59:28 +0200
+Subject: [PATCH] build: pkg-config: fix include directory
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ src/build-data/botan.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/build-data/botan.pc.in b/src/build-data/botan.pc.in
+index 85943ab..753b8cd 100644
+--- a/src/build-data/botan.pc.in
++++ b/src/build-data/botan.pc.in
+@@ -1,7 +1,7 @@
+ prefix=%{prefix}
+ exec_prefix=${prefix}
+ libdir=${prefix}/%{libdir}
+-includedir=${prefix}/include/botan-%{version_major}
++includedir=${prefix}/include/botan-%{version_major}.%{version_minor}
+ 
+ Name: Botan
+ Description: Crypto and TLS for C++11
+-- 
+2.10.2
+


^ permalink raw reply related	[flat|nested] 13+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/
@ 2015-09-14 21:42 Alon Bar-Lev
  0 siblings, 0 replies; 13+ messages in thread
From: Alon Bar-Lev @ 2015-09-14 21:42 UTC (permalink / raw
  To: gentoo-commits

commit:     4af0457d86ca573a1bc0424f2e1b01f0da130c43
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 14 21:41:27 2015 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Mon Sep 14 21:42:25 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4af0457d

dev-libs/botan: version bump

Bug: 560338

Package-Manager: portage-2.2.20.1

 dev-libs/botan/Manifest                            |   2 +
 dev-libs/botan/botan-1.10.10.ebuild                | 148 +++++++++++++++++++++
 dev-libs/botan/botan-1.11.20.ebuild                | 132 ++++++++++++++++++
 .../botan/files/botan-1.11.20-build-python.patch   |  35 +++++
 dev-libs/botan/metadata.xml                        |   3 +
 5 files changed, 320 insertions(+)

diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 866013e..f65ec86 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,3 +1,5 @@
+DIST Botan-1.10.10.tgz 2706592 SHA256 6b67b14746410461fe4a8ce6a625e7eef789243454fe30eab7329d5984be4163 SHA512 8f1aab5dde0191e8347ae98e265ffe799699f9ab6377a81acdb13ddabb8e025ab129b55dbc484796ddcd21c9997dde6e39ec080ad815472cb1e2857007744c9b WHIRLPOOL 3fe729adef417e5cf6af0748985324315d18ec1681ace8c00734c68043682888e29faed1bbd40e68f8f7a923f638f343368c97a89262e649d03360b361a79411
 DIST Botan-1.10.5.tbz 2214817 SHA256 2934c00533847dc93c485081d3ce6aae4a110151a69b587b895241159da77cf3 SHA512 7456eaf2bbdabac9438cdd28dbc0735924480034d848c40039b5b58d52924b4cb065316989d6902201bc62fb5c19cba109b550b6865ca4d11748e3a3a1ececa6 WHIRLPOOL 7fd3de981d55a03925e78a4afcee55c0f3cf7e2dc88bd503f9c5705e5cc73293cf3bdcf3c3fdf54b6d1b77ba7dc32cf6fa46720635b922e368aaf12a39339fcd
+DIST Botan-1.11.20.tgz 2916027 SHA256 60a02717983535215822bbb1d6ae3c97cf517874d4e48808c6fbfd5c3b112d9c SHA512 0d8f0b66d1fc753381d141da96f859d30301f5e4ea74e21dbd8a787020c186a814fc485bd5055589a06f6556c860dcd39a9ba3af662b63ccf71b6cf41d805137 WHIRLPOOL 31a7df028405df2b364f47b9f7c28a8408f06d9c3600cbb7fe058bd0f8015929ca2191053a43cd16c4fa8487ff175cc7e1f17dc16f4d8c70655fbaa56b44513c
 DIST Botan-1.11.4.tbz 2346343 SHA256 ebbcc493ef2f13f536597b72e317462e1503c83f7e18e1fe10887f16b5f4da0f SHA512 c5c521a78b50de6c6e2bba912f0697e507a8432bd7f348e3e41856cc2ed60fea5877df4957d74887419208f8df63224a4c6726c94eef58fc1b255133b1f0ee22 WHIRLPOOL 41a024e3698fa2ede2a5124b6c5d2400e969f2cddfec6e7e9e43e549097dd606d105d6e02d6268e322d98e83300c76eb4f7783ee54699a7fa85addcf9adc3aa2
 DIST Botan-1.11.8.tbz 2193897 SHA256 5c3a5485dd8f2b5e690bdc73d5848b1f436a090e7fc521c66920f34d6af68efd SHA512 2d3f5d77687ed56be39c88fe7ffdb27ebda573650f164b8681864cff0ca8b0a0bd56f9749f3695e4240a68bfa1483565c854ff4f9d8a7460de0883255a917e26 WHIRLPOOL c9eaeb2d2da10bc61eb704beb9025fada4f16ec4e82a7845cdc465295d05ad070e73d289abdc30fc96f5b43778c87f31ea4cb66c6706cb822ceb2adba0354d41

diff --git a/dev-libs/botan/botan-1.10.10.ebuild b/dev-libs/botan/botan-1.10.10.ebuild
new file mode 100644
index 0000000..43ef098
--- /dev/null
+++ b/dev-libs/botan/botan-1.10.10.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc python bzip2 gmp ssl static-libs threads zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+	zlib? ( >=sys-libs/zlib-1.2.3 )
+	python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
+	gmp? ( >=dev-libs/gmp-4.2.2:* )
+	ssl? ( >=dev-libs/openssl-0.9.8g:*[bindist=] )"
+DEPEND="${RDEPEND}
+	doc? ( dev-python/sphinx )"
+
+src_prepare() {
+	sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
+	sed \
+		-e "/DOCDIR/d" \
+		-e "/^install:/s/ docs//" \
+		-i src/build-data/makefile/unix_shr.in || die "sed failed"
+
+	# Fix ImportError with Python 3.
+	sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
+
+	use python && python_copy_sources
+}
+
+src_configure() {
+	local disable_modules="proc_walk,unix_procs"
+	use threads || disable_modules+=",pthreads"
+	use bindist && disable_modules+=",ecdsa"
+	elog "Disabling modules: ${disable_modules}"
+
+	# Enable v9 instructions for sparc64
+	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+		CHOSTARCH="sparc32-v9"
+	else
+		CHOSTARCH="${CHOST%%-*}"
+	fi
+
+	local myos=
+	case ${CHOST} in
+		*-darwin*)   myos=darwin ;;
+		*)           myos=linux  ;;
+	esac
+
+	# foobared buildsystem, --prefix translates into DESTDIR, see also make
+	# install in src_install, we need the correct live-system prefix here on
+	# Darwin for a shared lib with correct install_name
+	./configure.py \
+		--prefix="${EPREFIX}/usr" \
+		--libdir=$(get_libdir) \
+		--docdir=share/doc \
+		--cc=gcc \
+		--os=${myos} \
+		--cpu=${CHOSTARCH} \
+		--with-endian="$(tc-endian)" \
+		--without-sphinx \
+		--with-tr1=system \
+		$(use_with bzip2) \
+		$(use_with gmp gnump) \
+		$(use_with python boost-python) \
+		$(use_with ssl openssl) \
+		$(use_with zlib) \
+		--disable-modules=${disable_modules} \
+		|| die "configure.py failed"
+}
+
+src_compile() {
+	emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
+
+	if use python; then
+		building() {
+			rm -fr build/python
+			ln -s "${BUILD_DIR}" build/python
+			cp Makefile.python build/python
+			sed -i \
+				-e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
+				build/python/Makefile.python
+			emake -f build/python/Makefile.python \
+				CXX="$(tc-getCXX)" \
+				CFLAGS="${CXXFLAGS}" \
+				LDFLAGS="${LDFLAGS}" \
+				PYTHON_ROOT="/usr/$(get_libdir)" \
+				PYTHON_INC="-I$(python_get_includedir)"
+		}
+		python_foreach_impl building
+	fi
+
+	if use doc; then
+		einfo "Generation of documentation"
+		sphinx-build doc doc_output
+	fi
+}
+
+src_test() {
+	chmod -R ugo+rX "${S}"
+	emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
+	LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
+}
+
+src_install() {
+	emake DESTDIR="${ED}usr" install
+
+	if ! use static-libs; then
+		rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+	fi
+
+	# Add compatibility symlinks.
+	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+	dosym botan-config-1.10 /usr/bin/botan-config
+	dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+	if use python; then
+		installation() {
+			rm -fr build/python
+			ln -s "${BUILD_DIR}" build/python
+			emake -f Makefile.python \
+				PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
+				install
+		}
+		python_foreach_impl installation
+	fi
+
+	if use doc; then
+		pushd doc_output > /dev/null
+		insinto /usr/share/doc/${PF}/html
+		doins -r [a-z]* _static
+		popd > /dev/null
+	fi
+}

diff --git a/dev-libs/botan/botan-1.11.20.ebuild b/dev-libs/botan/botan-1.11.20.ebuild
new file mode 100644
index 0000000..4a5bc47
--- /dev/null
+++ b/dev-libs/botan/botan-1.11.20.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc boost python bzip2 lzma sqlite ssl static-libs zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="python? ( boost )"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+	zlib? ( >=sys-libs/zlib-1.2.3 )
+	boost? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python?,${PYTHON_USEDEP}] )
+	lzma? ( app-arch/xz-utils )
+	sqlite? ( dev-db/sqlite:3 )
+	ssl? ( >=dev-libs/openssl-0.9.8g:*[bindist=] )"
+DEPEND="${RDEPEND}
+	doc? ( dev-python/sphinx )"
+
+pkg_pretend() {
+	# Botan 1.11 requires -std=c++11
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		[[ $(gcc-major-version) -lt 4 ]] || \
+		( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ) \
+		&& die "Sorry, but gcc 4.7 or higher is required."
+	fi
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${P}-build-python.patch"
+	sed \
+		-e "/^install:/s/ docs//" \
+		-i src/build-data/makefile/gmake.in || die "sed failed"
+	use python && python_copy_sources
+}
+
+src_configure() {
+	local disable_modules=( proc_walk unix_procs )
+	use boost || disable_modules+=( "boost" )
+	use bindist && disable_modules+=( "ecdsa" )
+	elog "Disabling modules: ${disable_modules[@]}"
+
+	# Enable v9 instructions for sparc64
+	if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+		CHOSTARCH="sparc32-v9"
+	else
+		CHOSTARCH="${CHOST%%-*}"
+	fi
+
+	local myos=
+	case ${CHOST} in
+		*-darwin*)   myos=darwin ;;
+		*)           myos=linux  ;;
+	esac
+
+	local pythonvers=()
+	if use python; then
+		append() {
+			pythonvers+=( ${EPYTHON/python/} )
+		}
+		python_foreach_impl append
+	fi
+
+	./configure.py \
+		--prefix="${EPREFIX}/usr" \
+		--destdir="${D}/${EPREFIX}/usr" \
+		--libdir=$(get_libdir) \
+		--docdir=share/doc \
+		--cc=gcc \
+		--os=${myos} \
+		--cpu=${CHOSTARCH} \
+		--with-endian="$(tc-endian)" \
+		--without-sphinx \
+		$(use_with bzip2) \
+		$(use_with lzma) \
+		$(use_with sqlite sqlite3) \
+		$(use_with ssl openssl) \
+		$(use_with zlib) \
+		$(use_with boost) \
+		--with-python-version=$(IFS=","; echo "${pythonvers[*]}" ) \
+		--disable-modules=$(IFS=","; echo "${disable_modules[*]}" ) \
+		|| die "configure.py failed"
+}
+
+src_compile() {
+	emake CXX="$(tc-getCXX) -pthread" AR="$(tc-getAR) crs" LIB_OPT="-c ${CXXFLAGS}"
+	if use doc; then
+		einfo "Generation of documentation"
+		sphinx-build doc doc_output
+	fi
+}
+
+src_test() {
+	LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
+}
+
+src_install() {
+	emake install
+
+	if ! use static-libs; then
+		rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+	fi
+
+	# Add compatibility symlinks.
+	[[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+	[[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+	dosym botan-config-1.11 /usr/bin/botan-config
+	dosym botan-1.11.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+	use python && python_foreach_impl python_optimize
+
+	if use doc; then
+		pushd doc_output > /dev/null
+		insinto /usr/share/doc/${PF}/html
+		doins -r [a-z]* _static
+		popd > /dev/null
+	fi
+}

diff --git a/dev-libs/botan/files/botan-1.11.20-build-python.patch b/dev-libs/botan/files/botan-1.11.20-build-python.patch
new file mode 100644
index 0000000..ae85885
--- /dev/null
+++ b/dev-libs/botan/files/botan-1.11.20-build-python.patch
@@ -0,0 +1,35 @@
+From 5bb0b47e608e083dda5e39132174b840f3b091cf Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Tue, 15 Sep 2015 00:18:19 +0300
+Subject: [PATCH] build: support multiple python versions
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ src/scripts/install.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/src/scripts/install.py b/src/scripts/install.py
+index 2c69213..d1d62b6 100755
+--- a/src/scripts/install.py
++++ b/src/scripts/install.py
+@@ -181,11 +181,12 @@ def main(args = None):
+                   os.path.join(pkgconfig_dir, os.path.basename(cfg['botan_pkgconfig'])))
+ 
+     if 'ffi' in cfg['mod_list'].split('\n'):
+-        py_lib_path = os.path.join(lib_dir, 'python%s' % (cfg['python_version']), 'site-packages')
+-        logging.debug('Installing python module to %s' % (py_lib_path))
+-        makedirs(py_lib_path)
+-        for py in ['botan.py']:
+-            copy_file(os.path.join(cfg['python_dir'], py), os.path.join(py_lib_path, py))
++        for ver in cfg['python_version'].split(','):
++            py_lib_path = os.path.join(lib_dir, 'python%s' % (ver), 'site-packages')
++            logging.debug('Installing python module to %s' % (py_lib_path))
++            makedirs(py_lib_path)
++            for py in ['botan.py']:
++                copy_file(os.path.join(cfg['python_dir'], py), os.path.join(py_lib_path, py))
+ 
+     shutil.rmtree(target_doc_dir, True)
+     shutil.copytree(cfg['doc_output_dir'], target_doc_dir)
+-- 
+2.4.6
+

diff --git a/dev-libs/botan/metadata.xml b/dev-libs/botan/metadata.xml
index d246b1b..b639324 100644
--- a/dev-libs/botan/metadata.xml
+++ b/dev-libs/botan/metadata.xml
@@ -8,4 +8,7 @@
     <name>Jack Lloyd </name>
     <description>Ebuild contributor and botan author</description>
 </maintainer>
+<use>
+	<flag name="boost">use <pkg>dev-libs/boost</pkg></flag>
+</use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-12-23  8:57 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-22  0:22 [gentoo-commits] repo/gentoo:master commit in: dev-libs/botan/files/, dev-libs/botan/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-12-23  8:57 Sam James
2023-09-23  9:43 Sam James
2020-10-14  1:09 Sam James
2020-09-10 15:14 Sam James
2020-05-26 20:18 Thomas Deutschmann
2019-04-16 20:28 Alon Bar-Lev
2019-01-06 20:10 Alon Bar-Lev
2017-10-04 19:20 Alon Bar-Lev
2017-10-04  6:21 Alon Bar-Lev
2017-03-15  6:27 Alon Bar-Lev
2017-01-09 20:03 Alon Bar-Lev
2015-09-14 21:42 Alon Bar-Lev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox