nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
2018-11-05 00:21:08 +01:00

52 lines
1.5 KiB
Nix

{ stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip
, rtmpdump, gitMinimal }:
let
inherit (python3Packages) python nose pycrypto pyyaml requests mock;
in stdenv.mkDerivation rec {
name = "svtplay-dl-${version}";
version = "2.1";
src = fetchFromGitHub {
owner = "spaam";
repo = "svtplay-dl";
rev = version;
sha256 = "1cnc32gbhs955391hs1x1jpjsl3b6pqy7ysdydmp9q1i2rw105ln";
};
pythonPaths = [ pycrypto pyyaml requests ];
buildInputs = [ python perl nose mock rtmpdump makeWrapper ] ++ pythonPaths;
nativeBuildInputs = [ gitMinimal zip ];
postPatch = ''
substituteInPlace lib/svtplay_dl/fetcher/rtmp.py \
--replace '"rtmpdump"' '"${rtmpdump}/bin/rtmpdump"'
substituteInPlace scripts/run-tests.sh \
--replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
'';
makeFlags = "PREFIX=$(out) SYSCONFDIR=$(out)/etc PYTHON=${python.interpreter}";
postInstall = ''
wrapProgram "$out/bin/svtplay-dl" \
--prefix PYTHONPATH : "$PYTHONPATH"
'';
doCheck = true;
checkPhase = ''
sed -i "/def test_parse_m3u8/i\\
@unittest.skip('requires internet')" lib/svtplay_dl/tests/hls.py
sh scripts/run-tests.sh -2
'';
meta = with stdenv.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 = stdenv.lib.platforms.linux;
maintainers = [ maintainers.rycee ];
};
}