Skip to content

Commit

Permalink
Update to 1.18.2
Browse files Browse the repository at this point in the history
* This package requires gcc 4.7 later from pkgsrc

Changelog:
aria2 1.18.2
============

Release Note
------------

This release fixes the wrong handling of return value of fork(), which
leads to high CPU usage. The progress readout has some color output.
Mingw32 build now receives colorized output. Mingw32 build now can
read unicode command-line arguments. The build script of OSX was
rewritten. The --bt-max-open-files now limits the number of opened
file globally for multi-file downloads instead of per download basis.

Changes
-------

* Remove the outdated, broken build_osx_release.sh

* Initial revision of the a new OSX release Makefile

* Allow using libgmp with AppleTLS/WinTLS

* Fix crash when metaurl contains unsupported URI or text

* Fix bad fork() return value handling

* Use some colors in progress reports (where available)

* Implement basic color support for the Windows console

  Only \033[*m (SGR) is supported, with a 16+16 color terminal.

* AppleTLS: Implement PKCS12 loading.

* Limit number of opened file globally with --bt-max-open-files option

  This change changes the behavior of --bt-max-open-files. Previously,
  it specifies the maximum number of opened files for each multi-file
  download. Since it is more useful to limit the number globally, the
  option now specifies the global limit. This change suggests that
  aria2.changeOption() method now ignores --bt-max-open-files and
  aria2.changeGlobalOption now reads it and dynamically change the
  limit.

* Don't fail multiple concurrent dl same file if auto-file-renaming is
  enabled

* mingw32: Use CommandLineToArgvW() and GetCommandLineW() to read
  cmd-line args

  This change enables aria2 to read unicode characters in
  command-line.



aria2 1.18.1
============

Release Note
------------

This release fixes the percent-encoding bug which affects file name
encodings. It adds PKCS12 support in certificate import. It also adds
experimental internal implementation of message digest functions, ARC4
cipher and bignum. It means that no external libraries are required to
build BitTorrent support, but this feature is still marked as
experimental. This release also fixes the android build with NDK r9.

Changes
-------

* LibsslTLSContext: Remove weak cipher suite

* AppleTLS: Enable --certificate

* util::percentEncodeMini: Fix regression bug removed unsignedness

  srange-based for around std::string is convenient but several
  functions depend unsigned char for correctness and readability.

* Log exception; throw error if loading private key and/or certificate
  failed

* Provide internal ARC4 implementation

  Now you can build bittorrent support without without external
  libraries, meaning you can skip libnettle, libgmp, libgcrypt, GnuTLS
  and OpenSSL on OSX (for now).

* Internal implementation of DHKeyExchange

  Reusing a bignum (well, unsigned very-long) implementation I had
  lying around for years and just cleaned up a bit and brought to
  C++11 land.

  It might not be the most performant implementation, but it shoud be
  fast enough for our purposes and will go a long way of removing
  gcrypt, nettle, gmp, openssl dependencies when using AppleTLS and
  WinTLS (upcoming).

* PKCS12 support in --certificate and --rpc-certificate options.

* Add --disable-ssl configure option

* Add internal md5 and sha1 message digests

* Fix AppleMessageDigestImpl use with large data

* Set old cookie's creation-time to new cookie on replacement

  As described in http://tools.ietf.org/html/rfc6265#section-5.3

* Fix link error with Android NDK r9

  Since Android ndk r9, __set_errno is deprecated. It is now defined
  as inline function in errno.h. The syscall assembly calls
  __set_errno, but since libc.so does not export it, the link
  fails. To workaround this, replace all occurrences of __set_errno
  with a2_set_errno and define it as normal C function.



aria2 1.18.0
============

Release Note
------------

This release changes the default disk cache size to 16 MiB. To change
the default size, --with-disk-cache configure option was added.  Now
used URIs are also saved by --save-session option. The control file is
now always saved if --force-save is given. The ctrl-c handling on
Mingw build was improved. The internal intl library is no longer
supplied. From this release, C++11 compiler is required to build aria2
executable. For gcc, at least 4.6.3 is required.

Changes
-------

* Use AM subdir-objects

  Doing so in AM_INIT_AUTOMAKE seems to be the most compatible way of
  doing so.

  Closes GH-120

* AM_SILENT_RULES([yes]) with backwards-compatiblity

  Supported since automake-1.11. There is no point in having the very
  verbose compile stuff running about, which cannot even silenced
  properly with `make -s` by default. Otherwise, `make V=1` or
  `--disable-silent-rules` are your friends

* Fix automake-1.14 am_aux_dir

  AC_USE_SYSTEM_EXTENSIONS will cause AC_PROG_CC, which is overridden
  by automake-1.14, which will then init (part) of automake, in
  particular am_aux_dir expansion, which in turn relies on ac_aux-dir,
  which is not initialized at this point, and thus: certain doom (or
  fun, depending on your POV and mood :p)

  Hence call AC_USE_SYSTEM_EXTENSIONS only after
  AM_INIT_AUTOMAKE. This, of course, caused a lot of related macro
  shuffling.

  Tested against automake-1.10 (OSX Lion/XCode version) and
  automake-1.14 (homebrew version)

* Require external gettext for --enable-nls

  And stop using the internal flavor with ./intl

* Make AX_CXX_COMPILE_STDCXX_11 test for -stdlib=libc++ via std::shared_ptr

  The clang shipped with OSX XCode and clangs not build enabling
  libcpp, will default to the libstdc++ headers and lib installed on
  the system.  In the OSX case, that libstdc++ is the one bundles with
  gcc-4.2, which is far too old to provide all required C++11 types,
  such as std::shared_ptr.  Hence, the C++11 check should try to
  compile a program with a C++11 type and try -stdlib=libc++ if the
  default lib fails to compile said program.

* Make the configure check for C++11 compiler mandatory

  Remove stray "dnl", so that mandatory actually works with (my)
  autoreconf.

* Always build doc/manual-src

  Should sphinx-build be not available AND the man file not be prsent,
  then just "touch" it into existence (and warn about that)

* Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM

* Implement a simple resource lock (threading)

  In this initial implementation Locks are no-ops on platforms other
  than Windows.

* Check for sphinx-build during configure

* Add --with-disk-cache configure option

  Enables packagers more fine grained control over the default value
  without having to mess with config files.

  See GH-115

* Change defaults: Enable 16M disk cache by default.

* Always save control file if --force-save is given

* Set log level DEBUG for unittests

* Check that C++ compiler supports override keyword

  If the compiler supports override, define CXX11_OVERRIDE as
  override, otherwise define it as empty. Use CXX11_OVERRIDE instead
  of override.

* AppleTLS: Fix MessageDigestImpl

* AppleTLS: Fix session CFRelease stuff

* Use AX_CXX_COMPILE_STDCXX_11 macro to detect C++0x/C++11 support in
  compiler

* Require -std=c++11 and use std::shared_ptr instead of SharedHandle

* Join URI on redirect

* Send HAVE message to the peer which the piece is downloaded from

  Historically, aria2 did not send HAVE message to the peer which the
  piece is coming from, thinking it is obvious that the peer knows we
  have the piece. But it is not obvious if one piece is download from
  more than 1 peers (e.g., end game mode). So it is better to send
  HAVE to all peers connected.

* Improvements to --follow-torrent=false documentation.

  Patch from gt

* SessionSerializer: Truly unique URIs

  Before, only spent uris where sanitized not to be contained within
  remaining uris. Change this so that each uri in the
  union(remaining,spent) get saved once at most.  The order of the
  uris will won't be changed, with remaining uris going first followed
  by spent uris.

  Also avoid copying the uri std::strings around during dupe checking,
  usually resulting in better performance regarding CPU and space.

* Make getOption RPC method return option for stopped downloads

* SessionSerializer: Save spent URIs as well as remaining ones
  • Loading branch information
ryoon committed Jan 8, 2014
1 parent 16b42cc commit 8682a3a
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 33 deletions.
9 changes: 6 additions & 3 deletions net/aria2/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.46 2013/10/19 09:07:09 adam Exp $
# $NetBSD: Makefile,v 1.47 2014/01/08 16:32:30 ryoon Exp $
#

DISTNAME= aria2-1.17.1
PKGREVISION= 2
DISTNAME= aria2-1.18.2
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=aria2/}
EXTRACT_SUFX= .tar.bz2
Expand All @@ -12,6 +11,10 @@ HOMEPAGE= http://aria2.sourceforge.net/
COMMENT= Multi-threaded, multi-protocol, flexible download accelerator
LICENSE= gnu-gpl-v2

