about summary refs log tree commit diff
path: root/pkgs/by-name/sa/sabnzbd/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/sa/sabnzbd/package.nix')
-rw-r--r--pkgs/by-name/sa/sabnzbd/package.nix128
1 files changed, 78 insertions, 50 deletions
diff --git a/pkgs/by-name/sa/sabnzbd/package.nix b/pkgs/by-name/sa/sabnzbd/package.nix
index 5eac94f6aa6e7..63b5df4b5962b 100644
--- a/pkgs/by-name/sa/sabnzbd/package.nix
+++ b/pkgs/by-name/sa/sabnzbd/package.nix
@@ -1,53 +1,77 @@
-{ lib, stdenv
-, coreutils
-, fetchFromGitHub
-, python3
-, par2cmdline-turbo
-, unzip
-, unrar
-, p7zip
-, util-linux
-, makeWrapper
-, nixosTests
+{
+  lib,
+  stdenv,
+  coreutils,
+  fetchFromGitHub,
+  fetchPypi,
+  python3,
+  par2cmdline-turbo,
+  unzip,
+  unrar,
+  p7zip,
+  util-linux,
+  makeWrapper,
+  nixosTests,
 }:
 
 let
-  pythonEnv = python3.withPackages(ps: with ps; [
-    apprise
-    babelfish
-    cffi
-    chardet
-    cheetah3
-    cheroot
-    cherrypy
-    configobj
-    cryptography
-    feedparser
-    guessit
-    jaraco-classes
-    jaraco-collections
-    jaraco-context
-    jaraco-functools
-    jaraco-text
-    more-itertools
-    notify2
-    orjson
-    portend
-    puremagic
-    pycparser
-    pysocks
-    python-dateutil
-    pytz
-    rebulk
-    sabctools
-    sabyenc3
-    sgmllib3k
-    six
-    tempora
-    zc-lockfile
-  ]);
-  path = lib.makeBinPath [ coreutils par2cmdline-turbo unrar unzip p7zip util-linux ];
-in stdenv.mkDerivation rec {
+  sabctoolsVersion = "8.2.0";
+  sabctoolsHash = "sha256-dOMNZoKWQxHJt6yHiNKVtpnYvLJkK8nktOm+djsSTcM=";
+
+  pythonEnv = python3.withPackages (
+    ps: with ps; [
+      apprise
+      babelfish
+      cffi
+      chardet
+      cheetah3
+      cheroot
+      cherrypy
+      configobj
+      cryptography
+      feedparser
+      guessit
+      jaraco-classes
+      jaraco-collections
+      jaraco-context
+      jaraco-functools
+      jaraco-text
+      more-itertools
+      notify2
+      orjson
+      portend
+      puremagic
+      pycparser
+      pysocks
+      python-dateutil
+      pytz
+      rebulk
+      # sabnzbd requires a specific version of sabctools
+      (sabctools.overridePythonAttrs (old: {
+        version = sabctoolsVersion;
+        src = fetchPypi {
+          pname = "sabctools";
+          version = sabctoolsVersion;
+          hash = sabctoolsHash;
+        };
+      }))
+      sabyenc3
+      sgmllib3k
+      six
+      tempora
+      zc-lockfile
+    ]
+  );
+  path = lib.makeBinPath [
+    coreutils
+    par2cmdline-turbo
+    unrar
+    unzip
+    p7zip
+    util-linux
+  ];
+in
+stdenv.mkDerivation rec {
   version = "4.3.2";
   pname = "sabnzbd";
 
@@ -74,8 +98,9 @@ in stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  passthru.tests = {
-    smoke-test = nixosTests.sabnzbd;
+  passthru = {
+    tests.smoke-test = nixosTests.sabnzbd;
+    updateScript = ./update.sh;
   };
 
   meta = with lib; {
@@ -83,7 +108,10 @@ in stdenv.mkDerivation rec {
     homepage = "https://sabnzbd.org";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with lib.maintainers; [ jojosch adamcstephens ];
+    maintainers = with lib.maintainers; [
+      jojosch
+      adamcstephens
+    ];
     mainProgram = "sabnzbd";
   };
 }