summary refs log tree commit diff
path: root/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
blob: c7a05f37ca80f516b58bba74d2e1ddc05435aad2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qt4, boost, bzip2, libX11
, fetchpatch, libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext }:

stdenv.mkDerivation rec {
  pname = "eiskaltdcpp";
  version = "2.2.10";

  src = fetchFromGitHub {
    owner = "eiskaltdcpp";
    repo = "eiskaltdcpp";
    rev = "v${version}";
    sha256 = "1mqz0g69njmlghcra3izarjxbxi1jrhiwn4ww94b8jv8xb9cv682";
  };

  nativeBuildInputs = [ cmake pkg-config ];
  buildInputs = [ qt4 boost bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext ]
    ++ lib.optional stdenv.isDarwin libiconv;

  patches = [
    (fetchpatch {
      url = "https://github.com/eiskaltdcpp/eiskaltdcpp/commit/3b7b56bd7060b426b1f1bfded392ae6853644e2e.patch";
      sha256 = "1rqjdsvirn3ks9w9qn893fb73mz84xm04wl13fvsvj8p42i5cjas";
    })
    (fetchpatch {
      url = "https://github.com/eiskaltdcpp/eiskaltdcpp/commit/bb9eb364a943fe2a67b3ea52ec6a3f9e911f07dc.patch";
      sha256 = "1hjhf9a9j4z8v24g5qh5mcg3n0540lbn85y7kvxsh3khc5v3cywx";
    })
    (fetchpatch {
      url = "https://github.com/eiskaltdcpp/eiskaltdcpp/commit/ef4426f1f9a8255e335b0862234e6cc28befef5e.patch";
      sha256 = "13j018c499n4b5as2n39ws64yj0cf4fskxbqab309vmnjkirxv6x";
    })
    (fetchpatch {
      url = "https://github.com/eiskaltdcpp/eiskaltdcpp/commit/a9c136c8707280d0eeb66be6b289d9718287c55c.patch";
      sha256 = "0w8v4mbrzk7pmzc475ff96mzzwlh8a0p62kk7p829m5yqdwj4sc9";
    })
    (fetchpatch {
      url = "https://github.com/eiskaltdcpp/eiskaltdcpp/commit/3b9c502ff5c98856d4f8fdb7ed3c6ef34448bfb7.patch";
      sha256 = "0fjwaq0wd9a164k5ysdjy89hx0ixnxc6q7cvyn1ba28snm0pgxb8";
    })
  ];

  cmakeFlags = [
    "-DUSE_ASPELL=ON"
    "-DUSE_QT_QML=ON"
    "-DFREE_SPACE_BAR_C=ON"
    "-DUSE_MINIUPNP=ON"
    "-DLOCAL_MINIUPNP=ON"
    "-DDBUS_NOTIFY=ON"
    "-DUSE_JS=ON"
    "-DPERL_REGEX=ON"
    "-DUSE_CLI_XMLRPC=ON"
    "-DWITH_SOUNDS=ON"
    "-DLUA_SCRIPT=ON"
    "-DWITH_LUASCRIPTS=ON"
  ];

  meta = with lib; {
    description = "A cross-platform program that uses the Direct Connect and ADC protocols";
    homepage = "https://github.com/eiskaltdcpp/eiskaltdcpp";
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
  };
}