commit:     3a114d8b4b367c0bbb8989f52b4b9ac461581498
Author:     Peter Alfredsen <crabbedhaloablution <AT> icloud <DOT> com>
AuthorDate: Thu Dec 17 16:49:49 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 17 17:36:16 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a114d8b

net-misc/aria2: bump to 1.35.0

Bump EAPI while we're at it.

Closes: https://bugs.gentoo.org/704086
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Peter Alfredsen <crabbedhaloablution <AT> icloud.com>
Closes: https://github.com/gentoo/gentoo/pull/18694
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 net-misc/aria2/Manifest            |   1 +
 net-misc/aria2/aria2-1.35.0.ebuild | 183 +++++++++++++++++++++++++++++++++++++
 2 files changed, 184 insertions(+)

diff --git a/net-misc/aria2/Manifest b/net-misc/aria2/Manifest
index f26538b13aa..342c6842d3e 100644
--- a/net-misc/aria2/Manifest
+++ b/net-misc/aria2/Manifest
@@ -1 +1,2 @@
 DIST aria2-1.34.0.tar.xz 1525908 BLAKE2B 
479145af229f5fe864e54c511197bedb306199dbda608416aa295930a8392c7a118993b5a1634db20b380ab448cc8a397a351b6b64560ca263a0818d47a1ae64
 SHA512 
80bc43e242c06acc95030021cb347b4ec230729f3d7e512ca1932941b34ef95c312a34007a226869e5d720839a400e66cdb072ccab5d42228d8cf3d828723dcc
+DIST aria2-1.35.0.tar.xz 1534460 BLAKE2B 
fc207ad0054e211b79ee1c6302c6bf83d0638fd5659d19dbd63d7cfb31101feb7d1a661b989ec42552c9a5c072dd660d2f7203063c3c1e14f53d5ce4c5a3c317
 SHA512 
82b49cecd61064ae33b4a422a2320d533f54afea8fab0f014072a46afdc05972d2e9c603e843960c097410adf87290df65849f4ee05e047403618ae50db151ef

diff --git a/net-misc/aria2/aria2-1.35.0.ebuild 
b/net-misc/aria2/aria2-1.35.0.ebuild
new file mode 100644
index 00000000000..a1e3b996fae
--- /dev/null
+++ b/net-misc/aria2/aria2-1.35.0.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+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
+}

Reply via email to