summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-libs/opendht/Manifest1
-rw-r--r--net-libs/opendht/files/argon2_system.patch53
-rw-r--r--net-libs/opendht/metadata.xml23
-rw-r--r--net-libs/opendht/opendht-3.1.7.ebuild70
-rw-r--r--net-libs/opendht/opendht-9999.ebuild70
5 files changed, 217 insertions, 0 deletions
diff --git a/net-libs/opendht/Manifest b/net-libs/opendht/Manifest
new file mode 100644
index 0000000..a246c3b
--- /dev/null
+++ b/net-libs/opendht/Manifest
@@ -0,0 +1 @@
+DIST opendht-3.1.7.tar.gz 483941 BLAKE2B d857fd80bd4b3f5922fafe8c1e3614af3ea8d9ab9998d6d1affee3e9621221e244560d5436b3ee2fcfd2c925a12fb128f6ee9f63ce965a4e3ccba8a64f40a2d0 SHA512 c89e8276520f94daa31a5c07e6725ba6b8f3daa2fa118914f61394b879b63dce2e0ab462e35af31d40ebd15d1feb119236b4a791dff683486ed7ccd1d0589756
diff --git a/net-libs/opendht/files/argon2_system.patch b/net-libs/opendht/files/argon2_system.patch
new file mode 100644
index 0000000..6fe5363
--- /dev/null
+++ b/net-libs/opendht/files/argon2_system.patch
@@ -0,0 +1,53 @@
+Description: Use Gentoo's argon2 library
+Bug: https://github.com/savoirfairelinux/opendht/issues/83
+Author: Alexandre Viau <aviau@debian.org>
+Last-Update: 2016-06-27
+--- ./CMakeLists.txt 2017-02-21 14:31:08.651579119 +0300
++++ ./CMakeLists.txt 2017-02-21 14:42:10.475425173 +0300
+@@ -62,10 +62,4 @@
+ src/securedht.cpp
+ src/dhtrunner.cpp
+- src/argon2/argon2.c
+- src/argon2/core.c
+- src/argon2/blake2/blake2b.c
+- src/argon2/thread.c
+- src/argon2/encoding.c
+- src/argon2/ref.c
+ src/indexation/pht.cpp
+ src/log.cpp
+@@ -123,5 +117,5 @@
+ target_link_libraries(opendht-static -flto -fuse-linker-plugin)
+ endif ()
+- target_link_libraries(opendht-static gnutls nettle)
++ target_link_libraries(opendht-static gnutls nettle argon2)
+ install (TARGETS opendht-static DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT opendht)
+ endif ()
+@@ -138,5 +132,5 @@
+ target_link_libraries(opendht -flto -fuse-linker-plugin)
+ endif ()
+- target_link_libraries(opendht gnutls nettle)
++ target_link_libraries(opendht gnutls nettle argon2)
+ install (TARGETS opendht DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT opendht)
+ endif ()
+ --- ./src/crypto.cpp 2017-02-21 14:31:07.969600917 +0300
++++ ./src/crypto.cpp 2017-02-21 14:47:02.711084414 +0300
+@@ -28,5 +28,5 @@
+ #include <nettle/aes.h>
+
+-#include "argon2/argon2.h"
++#include "argon2.h"
+ }
+
+--- ./tools/CMakeLists.txt 2017-02-21 14:31:08.632579726 +0300
++++ ./tools/CMakeLists.txt 2017-02-21 14:49:29.956687421 +0300
+@@ -4,7 +4,7 @@
+ add_executable (dhtchat dhtchat.cpp tools_common.h)
+
+-target_link_libraries (dhtnode LINK_PUBLIC gnutls readline)
+-target_link_libraries (dhtscanner LINK_PUBLIC gnutls readline)
+-target_link_libraries (dhtchat LINK_PUBLIC gnutls readline)
++target_link_libraries (dhtnode LINK_PUBLIC gnutls readline argon2)
++target_link_libraries (dhtscanner LINK_PUBLIC gnutls readline argon2)
++target_link_libraries (dhtchat LINK_PUBLIC gnutls readline argon2)
+
+ if (OPENDHT_SHARED)
diff --git a/net-libs/opendht/metadata.xml b/net-libs/opendht/metadata.xml
new file mode 100644
index 0000000..443ffda
--- /dev/null
+++ b/net-libs/opendht/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <description>Also, you can find me on IRC (Libera.Chat) as mva, or in Telegram as @mva_name</description>
+ <name>Vadim A. Misbakh-Soloviov</name>
+ </maintainer>
+ <use>
+ <flag name="python">Install Python bindings. Requires <pkg>dev-python/cython</pkg>.</flag>
+ <flag name="tools">Install extra opendht tools (dhtchat, dhtnode and dhtscanner).</flag>
+ <flag name="dht-index">Build DHT indexation feature</flag>
+ <flag name="http-client">Build embedded http(s) client (conflicts with &quot;proxy&quot; options)</flag>
+ <flag name="proxy-client">Enable DHT proxy client, use Restinio and jsoncpp</flag>
+ <flag name="proxy-server">Enable DHT proxy server, use Restinio and jsoncpp</flag>
+ <flag name="proxy-server-identity">Allow clients to use the node identity</flag>
+ <flag name="proxy-openssl">Build DHT proxy with OpenSSL</flag>
+ <flag name="push-notifications">Enable push notifications support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">savoirfairelinux/opendht</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-libs/opendht/opendht-3.1.7.ebuild b/net-libs/opendht/opendht-3.1.7.ebuild
new file mode 100644
index 0000000..d73d7fd
--- /dev/null
+++ b/net-libs/opendht/opendht-3.1.7.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..13} )
+
+inherit cmake python-r1
+
+DESCRIPTION="A lightweight C++11 Distributed Hash Table implementation"
+HOMEPAGE="https://github.com/savoirfairelinux/opendht"
+
+if [[ "${PV}" == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/savoirfairelinux/${PN}"
+else
+ SRC_URI="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+
+SLOT="0"
+
+IUSE="doc dht-index http-client proxy-client proxy-server proxy-server-identity proxy-openssl push-notifications python static-libs tools"
+
+DEPEND="
+ dev-libs/msgpack
+ net-libs/gnutls
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ tools? ( sys-libs/readline:0 )
+ proxy-openssl? ( dev-libs/openssl:= )
+ doc? ( app-text/doxygen )
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+
+REQUIRED_USE="http-client? ( !proxy-server !proxy-client ) ${PYTHON_REQUIRED_USE}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOPENDHT_PYTHON=$(usex python)
+ -DOPENDHT_STATIC=$(usex static-libs)
+ -DOPENDHT_TOOLS=$(usex tools)
+ -DOPENDHT_SHARED=ON
+ -DOPENDHT_LOG=ON
+ -DOPENDHT_SYSTEMD=ON
+ -DOPENDHT_HTTP=$(usex http-client)
+ -DOPENDHT_INDEX=$(usex dht-index)
+ -DOPENDHT_PEER_DISCOVERY=ON
+ -DOPENDHT_PROXY_SERVER=$(usex proxy-server)
+ -DOPENDHT_PROXY_SERVER_IDENTITY=$(usex proxy-server-identity)
+ -DOPENDHT_PROXY_CLIENT=$(usex proxy-client)
+ -DOPENDHT_PROXY_OPENSSL=$(usex proxy-openssl)
+ -DOPENDHT_PUSH_NOTIFICATIONS=$(usex push-notifications)
+ -DOPENDHT_SANITIZE=OFF
+ -DOPENDHT_TESTS=OFF
+ -DOPENDHT_TESTS_NETWORK=OFF
+ -DOPENDHT_C=ON
+ -DOPENDHT_DOCUMENTATION=$(usex doc)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ einstalldocs
+}
diff --git a/net-libs/opendht/opendht-9999.ebuild b/net-libs/opendht/opendht-9999.ebuild
new file mode 100644
index 0000000..d73d7fd
--- /dev/null
+++ b/net-libs/opendht/opendht-9999.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..13} )
+
+inherit cmake python-r1
+
+DESCRIPTION="A lightweight C++11 Distributed Hash Table implementation"
+HOMEPAGE="https://github.com/savoirfairelinux/opendht"
+
+if [[ "${PV}" == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/savoirfairelinux/${PN}"
+else
+ SRC_URI="https://github.com/savoirfairelinux/opendht/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3"
+
+SLOT="0"
+
+IUSE="doc dht-index http-client proxy-client proxy-server proxy-server-identity proxy-openssl push-notifications python static-libs tools"
+
+DEPEND="
+ dev-libs/msgpack
+ net-libs/gnutls
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ tools? ( sys-libs/readline:0 )
+ proxy-openssl? ( dev-libs/openssl:= )
+ doc? ( app-text/doxygen )
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+
+REQUIRED_USE="http-client? ( !proxy-server !proxy-client ) ${PYTHON_REQUIRED_USE}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOPENDHT_PYTHON=$(usex python)
+ -DOPENDHT_STATIC=$(usex static-libs)
+ -DOPENDHT_TOOLS=$(usex tools)
+ -DOPENDHT_SHARED=ON
+ -DOPENDHT_LOG=ON
+ -DOPENDHT_SYSTEMD=ON
+ -DOPENDHT_HTTP=$(usex http-client)
+ -DOPENDHT_INDEX=$(usex dht-index)
+ -DOPENDHT_PEER_DISCOVERY=ON
+ -DOPENDHT_PROXY_SERVER=$(usex proxy-server)
+ -DOPENDHT_PROXY_SERVER_IDENTITY=$(usex proxy-server-identity)
+ -DOPENDHT_PROXY_CLIENT=$(usex proxy-client)
+ -DOPENDHT_PROXY_OPENSSL=$(usex proxy-openssl)
+ -DOPENDHT_PUSH_NOTIFICATIONS=$(usex push-notifications)
+ -DOPENDHT_SANITIZE=OFF
+ -DOPENDHT_TESTS=OFF
+ -DOPENDHT_TESTS_NETWORK=OFF
+ -DOPENDHT_C=ON
+ -DOPENDHT_DOCUMENTATION=$(usex doc)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ einstalldocs
+}