nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
2018-01-14 20:46:29 +01:00

52 lines
1.4 KiB
Nix

{ stdenv, fetchFromGitHub, makeWrapper, pythonPackages, perl, zip
, rtmpdump, substituteAll }:
let
inherit (pythonPackages) python nose pycrypto requests mock;
in stdenv.mkDerivation rec {
name = "svtplay-dl-${version}";
version = "1.9.7";
src = fetchFromGitHub {
owner = "spaam";
repo = "svtplay-dl";
rev = version;
sha256 = "0zj102ir08s9knqqv8y6vy9rkrgk77xs7kqp00v9fzrlqyspf68r";
};
pythonPaths = [ pycrypto requests ];
buildInputs = [ python perl nose mock rtmpdump makeWrapper ] ++ pythonPaths;
nativeBuildInputs = [ 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 ];
};
}