diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-06-30 17:36:28 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-06-30 17:36:28 +0100 |
commit | 7014a5a3ea0feffab9701fdd6b64cc7667a985af (patch) | |
tree | f2cbbaa8bb9209cd15208721103228336149b799 /net-misc/aria2 | |
parent | 7a86906b67693cc65671d3e1476835d3a7e13092 (diff) |
gentoo resync : 30.06.2019
Diffstat (limited to 'net-misc/aria2')
-rw-r--r-- | net-misc/aria2/Manifest | 5 | ||||
-rw-r--r-- | net-misc/aria2/aria2-1.34.0-r1.ebuild | 2 | ||||
-rw-r--r-- | net-misc/aria2/aria2-1.34.0-r2.ebuild | 184 | ||||
-rw-r--r-- | net-misc/aria2/metadata.xml | 3 |
4 files changed, 190 insertions, 4 deletions
diff --git a/net-misc/aria2/Manifest b/net-misc/aria2/Manifest index 0993603c335a..771035fb943b 100644 --- a/net-misc/aria2/Manifest +++ b/net-misc/aria2/Manifest @@ -1,5 +1,6 @@ AUX aria2-1.34.0-make_unique.patch 1403 BLAKE2B 115ba6241c92d622e49a7059aabec6925b7c8a1a0ef1ccd1a17f812d6289b2aa62a0cac5e12daeff442124a8eae7ceaafcaa9ea6420873d1fef060ae4263e3a0 SHA512 f49ae23e698acbc13c4455efa6edff4fb7f467b94711ed10ad34e8898d96985f401295d5402d66a410ad8e946a39d586f6d082f5393884963ddaf8fa10601af0 AUX aria2-1.34.0-mask-headers.patch 1972 BLAKE2B 8efec9b9beeee5c763db29287931869cd69fde9883a7fab1f5f7fe48948ee62ef25df10fe855230fd082ce6a442f3eb00da8bf16b1f443573140868656f21969 SHA512 e81d6cf69652b4a2adb67a13434d3e37f1c69ce2a99a8d4b12f3e056c6c530218d6593aaeb1ca8b2691e4f28a0d53b29319d067c4f89eb0e4b2e8368f1c38319 DIST aria2-1.34.0.tar.xz 1525908 BLAKE2B 479145af229f5fe864e54c511197bedb306199dbda608416aa295930a8392c7a118993b5a1634db20b380ab448cc8a397a351b6b64560ca263a0818d47a1ae64 SHA512 80bc43e242c06acc95030021cb347b4ec230729f3d7e512ca1932941b34ef95c312a34007a226869e5d720839a400e66cdb072ccab5d42228d8cf3d828723dcc -EBUILD aria2-1.34.0-r1.ebuild 4415 BLAKE2B fe9c3e485d7ece90ad6c4691ad31298fbfce7709738a69e0b78e6b222168417c91eee1a4bc86e96f75ddfea607d5a5245689772e19a664a47002e0509e975a3e SHA512 1a2050c5e8ddf1da9cc24440024a1099df92788e6413dfff6359f3cc3a7b8acbe8e256d78b6c3cb7522bb5f6dd2a5437b4814a0a7ee7206b646f3f3546c1cd0e -MISC metadata.xml 1195 BLAKE2B 393ba5f1d8bc975cbf2a7f4a7deef2929e5f8f3220895628535d5c9e78bb154c2b41a11628d4bfc30475936051c8b6975d6e1146dd4af612e10307572e6c361f SHA512 54ffe27c3c623befb40e1b66df8b4a6cfe9bc1101f65d6641ddc27de686cc0df600e72650f92c89402fdc30f535462ed1f0a6561967771a8e5c0d648890a9208 +EBUILD aria2-1.34.0-r1.ebuild 4439 BLAKE2B 95ceeb794a25162f1edaf2910117f093fdb06f4afa956b14a5fe8034440edc6f0ea7a91f18434cbf083505e7effedad47fcf68ee52286c931db73b9be29085b0 SHA512 2a9d7e9c963f3f8158727bafe5fb8895981bb3e81687bdfee36c23be097b7f3d452efb8e560dfaa540aa007368e386e04162c93ca651c405cf1c68386f9a8ff9 +EBUILD aria2-1.34.0-r2.ebuild 5016 BLAKE2B 27a33ac658c9996ef9824493f5ca8db20faa24e407b32935a5f2b206a2194ec86dd0ec5bac3891f7fa137ba7b2160a37c9e7a729601e07c152f1b3c41b548435 SHA512 fa4e6fd3b7d55b894a931a6d9f73a0e8cefdcb4a117d68a52aa3b66741691da8a4f99549804173bbf04b7455eb5d704c087f547fdfbdc773eedf43ae61a45b96 +MISC metadata.xml 1442 BLAKE2B 82e8426004e56ba96a5f8766a6d04325ea3919ecfa0996da1d767dc4f4fb2b3277d1b3e4b60d369bc7636eb557af336b890c4bde0b49ee39cc3352050a112fe5 SHA512 61da3c1c3cd1535d208e7ae1930fc2af16eb2080f99c923b9bc405decb50f09cf5acfbb1e922c3eb7edbb799f359e8e9762fe2e67ec24ae542613459250c6f7b diff --git a/net-misc/aria2/aria2-1.34.0-r1.ebuild b/net-misc/aria2/aria2-1.34.0-r1.ebuild index b12d839f52e1..39d7cfca73ab 100644 --- a/net-misc/aria2/aria2-1.34.0-r1.ebuild +++ b/net-misc/aria2/aria2-1.34.0-r1.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="A download utility with segmented downloading with BitTorrent suppo HOMEPAGE="https://aria2.github.io/" SRC_URI="https://github.com/aria2/${PN}/releases/download/release-${PV}/${P}.tar.xz" -LICENSE="GPL-2" +LICENSE="GPL-2+-with-openssl-exception" KEYWORDS="amd64 ~arm ~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" diff --git a/net-misc/aria2/aria2-1.34.0-r2.ebuild b/net-misc/aria2/aria2-1.34.0-r2.ebuild new file mode 100644 index 000000000000..025e6d10b737 --- /dev/null +++ b/net-misc/aria2/aria2-1.34.0-r2.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +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 ~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" + +# 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 + +CDEPEND="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="${CDEPEND} + app-arch/xz-utils + virtual/pkgconfig + nls? ( sys-devel/gettext ) + test? ( >=dev-util/cppunit-1.12.0:0 )" +RDEPEND="${CDEPEND} + nls? ( virtual/libiconv virtual/libintl ) + scripts? ( dev-lang/ruby )" + +# 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 )" + +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() { + eapply "${FILESDIR}"/${P}-make_unique.patch + # https://bugs.gentoo.org/674622 (CVE-2019-3500) + eapply "${FILESDIR}"/${P}-mask-headers.patch + default + sed -i -e "s|/tmp|${T}|" test/*.cc test/*.txt || die "sed failed" +} + +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 -rf "${D}"/usr/share/doc/aria2 \ + "${D}"/usr/share/doc/${PF}/README{,.html} + + 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 +} diff --git a/net-misc/aria2/metadata.xml b/net-misc/aria2/metadata.xml index e5e58f42b404..27fefc927194 100644 --- a/net-misc/aria2/metadata.xml +++ b/net-misc/aria2/metadata.xml @@ -11,10 +11,11 @@ </maintainer> <use> <flag name="bittorrent">Enable support for the bittorrent protocol.</flag> + <flag name="gnutls">Use <pkg>net-libs/gnutls</pkg> as TLS provider (preferred). Otherwise, <pkg>dev-libs/openssl</pkg> will be used as TLS provider. Both apply only with USE=ssl.</flag> <flag name="libuv">Use <pkg>dev-libs/libuv</pkg> backend.</flag> <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> for XML parsing (preferred) instead of <pkg>dev-libs/expat</pkg>.</flag> - <flag name="nettle">Use <pkg>dev-libs/nettle</pkg> and <pkg>dev-libs/gmp</pkg> for bittorrent/metalink crypto instead of <pkg>dev-libs/libgcrypt</pkg> (when <pkg>dev-libs/openssl</pkg> is not being used).</flag> <flag name="metalink">Enable support for metalink.</flag> + <flag name="nettle">Use <pkg>dev-libs/nettle</pkg> for message digests, plus <pkg>dev-libs/gmp</pkg> for bittorrent (if enabled). If this flag is disabled, <pkg>dev-libs/libgcrypt</pkg> is used instead. This flag is ignored if <pkg>dev-libs/openssl</pkg> is used.</flag> <flag name="scripts">Install additional scripts which use aria2's xmlrpc functionality.</flag> <flag name="ssh">Enable SFTP support.</flag> </use> |