1{ lib, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, perlPackages, rtmpdump}:
2
3perlPackages.buildPerlPackage rec {
4 pname = "get_iplayer";
5 version = "3.31";
6
7 src = fetchFromGitHub {
8 owner = "get-iplayer";
9 repo = "get_iplayer";
10 rev = "v${version}";
11 sha256 = "+ChCF27nmPKbqaZVxsZ6TlbzSdEz6RfMs87NE8xaSRw=";
12 };
13
14 nativeBuildInputs = [ makeWrapper ];
15 buildInputs = [ perl ];
16 propagatedBuildInputs = with perlPackages; [
17 HTMLParser HTTPCookies LWP LWPProtocolHttps XMLLibXML XMLSimple Mojolicious
18 ];
19
20 preConfigure = "touch Makefile.PL";
21 doCheck = false;
22 outputs = [ "out" "man" ];
23
24 installPhase = ''
25 mkdir -p $out/bin $out/share/man/man1
26 cp get_iplayer $out/bin
27 wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB
28 cp get_iplayer.1 $out/share/man/man1
29 '';
30
31 meta = with lib; {
32 description = "Downloads TV and radio from BBC iPlayer";
33 license = licenses.gpl3Plus;
34 homepage = "https://squarepenguin.co.uk/";
35 platforms = platforms.all;
36 maintainers = with maintainers; [ rika ];
37 };
38
39}