Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / get_iplayer / default.nix
blob240370297d10b005496e77d4b4eafe7bd422c2f7
1 { lib
2 , perlPackages
3 , fetchFromGitHub
4 , makeWrapper
5 , stdenv
6 , shortenPerlShebang
7 , perl
8 , atomicparsley
9 , ffmpeg
12 perlPackages.buildPerlPackage rec {
13   pname = "get_iplayer";
14   version = "3.34";
16   src = fetchFromGitHub {
17     owner = "get-iplayer";
18     repo = "get_iplayer";
19     rev = "v${version}";
20     hash = "sha256-KuDNngHOoeEHJExEHoLdNO95ZUvLx8TWiAOTmRKHtmQ=";
21   };
23   nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
24   buildInputs = [ perl ];
25   propagatedBuildInputs = with perlPackages; [
26     LWP LWPProtocolHttps XMLLibXML Mojolicious
27   ];
29   preConfigure = "touch Makefile.PL";
30   doCheck = false;
31   outputs = [ "out" "man" ];
33   installPhase = ''
34     runHook preInstall
36     install -D get_iplayer -t $out/bin
37     wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg ]} --prefix PERL5LIB : $PERL5LIB
38     install -D get_iplayer.1 -t $out/share/man/man1
40     runHook postInstall
41   '';
43   postInstall = lib.optionalString stdenv.isDarwin ''
44     shortenPerlShebang $out/bin/.get_iplayer-wrapped
45   '';
47   meta = with lib; {
48     description = "Downloads TV and radio programmes from BBC iPlayer and BBC Sounds";
49     license = licenses.gpl3Plus;
50     homepage = "https://github.com/get-iplayer/get_iplayer";
51     platforms = platforms.all;
52     maintainers = with maintainers; [ rika jgarcia ];
53   };