summary refs log tree commit diff
path: root/pkgs/applications/networking/flexget
diff options
context:
space:
mode:
authorrnhmjoj <rnhmjoj@inventati.org>2018-02-25 17:49:36 +0100
committerrnhmjoj <rnhmjoj@inventati.org>2018-03-14 21:00:31 +0100
commitcf188440c5fa8f485f0047254dd2f196e9a15bd4 (patch)
treeb8617a5a9c5cac37e3a90189e850a300e694dc91 /pkgs/applications/networking/flexget
parentf13f8c953728fc3687196bc532ca14e9f2a4eb32 (diff)
downloadnixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.tar
nixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.tar.gz
nixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.tar.bz2
nixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.tar.lz
nixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.tar.xz
nixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.tar.zst
nixpkgs-cf188440c5fa8f485f0047254dd2f196e9a15bd4.zip
flexget: 2.10.82 -> 2.13.5
Diffstat (limited to 'pkgs/applications/networking/flexget')
-rw-r--r--pkgs/applications/networking/flexget/default.nix109
1 files changed, 48 insertions, 61 deletions
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 585e0c847da..b828a49c064 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -1,80 +1,67 @@
-{ lib
-, fetchFromGitHub
-, python
-, transmission
-, deluge
-, config
+{ lib, python
+, delugeSupport ? true, deluge ? null
 }:
 
-with python.pkgs;
+assert delugeSupport -> deluge != null;
+
+let
+  python' = python.override { inherit packageOverrides; };
+
+  packageOverrides = self: super: {
+    sqlalchemy = super.sqlalchemy.overridePythonAttrs (old: rec {
+      version = "1.1.10";
+      src = old.src.override {
+        inherit version;
+        sha256 = "1lvb14qclrx0qf6qqx8a8hkx5akk5lk3dvcqz8760v9hya52pnfv";
+      };
+    });
+  };
+
+in
+
+with python'.pkgs;
 
 buildPythonApplication rec {
-  version = "2.10.82";
-  name = "FlexGet-${version}";
+  pname = "FlexGet";
+  version = "2.13.5";
 
-  src = fetchFromGitHub {
-    owner = "Flexget";
-    repo = "Flexget";
-    rev = version;
-    sha256 = "15508ihswfjbkzhf1f0qhn2ar1aiibz2ggp5d6r33icy8xwhpv09";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lkmxwy7k4zlcqpigwk8skc2zi8a70vrw21pz80wvmf9yg0wc9z9";
   };
 
-  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)
   postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "chardet==3.0.3" "chardet" \
-      --replace "rebulk==0.8.2" "rebulk" \
-      --replace "cherrypy==10.2.2" "cherrypy" \
-      --replace "portend==1.8" "portend" \
-      --replace "sqlalchemy==1.1.10" "sqlalchemy" \
-      --replace "zxcvbn-python==4.4.15" "zxcvbn-python" \
-      --replace "flask-cors==3.0.2" "flask-cors" \
-      --replace "certifi==2017.4.17" "certifi" \
-      --replace "apscheduler==3.3.1" "apscheduler" \
-      --replace "path.py==10.3.1" "path.py" \
-      --replace "tempora==1.8" "tempora" \
-      --replace "cheroot==5.5.0" "cheroot" \
-      --replace "six==1.10.0" "six" \
-      --replace "aniso8601==1.2.1" "aniso8601"
+    # remove dependency constraints
+    sed 's/==\([0-9]\.\?\)\+//' -i requirements.txt
   '';
 
-  checkPhase = ''
-    export HOME=.
-    py.test --disable-pytest-warnings -k "not test_quality_failures \
-                                          and not test_group_quality \
-                                          and not crash_report \
-                                          and not test_multi_episode \
-                                          and not test_double_episodes \
-                                          and not test_inject_force \
-                                          and not test_double_prefered \
-                                          and not test_double \
-                                          and not test_non_ascii"
-  '';
+  # ~400 failures
+  doCheck = false;
 
-  buildInputs = [ pytest mock vcrpy pytest-catchlog boto3 ];
   propagatedBuildInputs = [
-    feedparser sqlalchemy pyyaml chardet
-    beautifulsoup4 html5lib PyRSS2Gen pynzb
-    rpyc jinja2 jsonschema requests dateutil jsonschema
+    feedparser sqlalchemy pyyaml
+    chardet beautifulsoup4 html5lib
+    PyRSS2Gen pynzb rpyc jinja2
+    jsonschema requests dateutil
     pathpy guessit_2_0 APScheduler
     terminaltables colorclass
-    cherrypy flask flask-restful flask-restplus
-    flask-compress flask_login flask-cors
-    pyparsing safe future zxcvbn-python
-    werkzeug tempora cheroot rebulk portend
+    cherrypy flask flask-restful
+    flask-restplus flask-compress
+    flask_login flask-cors safe
+    pyparsing future zxcvbn-python
+    werkzeug tempora cheroot rebulk
+    portend transmissionrpc aniso8601
+    babelfish certifi click futures
+    idna itsdangerous markupsafe
+    plumbum pytz six tzlocal urllib3
+    webencodings werkzeug zxcvbn-python
   ] ++ lib.optional (pythonOlder "3.4") pathlib
-    # enable deluge and transmission plugin support, if they're installed
-    ++ lib.optional (config.deluge or false) deluge
-    ++ lib.optional (transmission != null) transmissionrpc;
+    ++ lib.optional delugeSupport deluge;
 
-  meta = {
-    homepage = https://flexget.com/;
+  meta = with lib; {
+    homepage    = https://flexget.com/;
     description = "Multipurpose automation tool for content like torrents";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ domenkozar tari ];
-    broken = true; # as of 2018-02-09
+    license     = licenses.mit;
+    maintainers = with maintainers; [ domenkozar tari ];
   };
 }