summaryrefslogtreecommitdiff
path: root/net-misc/aria2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-08-26 00:09:36 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-08-26 00:09:36 +0100
commitb1c81de4fadbd00897700a7321f03b390d952b2e (patch)
treee6cc812351d4f105c110cfc363ebb497e996f47a /net-misc/aria2
parent7c59acba5699c9c58090a7a738669669a7307023 (diff)
gentoo resync : 26.08.2021
Diffstat (limited to 'net-misc/aria2')
-rw-r--r--net-misc/aria2/Manifest2
-rw-r--r--net-misc/aria2/aria2-1.36.0.ebuild183
2 files changed, 185 insertions, 0 deletions
diff --git a/net-misc/aria2/Manifest b/net-misc/aria2/Manifest
index f5c2e1320748..f362c039907a 100644
--- a/net-misc/aria2/Manifest
+++ b/net-misc/aria2/Manifest
@@ -1,3 +1,5 @@
DIST aria2-1.35.0.tar.xz 1534460 BLAKE2B fc207ad0054e211b79ee1c6302c6bf83d0638fd5659d19dbd63d7cfb31101feb7d1a661b989ec42552c9a5c072dd660d2f7203063c3c1e14f53d5ce4c5a3c317 SHA512 82b49cecd61064ae33b4a422a2320d533f54afea8fab0f014072a46afdc05972d2e9c603e843960c097410adf87290df65849f4ee05e047403618ae50db151ef
+DIST aria2-1.36.0.tar.xz 1619036 BLAKE2B 7894ec705f6fefdbc6c4844efa8a645b3e7674e36d04535ac96b9daf5098a453d047109bad0db16e6fd656f63a3ec0bab5746e8ba7d549149e2364395a94399f SHA512 8203dbb75274455a78c50dd4f894e631de6931ac889f26896dceed78ec38c98cdbcf07e164744f308f2bfffeae1016beec1bfdbe8cad7f3280d11376aa0c2542
EBUILD aria2-1.35.0.ebuild 5074 BLAKE2B 775f7d972e19016a586fda1f381803908d7f6ba0ab9631b0521653a92171c5e39b427f83f008c50dd33302920aab53aa0aa1e4417991248ff66a3889d0c5b8a2 SHA512 c94f8e082089352bc4bd3a331e485aa8776ec623f31ad29f22726f645c014bed2271ae870df9621e6fce036f0362f021c7c1ddfecf4edcfa4fbc5ded5d08808d
+EBUILD aria2-1.36.0.ebuild 5074 BLAKE2B 3ab30487f36fee7c4ddb734056737384e32bf92b416ac618d743666f052a6f84c44bf98879136f86a6fe5697fbc823ce55a48009b51c3450d4f2da005c995cee SHA512 3e07f1105332c7fcc2b8cb93ad6f8eae0a906290314d4a3d8843683b336ee5aab74e1265e24028815ad8d7fdc058d8c095235f1ca41fefb172e892d249e33a9d
MISC metadata.xml 1325 BLAKE2B d958c3669bbebc969e706f70ea93d91f2068d19fe117d4112a818f711e0b3d421f35d67ad303ad856d6abf87b3f85ae0be17c487afef9df48f0a47264aa390e8 SHA512 668bea0c2d30e3fb10131a9ea0a9ba860cccfed7d5e810d165cc01d0ae9bb5d49653cba5aabe1cf5eb42bfbc1759198a82bec63e205a2c0dc05e4f93fac0d696
diff --git a/net-misc/aria2/aria2-1.36.0.ebuild b/net-misc/aria2/aria2-1.36.0.ebuild
new file mode 100644
index 000000000000..288141a977bc
--- /dev/null
+++ b/net-misc/aria2/aria2-1.36.0.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+DESCRIPTION="A download utility with segmented downloading with BitTorrent support"
+HOMEPAGE="https://aria2.github.io/"
+SRC_URI="https://github.com/aria2/${PN}/releases/download/release-${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2+-with-openssl-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="adns bittorrent +gnutls jemalloc libuv +libxml2 metalink +nettle nls sqlite scripts ssh ssl tcmalloc test xmlrpc"
+# xmlrpc has no explicit switch, it's turned out by any XML library
+# so metalink implicitly forces it on
+REQUIRED_USE="?? ( jemalloc tcmalloc )
+ metalink? ( xmlrpc )"
+RESTRICT="!test? ( test )"
+
+# Crazy GnuTLS/OpenSSL/etc. logic below:
+# 1. Those libraries are used for two purposes: TLS & MD.
+# 2. Upstream preferences are:
+# 1) gnutls [tls]
+# 2) !gnutls? -> openssl [tls+md]
+# 3) !openssl? -> nettle [md]
+# 4) !openssl? !nettle? -> gcrypt [md]
+# 5) !*? -> bundled md routines (we don't use them)
+# 3. There's also gmp usage for bittorrent with nettle.
+# 4. You can't really control features, just dependencies.
+# (we are skipping native Apple/Windows TLS support)
+#
+# We map this into:
+# ssl? -> openssl || (gnutls + (nettle || libgcrypt ))
+# !ssl? -> nettle || libgcrypt
+RDEPEND="sys-libs/zlib:0=
+ adns? ( >=net-dns/c-ares-1.5.0:0= )
+ jemalloc? ( dev-libs/jemalloc )
+ libuv? ( >=dev-libs/libuv-1.13:0= )
+ metalink? (
+ libxml2? ( >=dev-libs/libxml2-2.6.26:2= )
+ !libxml2? ( dev-libs/expat:0= ) )
+ sqlite? ( dev-db/sqlite:3= )
+ ssh? ( net-libs/libssh2:= )
+ ssl? (
+ app-misc/ca-certificates
+ gnutls? (
+ >=net-libs/gnutls-1.2.9:0=
+ nettle? (
+ >=dev-libs/nettle-2.4:0=
+ bittorrent? (
+ >=dev-libs/nettle-2.4:0=[gmp]
+ >=dev-libs/gmp-6:0=
+ )
+ )
+ !nettle? ( >=dev-libs/libgcrypt-1.2.2:0= )
+ )
+ !gnutls? (
+ dev-libs/openssl:0=
+ )
+ )
+ !ssl? (
+ nettle? (
+ >=dev-libs/nettle-2.4:0=
+ bittorrent? (
+ >=dev-libs/nettle-2.4:0=[gmp]
+ >=dev-libs/gmp-6:0=
+ )
+ )
+ !nettle? ( >=dev-libs/libgcrypt-1.2.2:0= )
+ )
+ tcmalloc? ( dev-util/google-perftools )
+ xmlrpc? (
+ libxml2? ( >=dev-libs/libxml2-2.6.26:2= )
+ !libxml2? ( dev-libs/expat:0= ) )"
+
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/cppunit-1.12.0:0 )"
+RDEPEND+="
+ nls? ( virtual/libiconv virtual/libintl )
+ scripts? ( dev-lang/ruby )"
+BDEPEND="app-arch/xz-utils
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+ if use scripts && ! use xmlrpc; then
+ ewarn "Please note that you may need to enable USE=xmlrpc to run the aria2rpc"
+ ewarn "and aria2mon scripts against the local aria2."
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "s|/tmp|${T}|" test/*.cc test/*.txt || die "sed failed"
+ # Fails with USE=bittorrent && FEATURES=network-sandbox
+ sed -i -E \
+ -e '/^@ENABLE_BITTORRENT_TRUE@ LpdMessageDispatcherTest/d' \
+ -e '/^@ENABLE_BITTORRENT_TRUE@ LpdMessageReceiverTest/d' \
+ test/Makefile.in || die
+}
+
+src_configure() {
+ local myconf=(
+ # threads, epoll: check for best portability
+
+ # do not try to compile and run a test LIBXML program
+ --disable-xmltest
+ # enable the shared library
+ --enable-libaria2
+ # zlib should always be available anyway
+ --with-libz
+ --with-ca-bundle="${EPREFIX}/etc/ssl/certs/ca-certificates.crt"
+
+ # optional features
+ $(use_enable bittorrent)
+ $(use_enable metalink)
+ $(use_enable nls)
+ $(use_with adns libcares)
+ $(use_with jemalloc)
+ $(use_with libuv)
+ $(use_with sqlite sqlite3)
+ $(use_with ssh libssh2)
+ $(use_with tcmalloc)
+ )
+
+ # See TLS/MD logic described above deps.
+ if use ssl && ! use gnutls; then
+ # 1. if ssl & !gnutls, use openssl and disable gnutls
+ myconf+=( --without-gnutls --with-openssl )
+ else
+ myconf+=(
+ # 2. otherwise, disable openssl
+ --without-openssl
+ # 3. if ssl & gnutls, use gnutls
+ $(use_with ssl gnutls)
+
+ # 4. switch between nettle & libgcrypt
+ $(use_with nettle libnettle)
+ $(use_with !nettle libgcrypt)
+ )
+
+ # 5. if bittorrent is used along with nettle, use libgmp
+ if use bittorrent && use nettle; then
+ myconf+=( --with-libgmp )
+ else
+ myconf+=( --without-libgmp )
+ fi
+ fi
+
+ # metalink+xmlrpc := libxml2 / expat
+ # USE=(metalink || xmlrpc)
+ # + USE=libxml2 -> libxml2
+ # + USE=-libxml2 -> expat
+
+ if use metalink || use xmlrpc; then
+ myconf+=( $(use_with !libxml2 libexpat) $(use_with libxml2) )
+ else
+ myconf+=( --without-libexpat --without-libxml2 )
+ fi
+
+ # Note:
+ # - always enable gzip/http compression since zlib should always be available anyway
+ # - always enable epoll since we can assume kernel 2.6.x
+ # - other options for threads: solaris, pth, win32
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ rm -r "${ED}"/usr/share/doc/${PF}/README{,.html} || die
+
+ dobashcomp doc/bash_completion/aria2c
+ use scripts && dobin doc/xmlrpc/aria2{mon,rpc}
+}
+
+pkg_postinst() {
+ if use xmlrpc; then
+ elog "If you would like to use the additional aria2mon and aria2rpc tools,"
+ elog "you need to have \033[1mdev-lang/ruby\033[0m installed."
+ fi
+}