summary refs log tree commit diff
path: root/pkgs/applications/networking/pyload/default.nix
blob: f70359cf7ac2855a8223a72b815223fefe5003b0 (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
{ lib, fetchFromGitHub, fetchpatch, pythonPackages, gocr, unrar, rhino, spidermonkey_38 }:

let
  beautifulsoup = pythonPackages.callPackage ./beautifulsoup.nix {
    inherit pythonPackages;
  };

in pythonPackages.buildPythonApplication rec {
  version = "0.4.9-next";
  name = "pyLoad-" + version;

  src = fetchFromGitHub {
    owner = "pyload";
    repo = "pyload";
    rev = "721ea9f089217b9cb0f2799c051116421faac081";
    sha256 = "1ad4r9slx1wgvd2fs4plfbpzi4i2l2bk0lybzsb2ncgh59m87h54";
  };

  patches =
    let
      # gets merged in next release version of pyload
      configParserPatch = fetchpatch {
        url = "https://patch-diff.githubusercontent.com/raw/pyload/pyload/pull/2625.diff";
        sha256 = "1bisgx78kcr5c0x0i3h0ch5mykns5wx5wx7gvjj0pc71lfzlxzb9";
      };
      setupPyPatch = fetchpatch {
        url = "https://patch-diff.githubusercontent.com/raw/pyload/pyload/pull/2638.diff";
        sha256 = "006g4qbl582262ariflbyfrszcx8ck2ac1cpry1f82f76p4cgf6z";
      };
    in [ configParserPatch setupPyPatch ];

  buildInputs = [
    unrar rhino spidermonkey_38 gocr pythonPackages.paver
  ];

  propagatedBuildInputs = with pythonPackages; [
    pycurl jinja2 beaker thrift simplejson pycrypto feedparser tkinter
    beautifulsoup send2trash
  ];

  #remove this once the PR patches above are merged. Needed because githubs diff endpoint
  #does not support diff -N
  prePatch = ''
    touch module/config/__init__.py
  '';

  preBuild = ''
    ${pythonPackages.paver}/bin/paver generate_setup
  '';

  doCheck = false;

  meta = with lib; {
    description = "Free and open source downloader for 1-click-hosting sites";
    homepage = "https://github.com/pyload/pyload";
    license = licenses.gpl3;
    maintainers = [ maintainers.mahe ];
    platforms = platforms.all;
  };
}