nixpkgs/pkgs/applications/networking/flexget/default.nix
2017-05-01 10:10:34 +02:00

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 ];
};
}