# Minimum requirement is 4.6.4, but lang/gcc46 is 4.6.3, then use 4.7
# See https://github.com/tatsuhiro-t/aria2/issues/144
GCC_REQD= 4.7

GNU_CONFIGURE= yes
USE_LIBTOOL= yes
USE_LANGUAGES= c c++
Expand Down
12 changes: 5 additions & 7 deletions net/aria2/distinfo
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
$NetBSD: distinfo,v 1.33 2013/06/09 02:11:34 ryoon Exp $
$NetBSD: distinfo,v 1.34 2014/01/08 16:32:30 ryoon Exp $

SHA1 (aria2-1.17.1.tar.bz2) = a40730013501554cdb0ce2b56a919f3ee971c06e
RMD160 (aria2-1.17.1.tar.bz2) = bab446a216fb450c8048587ab3bad24a1c383e73
Size (aria2-1.17.1.tar.bz2) = 2228357 bytes
SHA1 (patch-configure) = 9e962d552653eb221d7377a0789ac4675a5d5893
SHA1 (patch-configure.ac) = 64e3dfe642dde9b7cd78314dd18b421b41676f08
SHA1 (patch-src_IndexedList.h) = 098aa2110ff666255826110b3272a714128eb0e7
SHA1 (aria2-1.18.2.tar.bz2) = 2f04a17567e6b793420a517b3fb0511f12c76289
RMD160 (aria2-1.18.2.tar.bz2) = 9abeeecf7327211fce63f1a1fb49fe895fa39923
Size (aria2-1.18.2.tar.bz2) = 2099416 bytes
SHA1 (patch-configure) = 2c65fb587d9c52518104f3f1c1ad9102a6e107be
26 changes: 21 additions & 5 deletions net/aria2/patches/patch-configure
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
$NetBSD: patch-configure,v 1.1 2013/06/09 02:11:34 ryoon Exp $
$NetBSD: patch-configure,v 1.2 2014/01/08 16:32:30 ryoon Exp $

