summaryrefslogtreecommitdiff
path: root/net-p2p/eiskaltdcpp
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/eiskaltdcpp')
-rw-r--r--net-p2p/eiskaltdcpp/Manifest14
-rw-r--r--net-p2p/eiskaltdcpp/eiskaltdcpp-2.4.1.ebuild (renamed from net-p2p/eiskaltdcpp/eiskaltdcpp-2.2.10-r100.ebuild)91
-rw-r--r--net-p2p/eiskaltdcpp/eiskaltdcpp-9999.ebuild58
-rw-r--r--net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-ipv6_upnp.patch123
-rw-r--r--net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc1.patch31
-rw-r--r--net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc2.patch29
-rw-r--r--net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-openssl-1.1.patch138
-rw-r--r--net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-tray-close.patch23
-rw-r--r--net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.4.1-fix_upnp_compilation.patch26
-rw-r--r--net-p2p/eiskaltdcpp/metadata.xml17
10 files changed, 135 insertions, 415 deletions
diff --git a/net-p2p/eiskaltdcpp/Manifest b/net-p2p/eiskaltdcpp/Manifest
index de29067d3434..c2efe775a0c7 100644
--- a/net-p2p/eiskaltdcpp/Manifest
+++ b/net-p2p/eiskaltdcpp/Manifest
@@ -1,10 +1,6 @@
AUX eiskaltdcpp-2.2.10-cmake_lua_version.patch 304 BLAKE2B d8e3ea40f491c1fbe72cda9bf29af49c12286abf642edb6f9e621d0b6c31fbf4152f85a046e4128282cd6bb22efb1fbce4bb34e13faed1b8dbe15bb23f357962 SHA512 ba2cab9d681b024fa177e48cfca5a1448d94c699d35970b0976910d90379664d607d1d532e649e4b1f0c2141b61c1442b7b217580cb83199a15da6f8dd6af901
-AUX eiskaltdcpp-2.2.10-ipv6_upnp.patch 4793 BLAKE2B 5924fb6916fab0597f871abaa7dac9f7802526fd3cc1441cfb7489c83fc669173ffe1f92f973d4764bceae1901e5466bd768515a89d1ed39ecac32f08e4517b4 SHA512 d1be465da6cc13584f074bf9b96a0355127b4e2e0b3d571473116fa55a2bca617786988f0dae58ddf50a4f31531658cdc6258eb92ab2eb7599165b5ca6d11cf5
-AUX eiskaltdcpp-2.2.10-miniupnpc1.patch 1511 BLAKE2B 38ac851d31012a819232ee6dd33664551500ec2dfcba0be860626d502eb701c54bb71248d9310f73e11b5c60b5c32169f052e05d9c3c7084b199c52bc946e664 SHA512 fb97a5b2a43433ec3b3bb557b1b6c488e6f3b38bf507eade67468636a1cc7721de2ef005664e248945e5d68bc82e479849c88628598d53aaecdef438fffa3e09
-AUX eiskaltdcpp-2.2.10-miniupnpc2.patch 1123 BLAKE2B 146d4fc6cd84ee8c318871ea6460f01029ff388d54917e7eb0f8b6e25e4e59f8c9f7d6dbf63e62d9bfe0016126a2ba6c614c6f2c8a4b54e1b7f53a3d64f01ea4 SHA512 14cd68087aeaa755eeae58fd1265af35fb4f4e1651e7f083f09fd9e660a1b8df5bb8d6e31add6ba30796c99058030386432a69ef4338d969c692a80931361e36
-AUX eiskaltdcpp-2.2.10-openssl-1.1.patch 5482 BLAKE2B c3e33ddd45458a02bcbd20696bf08ea343cd4044f8887d6c344005ee95ea77054e35fb0c4ecae137352e55178b85cdc35d0c817b0c01426b2f3118edb20dfe20 SHA512 52433c16a95aefa9e5fd36c812b6f4cc5729cd870885fada69fe5529da11ab1edf4701879c62db0befab17e60da1168bf724ae8c39ee5f22d24eafda4f808485
-AUX eiskaltdcpp-2.2.10-tray-close.patch 788 BLAKE2B 61cf8368a6aea0f7b69864a317ffc6cc97ca1b468a948d0a6264e3c49fb65bf83d634f8aa843357c1ba8eb0a8cad4eba8685b772650e816512d64ec35289f1f4 SHA512 f1f59590b7ded55bc6351450cbe1efcf15ca8db2c532d2871512c8866809f06572076a586c968fade8d0f2fe8d33eb06d1b0359fb810748b6ad9d812c188155d
-DIST eiskaltdcpp-2.2.10.tar.gz 3843143 BLAKE2B 907b54271e7bf990a7826168728619020fd05b3d7826ba155763a3a2bef1154978e94978082513ca32a40866e275a8ea0da71f1eca0d77353320c0aefb7065ac SHA512 97c39287b9568aebc5ab21aeabefb63ea32bde8744242bb8647b742c933de9cf74a7fbb2e6df7be6046319bbc660e8abdec0fa332ee91ec5048492af0d763818
-EBUILD eiskaltdcpp-2.2.10-r100.ebuild 3426 BLAKE2B e96c25c5b3f6e7e1759a5673bc93cb88c50c9550ac113bd55097cc9587a6cb12c8f20a0e41b95132c653d1ca0838bbd8757cea5a3bca23e71c1653784986349f SHA512 dd1fe0e1ab0b26f4b531e838a19663e5a30690e540b1f25c8857cb552858dbdc639bcf2a4f70e65d4771f51b18711de35ec35cde61572c2bc22f8afee905a43b
-EBUILD eiskaltdcpp-9999.ebuild 3571 BLAKE2B c53be935a2f4a45bb2e8eec50d3124ac55610c0260066c1943b0557a0ed685599e9ede2a0d17a3941a146989b649a7b573f4f16f5e8f983370833ea59db1e99c SHA512 7d9f7423201f5cfd35dcb0b38db7f97fb69b54c75db54f703a4ebef4bf532f6aa69bd6c383e7da766e25bbd0d3de62ec4b47041862c2718c712fb4c29aa55a4f
-MISC metadata.xml 996 BLAKE2B aa14839e332a549f62b99fdf693388dc03988a316a5feb8da916008b4592d7ced6cc95062727a7f9e16ee8fd294a20124586b1e7c6a1b9d860065573f03bc9d0 SHA512 c36a94f827751c9a4ad080470d52576ea7a679a709605dec744f6bd55b0c4bb7566cc4e17aa499e09087cda45f839e0aa6a9e0d29ce5ce089fa25bf07a3e7325
+AUX eiskaltdcpp-2.4.1-fix_upnp_compilation.patch 790 BLAKE2B 6fe460a35a2cfd3f2a3a42a60c6b376b4e58cd699607b1ed19c92c1a37e245cde2a3e37cb34d5c3a6ad19c33d96abe0390227d8984b483b9a384a991a38731c1 SHA512 e96e3eacaf3927768c4d2456659b837fb7d2028f3cc5c3f27d8d5c5c7e9d1011d5a87b5b052ebefc7a3eb8dea4d9c85094a9ee97413a1e683ee19164304a3312
+DIST eiskaltdcpp-2.4.1.tar.xz 4301580 BLAKE2B 5fbf17d59686373b06ab7f86c5eaa00d9dd8d16b9ff89367d50024e4af1ea4c7abd281fa294718228544f8e0b8276af89a5d6a79d02fd09ca226387c278829c6 SHA512 05bb31a94081207812787d6d5ee4d8f479b3582f41f09441fbb60a4214a220d9d7fa3ea3e52c6e91a5d084aa92bab6994dbd9769e4d792d95c51dde5bc12ee55
+EBUILD eiskaltdcpp-2.4.1.ebuild 3784 BLAKE2B b6b7519c68c6301c6132d1712318210a46932e06fe8e700bb7e25a2ab68c6a0a861578af97a792d3748838a06c9f8c52fe47cc3fa97fd890bb3d4edca6495114 SHA512 1ad1e80e55127f19951c8dd0731441159eff5426f2df836b11c657dd987a98094be425f06c52c4815c992080c1d1e5a490b314ce5d2908f31a2d055f0b14ef11
+EBUILD eiskaltdcpp-9999.ebuild 3734 BLAKE2B b84ed18ed3cef6a438c72a5fb141acd2f88b3bd24a3e63f0b2422d89022d3a55e1c1d377524280e75a035f5db50196309fef63009d214e8a5935ab2d52a346c7 SHA512 aae37ee4b63dc2921d8f63d33bf6755e76329d9c07b21e02effbfeef5110419c25141dcaacdc0326b3a7ed2cda9553ecc1b693b46d3d3c4789f84f0c10c0a1d3
+MISC metadata.xml 1208 BLAKE2B ec058a3fa5cf64a50eaa1903aa3abee2c1b47c485c17d8893182b80ff017b7c288183703c6ed49173947bfd2c40b3009ca64524d3994208405ec725fabe8078c SHA512 8bb5d7d2718fdc8c73092aa34c224a13413c8ce97f3fa6da56e8d2d307949833e3dee66c2d21fe2b14141bac8baffe0602be9330f6e96c27675ee33824ad00af
diff --git a/net-p2p/eiskaltdcpp/eiskaltdcpp-2.2.10-r100.ebuild b/net-p2p/eiskaltdcpp/eiskaltdcpp-2.4.1.ebuild
index 930dfe474fed..e9815bef177d 100644
--- a/net-p2p/eiskaltdcpp/eiskaltdcpp-2.2.10-r100.ebuild
+++ b/net-p2p/eiskaltdcpp/eiskaltdcpp-2.4.1.ebuild
@@ -3,11 +3,11 @@
EAPI=7
-LUA_COMPAT=( lua5-1 )
+LUA_COMPAT=( lua5-1 lua5-2 )
-PLOCALES="be bg cs de el en es eu fr hu it pl pt_BR ru sk sr@latin sr sv_SE uk vi zh_CN"
+PLOCALES="be bg cs de el en es eu fr hu it pl pt_BR ru sk sr sr@latin sv_SE tr uk vi zh_CN"
-inherit cmake l10n lua-single xdg-utils
+inherit cmake l10n lua-single xdg-utils toolchain-funcs
[[ ${PV} = *9999* ]] && inherit git-r3
DESCRIPTION="Qt/DC++ based client for DirectConnect and ADC protocols"
@@ -15,28 +15,28 @@ HOMEPAGE="https://github.com/eiskaltdcpp/eiskaltdcpp"
LICENSE="GPL-2 GPL-3"
SLOT="0"
-IUSE="cli daemon dbus +dht examples idn -javascript json lua +minimal pcre +qt5 spell sqlite upnp -xmlrpc"
+IUSE="cli daemon dbus +dht examples gold gtk idn javascript libcanberra libnotify lua +minimal pcre +qt5 spell sqlite upnp"
REQUIRED_USE="
- ?? ( json xmlrpc )
- cli? ( ^^ ( json xmlrpc ) )
dbus? ( qt5 )
javascript? ( qt5 )
+ libcanberra? ( gtk )
+ libnotify? ( gtk )
lua? ( ${LUA_REQUIRED_USE} )
spell? ( qt5 )
sqlite? ( qt5 )
"
if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="mirror://sourceforge/project/${PN}/Sources/${P}.tar.xz"
KEYWORDS="~amd64 ~x86"
else
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+ KEYWORDS=""
fi
RDEPEND="
app-arch/bzip2
- dev-libs/boost:=
dev-libs/openssl:0=
sys-apps/attr
sys-libs/zlib
@@ -47,10 +47,19 @@ RDEPEND="
dev-perl/Data-Dump
dev-perl/Term-ShellUI
virtual/perl-Getopt-Long
- json? ( dev-perl/JSON-RPC )
- xmlrpc? ( dev-perl/RPC-XML )
+ dev-perl/JSON-RPC
+ )
+ daemon? (
+ dev-libs/jsoncpp:=
+ )
+ gtk? (
+ dev-libs/glib:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ x11-themes/hicolor-icon-theme
+ libcanberra? ( media-libs/libcanberra )
+ libnotify? ( x11-libs/libnotify )
)
- daemon? ( xmlrpc? ( dev-libs/xmlrpc-c[abyss,cxx] ) )
idn? ( net-dns/libidn )
lua? ( ${LUA_DEPS} )
pcre? ( dev-libs/libpcre )
@@ -72,6 +81,9 @@ RDEPEND="
)
upnp? ( net-libs/miniupnpc )
"
+BDEPEND="
+ gold? ( sys-devel/binutils[gold] )
+"
DEPEND="${RDEPEND}
sys-devel/gettext
virtual/pkgconfig
@@ -81,15 +93,16 @@ DEPEND="${RDEPEND}
DOCS=( AUTHORS ChangeLog.txt )
PATCHES=(
- "${FILESDIR}"/${PN}-2.2.10-cmake_lua_version.patch
- "${FILESDIR}"/${PN}-2.2.10-ipv6_upnp.patch
- "${FILESDIR}"/${PN}-2.2.10-miniupnpc{1,2}.patch
- "${FILESDIR}"/${PN}-2.2.10-openssl-1.1.patch
- "${FILESDIR}"/${PN}-2.2.10-tray-close.patch
+ "${FILESDIR}/${PN}-2.2.10-cmake_lua_version.patch"
+ "${FILESDIR}/${P}-fix_upnp_compilation.patch"
)
CMAKE_REMOVE_MODULES_LIST="FindLua"
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+}
+
src_prepare() {
cmake_src_prepare
l10n_find_plocales_changes 'eiskaltdcpp-qt/translations' '' '.ts'
@@ -99,46 +112,58 @@ src_configure() {
local mycmakeargs=(
-DLIB_INSTALL_DIR="$(get_libdir)"
-Dlinguas="$(l10n_get_locales)"
- -DLOCAL_MINIUPNP=OFF
+ -DCREATE_MO=ON
-DUSE_GTK=OFF
- -DUSE_GTK3=OFF
-DUSE_LIBGNOME2=OFF
- -DUSE_LIBCANBERRA=OFF
- -DUSE_LIBNOTIFY=OFF
-DUSE_QT=OFF
-DUSE_QT_QML=OFF
-DNO_UI_DAEMON=$(usex daemon)
-DDBUS_NOTIFY=$(usex dbus)
-DWITH_DHT=$(usex dht)
-DWITH_EXAMPLES=$(usex examples)
+ -DUSE_GTK3=$(usex gtk)
-DUSE_IDNA=$(usex idn)
-DUSE_JS=$(usex javascript)
+ -DUSE_LIBCANBERRA=$(usex libcanberra)
+ -DUSE_LIBNOTIFY=$(usex libnotify)
-DWITH_DEV_FILES=$(usex !minimal)
-DPERL_REGEX=$(usex pcre)
-DUSE_QT5=$(usex qt5)
- -DWITH_EMOTICONS=$(usex qt5)
- -DWITH_SOUNDS=$(usex qt5)
-DUSE_ASPELL=$(usex spell)
+ -DLOCAL_ASPELL_DATA=OFF
-DUSE_QT_SQLITE=$(usex sqlite)
-DUSE_MINIUPNP=$(usex upnp)
+ -DFORCE_XDG=ON
+ -DENABLE_STACKTRACE=OFF
+ -DUSE_GOLD=$(usex gold)
+ -DLOCAL_JSONCPP=OFF
+ -DBUILD_STATIC=OFF
+ -DINSTALL_QT_TRANSLATIONS=OFF
+ -DCOMPRESS_MANPAGES=OFF
+ -DUSE_CLI_JSONRPC=$(usex cli)
+ -DJSONRPC_DAEMON=$(usex daemon)
)
- if use cli; then
+ if use lua; then
+ mycmakeargs+=(
+ -DLUA_SCRIPT=ON
+ -DWITH_LUASCRIPTS=$(usex examples)
+ -DLUA_VERSION=$(ver_cut 1-2 $(lua_get_version))
+ )
+ else
mycmakeargs+=(
- -DUSE_CLI_JSONRPC=$(usex json)
- -DUSE_CLI_XMLRPC=$(usex xmlrpc)
+ -DLUA_SCRIPT=OFF
+ -DWITH_LUASCRIPTS=OFF
)
fi
- if use daemon; then
+ if use qt5 || use gtk; then
mycmakeargs+=(
- -DJSONRPC_DAEMON=$(usex json)
- -DXMLRPC_DAEMON=$(usex xmlrpc)
+ -DWITH_EMOTICONS=ON
+ -DWITH_SOUNDS=ON
)
- fi
- if use lua; then
+ else
mycmakeargs+=(
- -DLUA_SCRIPT=ON
- -DWITH_LUASCRIPTS=ON
- -DLUA_VERSION=$(ver_cut 1-2 $(lua_get_version))
+ -DWITH_EMOTICONS=OFF
+ -DWITH_SOUNDS=OFF
)
fi
cmake_src_configure
diff --git a/net-p2p/eiskaltdcpp/eiskaltdcpp-9999.ebuild b/net-p2p/eiskaltdcpp/eiskaltdcpp-9999.ebuild
index 50b6c2dfc1e3..315afa716827 100644
--- a/net-p2p/eiskaltdcpp/eiskaltdcpp-9999.ebuild
+++ b/net-p2p/eiskaltdcpp/eiskaltdcpp-9999.ebuild
@@ -3,11 +3,11 @@
EAPI=7
-LUA_COMPAT=( lua5-1 )
+LUA_COMPAT=( lua5-1 lua5-2 )
PLOCALES="be bg cs de el en es eu fr hu it pl pt_BR ru sk sr sr@latin sv_SE tr uk vi zh_CN"
-inherit cmake l10n lua-single xdg-utils
+inherit cmake l10n lua-single xdg-utils toolchain-funcs
[[ ${PV} = *9999* ]] && inherit git-r3
DESCRIPTION="Qt/DC++ based client for DirectConnect and ADC protocols"
@@ -15,11 +15,9 @@ HOMEPAGE="https://github.com/eiskaltdcpp/eiskaltdcpp"
LICENSE="GPL-2 GPL-3"
SLOT="0"
-IUSE="cli daemon dbus +dht examples -gtk idn -javascript json libcanberra libnotify lua +minimal pcre +qt5 spell sqlite upnp -xmlrpc"
+IUSE="cli daemon dbus +dht examples gold gtk idn javascript libcanberra libnotify lua +minimal pcre +qt5 spell sqlite upnp"
REQUIRED_USE="
- ?? ( json xmlrpc )
- cli? ( ^^ ( json xmlrpc ) )
dbus? ( qt5 )
javascript? ( qt5 )
libcanberra? ( gtk )
@@ -30,15 +28,15 @@ REQUIRED_USE="
"
if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="mirror://sourceforge/project/${PN}/Sources/${P}.tar.xz"
KEYWORDS="~amd64 ~x86"
else
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
+ KEYWORDS=""
fi
RDEPEND="
app-arch/bzip2
- dev-libs/boost:=
dev-libs/openssl:0=
sys-apps/attr
sys-libs/zlib
@@ -49,10 +47,11 @@ RDEPEND="
dev-perl/Data-Dump
dev-perl/Term-ShellUI
virtual/perl-Getopt-Long
- json? ( dev-perl/JSON-RPC )
- xmlrpc? ( dev-perl/RPC-XML )
+ dev-perl/JSON-RPC
+ )
+ daemon? (
+ dev-libs/jsoncpp:=
)
- daemon? ( xmlrpc? ( dev-libs/xmlrpc-c[abyss,cxx] ) )
gtk? (
dev-libs/glib:2
x11-libs/gtk+:3
@@ -82,6 +81,9 @@ RDEPEND="
)
upnp? ( net-libs/miniupnpc )
"
+BDEPEND="
+ gold? ( sys-devel/binutils[gold] )
+"
DEPEND="${RDEPEND}
sys-devel/gettext
virtual/pkgconfig
@@ -90,6 +92,11 @@ DEPEND="${RDEPEND}
DOCS=( AUTHORS ChangeLog.txt )
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.10-cmake_lua_version.patch"
+ "${FILESDIR}/${P}-fix_upnp_compilation.patch"
+)
+
CMAKE_REMOVE_MODULES_LIST="FindLua"
src_prepare() {
@@ -101,7 +108,7 @@ src_configure() {
local mycmakeargs=(
-DLIB_INSTALL_DIR="$(get_libdir)"
-Dlinguas="$(l10n_get_locales)"
- -DLOCAL_MINIUPNP=OFF
+ -DCREATE_MO=ON
-DUSE_GTK=OFF
-DUSE_LIBGNOME2=OFF
-DUSE_QT=OFF
@@ -119,27 +126,30 @@ src_configure() {
-DPERL_REGEX=$(usex pcre)
-DUSE_QT5=$(usex qt5)
-DUSE_ASPELL=$(usex spell)
+ -DLOCAL_ASPELL_DATA=OFF
-DUSE_QT_SQLITE=$(usex sqlite)
-DUSE_MINIUPNP=$(usex upnp)
+ -DFORCE_XDG=ON
+ -DENABLE_STACKTRACE=OFF
+ -DUSE_GOLD=$(usex gold)
+ -DLOCAL_JSONCPP=OFF
+ -DBUILD_STATIC=OFF
+ -DINSTALL_QT_TRANSLATIONS=OFF
+ -DCOMPRESS_MANPAGES=OFF
+ -DUSE_CLI_JSONRPC=$(usex cli)
+ -DJSONRPC_DAEMON=$(usex daemon)
)
- if use cli; then
- mycmakeargs+=(
- -DUSE_CLI_JSONRPC=$(usex json)
- -DUSE_CLI_XMLRPC=$(usex xmlrpc)
- )
- fi
- if use daemon; then
- mycmakeargs+=(
- -DJSONRPC_DAEMON=$(usex json)
- -DXMLRPC_DAEMON=$(usex xmlrpc)
- )
- fi
if use lua; then
mycmakeargs+=(
-DLUA_SCRIPT=ON
- -DWITH_LUASCRIPTS=ON
+ -DWITH_LUASCRIPTS=$(usex examples)
-DLUA_VERSION=$(ver_cut 1-2 $(lua_get_version))
)
+ else
+ mycmakeargs+=(
+ -DLUA_SCRIPT=OFF
+ -DWITH_LUASCRIPTS=OFF
+ )
fi
if use qt5 || use gtk; then
mycmakeargs+=(
diff --git a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-ipv6_upnp.patch b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-ipv6_upnp.patch
deleted file mode 100644
index 9b1f7638b6aa..000000000000
--- a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-ipv6_upnp.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 639b9f9aa286f10ce11f9fb28f0c83985f069a0d Mon Sep 17 00:00:00 2001
-From: Sergey Farbotka <z8sergey8z@gmail.com>
-Date: Mon, 31 Aug 2015 23:55:44 +0300
-Subject: [PATCH] Core: send IPv4-only address in UPNP request
-
-The app sends first available local IP address in UPNP request.
-If first available address is IPv6, miniupnpd sends the following error:
-"Failed to convert hostname '<my-ipv6-address>' to ip address"
-
-As eiskaltdc++ does not support IPv6 yet, we can use IPv4 address only
-in UPNP requests.
----
- dcpp/ConnectivityManager.cpp | 2 +-
- dcpp/Util.cpp | 17 ++++++++++++-----
- dcpp/Util.h | 5 +++--
- extra/upnpc.cpp | 2 +-
- 4 files changed, 17 insertions(+), 9 deletions(-)
-
-diff --git a/dcpp/ConnectivityManager.cpp b/dcpp/ConnectivityManager.cpp
-index 3495a9a..acc0d68 100644
---- a/dcpp/ConnectivityManager.cpp
-+++ b/dcpp/ConnectivityManager.cpp
-@@ -90,7 +90,7 @@ void ConnectivityManager::detectConnection() {
-
- autoDetected = true;
-
-- if (!Util::isPrivateIp(Util::getLocalIp())) {
-+ if (!Util::isPrivateIp(Util::getLocalIp(AF_INET))) {
- SettingsManager::getInstance()->set(SettingsManager::INCOMING_CONNECTIONS, SettingsManager::INCOMING_DIRECT);
- log(_("Public IP address detected, selecting active mode with direct connection"));
- fire(ConnectivityManagerListener::Finished());
-diff --git a/dcpp/Util.cpp b/dcpp/Util.cpp
-index dc7e08e..9b5a2ca 100644
---- a/dcpp/Util.cpp
-+++ b/dcpp/Util.cpp
-@@ -704,7 +704,7 @@ string Util::formatExactSize(int64_t aBytes) {
- #endif
- }
-
--vector<string> Util::getLocalIPs() {
-+vector<string> Util::getLocalIPs(unsigned short sa_family) {
- vector<string> addresses;
-
- #ifdef HAVE_IFADDRS_H
-@@ -712,6 +712,9 @@ vector<string> Util::getLocalIPs() {
-
- if (getifaddrs(&ifap) == 0)
- {
-+ bool ipv4 = (sa_family == AF_UNSPEC) || (sa_family == AF_INET);
-+ bool ipv6 = (sa_family == AF_UNSPEC) || (sa_family == AF_INET6);
-+
- for (struct ifaddrs *i = ifap; i != NULL; i = i->ifa_next)
- {
- struct sockaddr *sa = i->ifa_addr;
-@@ -723,14 +726,14 @@ vector<string> Util::getLocalIPs() {
- socklen_t len;
-
- // IPv4 address
-- if (sa->sa_family == AF_INET)
-+ if (ipv4 && (sa->sa_family == AF_INET))
- {
- struct sockaddr_in* sai = (struct sockaddr_in*)sa;
- src = (void*) &(sai->sin_addr);
- len = INET_ADDRSTRLEN;
- }
- // IPv6 address
-- else if (sa->sa_family == AF_INET6)
-+ else if (ipv6 && (sa->sa_family == AF_INET6))
- {
- struct sockaddr_in6* sai6 = (struct sockaddr_in6*)sa;
- src = (void*) &(sai6->sin6_addr);
-@@ -752,9 +755,13 @@ vector<string> Util::getLocalIPs() {
-
- return addresses;
- }
--string Util::getLocalIp() {
-+string Util::getLocalIp(unsigned short as_family) {
- #ifdef HAVE_IFADDRS_H
-- return getLocalIPs().empty() ? "0.0.0.0" : getLocalIPs()[0];
-+ vector<string> addresses = getLocalIPs(as_family);
-+ if (addresses.empty())
-+ return (((as_family == AF_UNSPEC) || (as_family == AF_INET)) ? "0.0.0.0" : "::");
-+
-+ return addresses[0];
- #else
- string tmp;
-
-diff --git a/dcpp/Util.h b/dcpp/Util.h
-index a489f70..f2842d3 100644
---- a/dcpp/Util.h
-+++ b/dcpp/Util.h
-@@ -28,6 +28,7 @@
-
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/socket.h>
- #include <unistd.h>
- #include <cstdlib>
- #include <vector>
-@@ -403,8 +404,8 @@ class Util
- }
-
- static string encodeURI(const string& /*aString*/, bool reverse = false);
-- static string getLocalIp();
-- static std::vector<string> getLocalIPs();
-+ static string getLocalIp(unsigned short sa_family = AF_UNSPEC);
-+ static std::vector<string> getLocalIPs(unsigned short sa_family = AF_UNSPEC);
- static bool isPrivateIp(string const& ip);
- static string formatAdditionalInfo(const std::string& aIp, bool sIp, bool sCC);
- /**
-diff --git a/extra/upnpc.cpp b/extra/upnpc.cpp
-index fb61f14..63f6d34 100644
---- a/extra/upnpc.cpp
-+++ b/extra/upnpc.cpp
-@@ -63,7 +63,7 @@ bool UPnPc::add(const unsigned short port, const UPnP::Protocol protocol, const
- const string port_ = Util::toString(port);
-
- return UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, port_.c_str(), port_.c_str(),
-- Util::getLocalIp().c_str(), description.c_str(), protocols[protocol], NULL
-+ Util::getLocalIp(AF_INET).c_str(), description.c_str(), protocols[protocol], NULL
- #if (MINIUPNPC_API_VERSION == 8 || defined(MINIUPNPC16))
- , 0) == UPNPCOMMAND_SUCCESS;
- #else
diff --git a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc1.patch b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc1.patch
deleted file mode 100644
index 7cca21840c7f..000000000000
--- a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc1.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 33bf1489e75d1b1cc834d6eb9629598cd77d6c58 Mon Sep 17 00:00:00 2001
-From: Pavel Vatagin <pavelvat@gmail.com>
-Date: Sun, 17 Jan 2016 03:00:36 +0300
-Subject: [PATCH] extra: fix static build for windows with -DLOCAL_MINIUPNP=OFF
-
----
- extra/upnpc.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/extra/upnpc.cpp b/extra/upnpc.cpp
-index 63f6d34..40a011a 100644
---- a/extra/upnpc.cpp
-+++ b/extra/upnpc.cpp
-@@ -42,7 +42,7 @@ using namespace dcpp;
- bool UPnPc::init()
- {
- UPNPDev *devices = upnpDiscover(5000, SettingsManager::getInstance()->isDefault(SettingsManager::BIND_ADDRESS) ? 0 : SETTING(BIND_ADDRESS).c_str(), 0, 0
--#if (MINIUPNPC_API_VERSION == 8 || defined(MINIUPNPC16))
-+#if (MINIUPNPC_API_VERSION >= 8 || defined(MINIUPNPC16))
- , 0, 0);
- #else
- );
-@@ -64,7 +64,7 @@ bool UPnPc::add(const unsigned short port, const UPnP::Protocol protocol, const
-
- return UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, port_.c_str(), port_.c_str(),
- Util::getLocalIp(AF_INET).c_str(), description.c_str(), protocols[protocol], NULL
--#if (MINIUPNPC_API_VERSION == 8 || defined(MINIUPNPC16))
-+#if (MINIUPNPC_API_VERSION >= 8 || defined(MINIUPNPC16))
- , 0) == UPNPCOMMAND_SUCCESS;
- #else
- ) == UPNPCOMMAND_SUCCESS;
diff --git a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc2.patch b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc2.patch
deleted file mode 100644
index bbe113b9cf47..000000000000
--- a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-miniupnpc2.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b88120830e974d843cbfec552b639fa72c64dcbd Mon Sep 17 00:00:00 2001
-From: Pavel Vatagin <pavelvat@gmail.com>
-Date: Fri, 5 Feb 2016 04:15:33 +0300
-Subject: [PATCH] extra: fix #332
-
----
- extra/upnpc.cpp | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/extra/upnpc.cpp b/extra/upnpc.cpp
-index 40a011a..bbd7bbf 100644
---- a/extra/upnpc.cpp
-+++ b/extra/upnpc.cpp
-@@ -41,9 +41,13 @@ using namespace dcpp;
-
- bool UPnPc::init()
- {
-- UPNPDev *devices = upnpDiscover(5000, SettingsManager::getInstance()->isDefault(SettingsManager::BIND_ADDRESS) ? 0 : SETTING(BIND_ADDRESS).c_str(), 0, 0
-+ UPNPDev *devices = upnpDiscover(5000, SettingsManager::getInstance()->isDefault(SettingsManager::BIND_ADDRESS) ? 0 : SETTING(BIND_ADDRESS).c_str(), NULL, 0
- #if (MINIUPNPC_API_VERSION >= 8 || defined(MINIUPNPC16))
-- , 0, 0);
-+ , 0
-+#if (MINIUPNPC_API_VERSION >= 14)
-+ , 2
-+#endif
-+ , NULL);
- #else
- );
- #endif
diff --git a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-openssl-1.1.patch b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-openssl-1.1.patch
deleted file mode 100644
index bf6f387ec26e..000000000000
--- a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-openssl-1.1.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 3b9c502ff5c98856d4f8fdb7ed3c6ef34448bfb7 Mon Sep 17 00:00:00 2001
-From: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
-Date: Tue, 7 Feb 2017 09:19:18 +0100
-Subject: [PATCH] crypto: add support for OpenSSL 1.1
-
-In OpenSSL 1.1 BN and SSL are opaque structures.
-
-* BN_set0_pqg() has been implemented in 1.1
-* SSL_is_server() has been implemented in 1.0.2 and 1.1
-
-Reported-by: Vasiliy Glazov <vascom2@gmail.com>
-Closes: https://github.com/eiskaltdcpp/eiskaltdcpp/issues/356
-Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
----
- dcpp/CryptoManager.cpp | 15 +++++++++++----
- dcpp/SSLSocket.cpp | 11 +++++++++--
- 2 files changed, 20 insertions(+), 6 deletions(-)
-
-diff --git a/dcpp/CryptoManager.cpp b/dcpp/CryptoManager.cpp
-index 08893a75c..b672d92f4 100644
---- a/dcpp/CryptoManager.cpp
-+++ b/dcpp/CryptoManager.cpp
-@@ -27,12 +27,20 @@
- #include "version.h"
-
- #include <openssl/bn.h>
--
-+#include <openssl/rand.h>
- #include <bzlib.h>
-
- namespace dcpp {
-
--
-+static const char ciphersuites[] =
-+ "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:"
-+ "ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:"
-+ "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:"
-+ "ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:"
-+ "ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:"
-+ "DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:"
-+ "AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:AES128-SHA"
-+ "!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK";
-
- CryptoManager::CryptoManager()
- :
-@@ -42,10 +50,10 @@
- {
- SSL_library_init();
-
-- clientContext.reset(SSL_CTX_new(TLSv1_client_method()));
-- clientVerContext.reset(SSL_CTX_new(TLSv1_client_method()));
-- serverContext.reset(SSL_CTX_new(TLSv1_server_method()));
-- serverVerContext.reset(SSL_CTX_new(TLSv1_server_method()));
-+ clientContext.reset(SSL_CTX_new(SSLv23_client_method()));
-+ clientVerContext.reset(SSL_CTX_new(SSLv23_client_method()));
-+ serverContext.reset(SSL_CTX_new(SSLv23_server_method()));
-+ serverVerContext.reset(SSL_CTX_new(SSLv23_server_method()));
-
- if(clientContext && clientVerContext && serverContext && serverVerContext) {
- dh.reset(DH_new());
-@@ -101,10 +109,15 @@
- };
-
- if(dh) {
-- dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-- dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
--
-+ BIGNUM *p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-+ BIGNUM *g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ dh->p = p;
-+ dh->g = g;
- if (!dh->p || !dh->g) {
-+#else
-+ if (!DH_set0_pqg(dh, p, NULL, g)) {
-+#endif
- dh.reset();
- } else {
- SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE);
-@@ -112,6 +125,28 @@
- SSL_CTX_set_tmp_dh(serverContext, (DH*)dh);
- SSL_CTX_set_tmp_dh(serverVerContext, (DH*)dh);
- }
-+ BN_free(p);
-+ BN_free(g);
-+ }
-+
-+ SSL_CTX_set_options(clientContext, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION);
-+ SSL_CTX_set_cipher_list(clientContext, ciphersuites);
-+ SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION);
-+ SSL_CTX_set_cipher_list(serverContext, ciphersuites);
-+ SSL_CTX_set_options(clientVerContext, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION);
-+ SSL_CTX_set_cipher_list(clientVerContext, ciphersuites);
-+ SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION);
-+ SSL_CTX_set_cipher_list(serverVerContext, ciphersuites);
-+
-+ EC_KEY* tmp_ecdh;
-+ /* NID_X9_62_prime256v1 is not secure, more secure is NID_secp384r1 or NID_secp521r1*/
-+ if((tmp_ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1)) != NULL) {
-+ SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_ECDH_USE);
-+ SSL_CTX_set_tmp_ecdh(serverContext, tmp_ecdh);
-+ SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_ECDH_USE);
-+ SSL_CTX_set_tmp_ecdh(serverVerContext, tmp_ecdh);
-+
-+ EC_KEY_free(tmp_ecdh);
- }
-
- SSL_CTX_set_verify(serverContext, SSL_VERIFY_NONE, 0);
-diff --git a/dcpp/SSLSocket.cpp b/dcpp/SSLSocket.cpp
-index 1e283eec8..d4dc12388 100644
---- a/dcpp/SSLSocket.cpp
-+++ b/dcpp/SSLSocket.cpp
-@@ -37,6 +37,13 @@ void SSLSocket::connect(const string& aIp, uint16_t aPort) {
- waitConnected(0);
- }
-
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L
-+static inline int SSL_is_server(SSL *s)
-+{
-+ return s->server;
-+}
-+#endif
-+
- bool SSLSocket::waitConnected(uint32_t millis) {
- if(!ssl) {
- if(!Socket::waitConnected(millis)) {
-@@ -54,9 +61,9 @@ bool SSLSocket::waitConnected(uint32_t millis) {
- }
-
- while(true) {
-- int ret = ssl->server?SSL_accept(ssl):SSL_connect(ssl);
-+ int ret = SSL_is_server(ssl)?SSL_accept(ssl):SSL_connect(ssl);
- if(ret == 1) {
-- dcdebug("Connected to SSL server using %s as %s\n", SSL_get_cipher(ssl), ssl->server?"server":"client");
-+ dcdebug("Connected to SSL server using %s as %s\n", SSL_get_cipher(ssl), SSL_is_server(ssl)?"server":"client");
- return true;
- }
- if(!waitWant(ret, millis)) {
diff --git a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-tray-close.patch b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-tray-close.patch
deleted file mode 100644
index 0749fe80802e..000000000000
--- a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.2.10-tray-close.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 35edb67258747a4704bad0288d9d02d3486493d8 Mon Sep 17 00:00:00 2001
-From: aneo78 <aneo78@yandex.ru>
-Date: Fri, 11 Aug 2017 23:29:33 +0700
-Subject: [PATCH] fix issue 363: eiskaltdcpp-qt don't close in Qt5
-
----
- eiskaltdcpp-qt/src/MainWindow.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/eiskaltdcpp-qt/src/MainWindow.cpp b/eiskaltdcpp-qt/src/MainWindow.cpp
-index a80c5e9c0..e8b49e4b6 100644
---- a/eiskaltdcpp-qt/src/MainWindow.cpp
-+++ b/eiskaltdcpp-qt/src/MainWindow.cpp
-@@ -390,6 +390,9 @@ void MainWindow::closeEvent(QCloseEvent *c_e){
- if (ConnectionManager::getInstance())
- ConnectionManager::getInstance()->disconnect();
-
-+ if (Notification::getInstance())
-+ Notify->enableTray(false);
-+
- d->arena->hide();
- d->arena->setWidget(NULL);
-
diff --git a/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.4.1-fix_upnp_compilation.patch b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.4.1-fix_upnp_compilation.patch
new file mode 100644
index 000000000000..57ff8d270492
--- /dev/null
+++ b/net-p2p/eiskaltdcpp/files/eiskaltdcpp-2.4.1-fix_upnp_compilation.patch
@@ -0,0 +1,26 @@
+From e534e871c7f22b3c0bb28d9f91f71b824cf68a0e Mon Sep 17 00:00:00 2001
+From: "Francisco Blas (klondike) Izquierdo Riera" <klondike@klondike.es>
+Date: Fri, 26 Feb 2021 11:15:08 +0100
+Subject: [PATCH] Add missing format.h include in the upnp mapping management
+ code to fix compile-time issues (Thanks juippis from Gentoo for finding and
+ reporting this)
+
+---
+ dcpp/MappingManager.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dcpp/MappingManager.cpp b/dcpp/MappingManager.cpp
+index 42c4cbb4..c1d84f64 100644
+--- a/dcpp/MappingManager.cpp
++++ b/dcpp/MappingManager.cpp
+@@ -22,6 +22,7 @@
+ #include "ConnectionManager.h"
+ #include "SearchManager.h"
+ #include "LogManager.h"
++#include "format.h"
+ #include "version.h"
+ #include "ConnectivityManager.h"
+ #ifdef USE_MINIUPNP
+--
+2.26.2
+
diff --git a/net-p2p/eiskaltdcpp/metadata.xml b/net-p2p/eiskaltdcpp/metadata.xml
index b65eafebb426..e7dbc6c81e7c 100644
--- a/net-p2p/eiskaltdcpp/metadata.xml
+++ b/net-p2p/eiskaltdcpp/metadata.xml
@@ -1,18 +1,25 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>klondike@gentoo.org</email>
+ <name>Francisco Blas (klondike) Izquierdo Riera</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription lang="en">
- EiskaltDC++ is a multi-platform program that uses the Direct Connect and
- ADC protocol. It is compatible with other DC clients, such as the original DC
- from Neomodus, DC++ and derivatives. EiskaltDC++ also interoperates with all
+ EiskaltDC++ is a cross-platform program that uses the Direct Connect and
+ Advanced Direct Connect protocols. It is compatible with DC++, AirDC++,
+ FlylinkDC++ and other DC clients. EiskaltDC++ also interoperates with all
common DC hub software.
</longdescription>
<use>
<flag name="cli">Enable sample cli based on readline</flag>
<flag name="daemon">Enable eiskaltdcpp-daemon</flag>
<flag name="dht">Enable DHT (distributed hash table) support for libeiskaltdcpp</flag>
- <flag name="json">Enable JSON for cli and daemon</flag>
+ <flag name="gold">Use gold.ld instead of ld</flag>
<flag name="libcanberra">Enable sound notifications support over libcanberra in EiskaltDC++ Gtk</flag>
<flag name="minimal">Don't install headers</flag>
</use>