summary refs log tree commit diff
path: root/pkgs/tools/misc/svtplay-dl
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/svtplay-dl')
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix60
1 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
new file mode 100644
index 00000000000..ad045aa1d92
--- /dev/null
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -0,0 +1,60 @@
+{ lib, stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip
+, gitMinimal, ffmpeg }:
+
+let
+
+  inherit (python3Packages)
+    python pytest nose cryptography pyyaml requests mock requests-mock
+    python-dateutil setuptools;
+
+in stdenv.mkDerivation rec {
+  pname = "svtplay-dl";
+  version = "4.10";
+
+  src = fetchFromGitHub {
+    owner = "spaam";
+    repo = "svtplay-dl";
+    rev = version;
+    sha256 = "sha256-JK/JtGDmmTJ+g0kmM7mSJi7+/N552GKtlMkh7quOBjo=";
+  };
+
+  pythonPaths = [ cryptography pyyaml requests ];
+  buildInputs = [ python perl python-dateutil setuptools ] ++ pythonPaths;
+  nativeBuildInputs = [ gitMinimal zip makeWrapper ];
+  checkInputs = [ nose pytest mock requests-mock ];
+
+  postPatch = ''
+    substituteInPlace scripts/run-tests.sh \
+      --replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
+
+    sed -i '/def test_sublang2\?(/ i\    @unittest.skip("accesses network")' \
+      lib/svtplay_dl/tests/test_postprocess.py
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc" "PYTHON=${python.interpreter}" ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/svtplay-dl" \
+      --prefix PATH : "${ffmpeg}" \
+      --prefix PYTHONPATH : "$PYTHONPATH"
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    sh scripts/run-tests.sh -2
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/svtplay-dl --help > /dev/null
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/spaam/svtplay-dl";
+    description = "Command-line tool to download videos from svtplay.se and other sites";
+    license = licenses.mit;
+    platforms = lib.platforms.unix;
+  };
+}