forked from mirrors/nixpkgs
51ce297187
This allows youtube-dl to support all versions of python, and be built correctly even when the python version is overridden by the user. An alias to youtube-dl has been added which points to the default python version's youtube-dl. Also, ffmpeg has been made into an optional dependency. If ffmpeg is set to 'null' then it will not be built and there will be no wrapper for it either. An extra package, youtube-dl-light, is the same as youtube-dl but without the ffmpeg dependency.
41 lines
1.7 KiB
Nix
41 lines
1.7 KiB
Nix
{ stdenv, fetchurl, makeWrapper, buildPythonPackage, zip, ffmpeg
|
|
, pandoc ? null }:
|
|
|
|
# Pandoc is required to build the package's man page. Release tarballs
|
|
# contain a formatted man page already, though, so it's fine to pass
|
|
# "pandoc = null" to this derivation; the man page will still be
|
|
# installed. We keep the pandoc argument and build input in place in
|
|
# case someone wants to use this derivation to build a Git version of
|
|
# the tool that doesn't have the formatted man page included.
|
|
|
|
buildPythonPackage rec {
|
|
name = "youtube-dl-${version}";
|
|
version = "2015.05.29";
|
|
|
|
src = fetchurl {
|
|
url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
|
|
sha256 = "0lgxir2i5ipplg57wk8gnbbsdrk7szqnyb1bxr97f3h0rbm4dfij";
|
|
};
|
|
|
|
buildInputs = [ makeWrapper zip pandoc ];
|
|
|
|
# Ensure ffmpeg is available in $PATH for post-processing & transcoding support.
|
|
postInstall = stdenv.lib.optionalString (ffmpeg != null)
|
|
''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg}/bin"'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "http://rg3.github.com/youtube-dl/";
|
|
repositories.git = https://github.com/rg3/youtube-dl.git;
|
|
description = "Command-line tool to download videos from YouTube.com and other sites";
|
|
longDescription = ''
|
|
youtube-dl is a small, Python-based command-line program
|
|
to download videos from YouTube.com and a few more sites.
|
|
youtube-dl is released to the public domain, which means
|
|
you can modify it, redistribute it or use it however you like.
|
|
'';
|
|
license = licenses.publicDomain;
|
|
platforms = with platforms; linux ++ darwin;
|
|
maintainers = with maintainers; [ bluescreen303 simons phreedom AndersonTorres fuuzetsu ];
|
|
};
|
|
}
|