nixpkgs/pkgs/applications/networking/flexget/default.nix
2021-10-19 00:21:33 +00:00

76 lines
1.7 KiB
Nix

{ lib, python3Packages, fetchFromGitHub }:
python3Packages.buildPythonApplication rec {
pname = "flexget";
version = "3.1.140";
# Fetch from GitHub in order to use `requirements.in`
src = fetchFromGitHub {
owner = "flexget";
repo = "flexget";
rev = "v${version}";
sha256 = "15ngmpqqx902l7gxg2lb6h8q8vmjk247jbqhc92l1apr1imjqcc5";
};
postPatch = ''
# Symlink requirements.in because upstream uses `pip-compile` which yields
# python-version dependent requirements
ln -sf requirements.in requirements.txt
# remove dependency constraints
sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt
# "zxcvbn-python" was renamed to "zxcvbn", and we don't have the former in
# nixpkgs. See: https://github.com/NixOS/nixpkgs/issues/62110
substituteInPlace requirements.txt --replace "zxcvbn-python" "zxcvbn"
'';
# ~400 failures
doCheck = false;
propagatedBuildInputs = with python3Packages; [
# See https://github.com/Flexget/Flexget/blob/master/requirements.in
APScheduler
beautifulsoup4
cherrypy
colorama
colorclass
feedparser
flask-compress
flask-cors
flask_login
flask-restful
flask-restx
flask
greenlet
guessit
html5lib
jinja2
jsonschema
loguru
more-itertools
progressbar
pynzb
pyparsing
PyRSS2Gen
python-dateutil
pyyaml
rebulk
requests
rpyc
sgmllib3k
sqlalchemy
terminaltables
zxcvbn
psutil
# plugins
transmission-rpc
];
meta = with lib; {
homepage = "https://flexget.com/";
description = "Multipurpose automation tool for all of your media";
license = licenses.mit;
maintainers = with maintainers; [ marsam ];
};
}