54 lines
1.5 KiB
Nix
54 lines
1.5 KiB
Nix
{ lib
|
|
, pythonPackages
|
|
, fetchurl
|
|
, transmission
|
|
, deluge
|
|
, config
|
|
}:
|
|
|
|
with pythonPackages;
|
|
|
|
buildPythonPackage rec {
|
|
version = "2.8.17";
|
|
name = "FlexGet-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/Flexget/Flexget/archive/${version}.tar.gz";
|
|
sha256 = "925e6bf62dfae73194dbf8b963ff2b60fb500f2457463b744086706da94dabd7";
|
|
};
|
|
|
|
doCheck = true;
|
|
# test_regexp requires that HOME exist, test_filesystem requires a
|
|
# unicode-capable filesystem (and setting LC_ALL doesn't work).
|
|
# setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
|
|
patchPhase = ''
|
|
sed -i '/def test_non_ascii/i\ import pytest\
|
|
@pytest.mark.skip' flexget/tests/test_filesystem.py
|
|
'';
|
|
checkPhase = ''
|
|
export HOME=.
|
|
py.test
|
|
'';
|
|
|
|
buildInputs = [ pytest mock vcrpy pytest-catchlog boto3 ];
|
|
propagatedBuildInputs = [
|
|
feedparser sqlalchemy pyyaml
|
|
beautifulsoup4 html5lib pyrss2gen pynzb
|
|
rpyc jinja2 requests2 dateutil jsonschema
|
|
pathpy pathlib guessit apscheduler
|
|
terminaltables colorclass
|
|
cherrypy flask flask-restful flask-restplus
|
|
flask-compress flask_login flask-cors
|
|
pyparsing safe future ]
|
|
# enable deluge and transmission plugin support, if they're installed
|
|
++ lib.optional (config.deluge or false) deluge
|
|
++ lib.optional (transmission != null) transmissionrpc;
|
|
|
|
meta = {
|
|
homepage = http://flexget.com/;
|
|
description = "Multipurpose automation tool for content like torrents";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ domenkozar tari ];
|
|
};
|
|
}
|