nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 pkg-config,
6 autoreconfHook,
7 gnutls,
8 c-ares,
9 libxml2,
10 sqlite,
11 zlib,
12 libssh2,
13 cppunit,
14 sphinx,
15 nixosTests,
16}:
17
18stdenv.mkDerivation (finalAttrs: {
19 pname = "aria2";
20 version = "1.37.0";
21
22 src = fetchFromGitHub {
23 owner = "aria2";
24 repo = "aria2";
25 rev = "release-${finalAttrs.version}";
26 sha256 = "sha256-xbiNSg/Z+CA0x0DQfMNsWdA+TATyX6dCeW2Nf3L3Kfs=";
27 };
28
29 strictDeps = true;
30 nativeBuildInputs = [
31 pkg-config
32 autoreconfHook
33 sphinx
34 ];
35
36 buildInputs = [
37 gnutls
38 c-ares
39 libxml2
40 sqlite
41 zlib
42 libssh2
43 ];
44
45 outputs = [
46 "bin"
47 "dev"
48 "out"
49 "doc"
50 "man"
51 ];
52
53 configureFlags = [
54 "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
55 "--enable-libaria2"
56 "--with-bashcompletiondir=${placeholder "bin"}/share/bash-completion/completions"
57 ];
58
59 prePatch = ''
60 patchShebangs --build doc/manual-src/en/mkapiref.py
61 '';
62
63 nativeCheckInputs = [ cppunit ];
64 doCheck = false; # needs the net
65
66 enableParallelBuilding = true;
67
68 passthru.tests = {
69 aria2 = nixosTests.aria2;
70 };
71
72 meta = {
73 homepage = "https://aria2.github.io";
74 changelog = "https://github.com/aria2/aria2/releases/tag/release-${finalAttrs.version}";
75 description = "Lightweight, multi-protocol, multi-source, command-line download utility";
76 mainProgram = "aria2c";
77 license = lib.licenses.gpl2Plus;
78 platforms = lib.platforms.unix;
79 maintainers = with lib.maintainers; [
80 koral
81 timhae
82 ];
83 };
84})