--- configure.orig 2013-05-26 07:24:31.000000000 +0000
--- configure.orig 2013-12-26 15:44:21.000000000 +0000
+++ configure
@@ -19195,7 +19195,7 @@ See \`config.log' for more details" "$LI
@@ -19872,13 +19872,13 @@ See \`config.log' for more details" "$LI
fi

use_md=""
-if test "x$have_osx" == "xyes"; then
+if test "x$have_osx" = "xyes"; then
-if test "x$have_appletls" == "xyes"; then
+if test "x$have_appletls" = "xyes"; then
use_md="apple"

$as_echo "#define USE_APPLE_MD 1" >>confdefs.h

else
- if test "x$have_wintls" == "xyes"; then
+ if test "x$have_wintls" = "xyes"; then
use_md="windows"

$as_echo "#define USE_WINDOWS_MD 1" >>confdefs.h
@@ -19913,7 +19913,7 @@ $as_echo "#define USE_INTERNAL_MD 1" >>c
fi

# Define variables based on the result of the checks for libraries.
-if test "x$have_appletls" = "xyes" || test "x$have_wintls" == "xyes" || test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then
+if test "x$have_appletls" = "xyes" || test "x$have_wintls" = "xyes" || test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then
have_ssl="yes"

$as_echo "#define ENABLE_SSL 1" >>confdefs.h
24 changes: 19 additions & 5 deletions net/aria2/patches/patch-configure.ac
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
$NetBSD: patch-configure.ac,v 1.1 2013/06/09 02:11:34 ryoon Exp $
$NetBSD: patch-configure.ac,v 1.2 2014/01/08 16:32:30 ryoon Exp $

--- configure.ac.orig 2013-05-26 07:23:55.000000000 +0000
--- configure.ac.orig 2013-12-26 15:43:58.000000000 +0000
+++ configure.ac
@@ -350,7 +350,7 @@ if test "x$with_libcares" = "xyes"; then
@@ -462,11 +462,11 @@ if test "x$with_libcares" = "xyes"; then
fi

use_md=""
-if test "x$have_osx" == "xyes"; then
+if test "x$have_osx" = "xyes"; then
-if test "x$have_appletls" == "xyes"; then
+if test "x$have_appletls" = "xyes"; then
use_md="apple"
AC_DEFINE([USE_APPLE_MD], [1], [What message digest implementation to use])
else
- if test "x$have_wintls" == "xyes"; then
+ if test "x$have_wintls" = "xyes"; then
use_md="windows"
AC_DEFINE([USE_WINDOWS_MD], [1], [What message digest implementation to use])
else
@@ -491,7 +491,7 @@ else
fi

# Define variables based on the result of the checks for libraries.
-if test "x$have_appletls" = "xyes" || test "x$have_wintls" == "xyes" || test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then
+if test "x$have_appletls" = "xyes" || test "x$have_wintls" = "xyes" || test "x$have_libgnutls" = "xyes" || test "x$have_openssl" = "xyes"; then
have_ssl="yes"
AC_DEFINE([ENABLE_SSL], [1], [Define to 1 if ssl support is enabled.])
AM_CONDITIONAL([ENABLE_SSL], true)
13 changes: 0 additions & 13 deletions net/aria2/patches/patch-src_IndexedList.h

This file was deleted.

0 comments on commit 8682a3a

Please sign in to comment.