Skip to content

feat: add aria2-next CMake build support with Aria2-Pro feature patches - #32

Open
reggae7717 wants to merge 4 commits into
P3TERX:masterfrom
reggae7717:feat/aria2-next-support
Open

reggae7717 wants to merge 4 commits into
P3TERX:masterfrom
reggae7717:feat/aria2-next-support

Conversation

@reggae7717

Copy link
Copy Markdown

Summary

Add CMake build support for aria2-next — a maintained aria2 fork with extensive bug fixes, ED2K support, and modernized architecture — alongside the existing Autotools build.

Changes

Build system

  • Add aria2-next CMake build path (detectable via ARIA2_BUILD_SYSTEM=cmake)
  • Add dedicated build scripts: aria2-next-gnu-linux-build.sh and cross variants
  • Auto-select generator: Ninja → Samurai → Unix Makefiles
  • Update Dockerfile default to debian:12 with CMake build-arg support
  • Update CI workflow with aria2-next matrix entry

aria2-pro feature patches for aria2-next

  • 0001 — unlock max-connection-per-server limit, lower min-split-size to 1K, disable Want-Digest by default
  • 0002 — retry on slow speed and connection close
  • 0003 — retry on HTTP 400/403/406/unknown status codes
  • 0004 — lower piece-length minimum to 1K
  • 0005 — filter implicit -R rpath flags from pkg-config imported targets (CMake fix)

Dependency updates

  • Update to aria2-next baseline: OpenSSL 3.5.6, c-ares 1.34.5, SQLite 3.53.1, libssh2 1.11.1, zlib 1.3.2, expat 2.8.1
  • Fix OpenSSL arch selection (x86_64 → linux-x86_64, aarch64 → linux-aarch64)
  • Fix SQLite 3.53.1 --disable-dynamic-extensions removal
  • Fix libssh2 .tar.bz2 extraction (gzip → bzip2)
  • Add lib64/pkgconfig path for OpenSSL 3.x on x86_64
  • Add --with-crypto=openssl to libssh2 configure

Documentation

  • Updated README with aria2-next build instructions (static and dynamic)
  • Added aria2-next section to external links

Verification

  • All 5 patches pass git apply --check against aria2-next main (commit 8f1a1cde)
  • Shell scripts pass bash -n
  • Docker build produces working aria2-next binary (v2.5.6)
  • ELF verified: statically linked binary
  • Options --retry-on-400/403/406/unknown present in --help=#http

Super User and others added 2 commits August 20, 2026 00:29
- Add aria2-next CMake build path alongside existing Autotools build
- Add dedicated build scripts for native and cross targets
- Add aria2-pro feature patches adapted for aria2-next:
  - unlock connection-per-server limit
  - lower min-split-size/piece-length to 1 KiB
  - retry on slow speed, connection close, HTTP 400/403/406/unknown
  - disable Want-Digest HTTP header by default
  - filter implicit -R rpath flags from pkg-config imported targets
- Update dependencies to aria2-next baseline versions
- Fix OpenSSL arch selection, SQLite config, libssh2 bzip2 extraction
- Update Dockerfile to ubuntu:24.04 with CMake build-arg support
- Update CI workflow to include aria2-next matrix entry
- Update README with aria2-next build instructions

Co-authored-by: P3TERX <p3terx@users.noreply.github.com>
Co-authored-by: myfreeer <myfreeer@users.noreply.github.com>
The Dockerfile sets ENV ARIA2_REF=master which overrides the ${var:-main}
default in the build scripts. Hardcode the values so the aria2-next build
always clones the correct branch regardless of Docker ENV.
@reggae7717
reggae7717 force-pushed the feat/aria2-next-support branch from 832565c to 3db020d Compare August 19, 2026 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant