youtube-dl: wrap with atomicparsley (#18066)

Otherwise --embed-thumbnail will crash youtube-dl while running.
Rewrite the module arguments to be semantic and not fail with null
pointer errors.
This commit is contained in:
Profpatsch
2016-08-30 14:36:16 +02:00
committed by Franz Pletz
parent f254db331e
commit e1e96a8210
2 changed files with 20 additions and 21 deletions
+18 -12
View File
@@ -1,13 +1,15 @@
{ stdenv, fetchurl, buildPythonApplication, makeWrapper, ffmpeg, zip { stdenv, fetchurl, buildPythonApplication, makeWrapper, zip, ffmpeg, pandoc
, pandoc ? null , atomicparsley
# Pandoc is required to build the package's man page. Release tarballs contain a
# formatted man page already, though, it will still be installed. We keep the
# manpage argument 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.
, generateManPage ? false
, ffmpegSupport ? true
}: }:
# Pandoc is required to build the package's man page. Release tarballs with stdenv.lib;
# 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.
buildPythonApplication rec { buildPythonApplication rec {
@@ -19,16 +21,20 @@ buildPythonApplication rec {
sha256 = "017x2hqc2bacypjmn9ac9f91y9y6afydl0z7dich5l627494hvfg"; sha256 = "017x2hqc2bacypjmn9ac9f91y9y6afydl0z7dich5l627494hvfg";
}; };
buildInputs = [ makeWrapper zip pandoc ]; buildInputs = [ makeWrapper zip ] ++ optional generateManPage pandoc;
# Ensure ffmpeg is available in $PATH for post-processing & transcoding support. # Ensure ffmpeg is available in $PATH for post-processing & transcoding support.
postInstall = stdenv.lib.optionalString (ffmpeg != null) # atomicparsley for embedding thumbnails
''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg.bin}/bin"''; postInstall = let
packagesthatwillbeusedbelow = [ atomicparsley ] ++ optional ffmpegSupport ffmpeg;
in ''
wrapProgram $out/bin/youtube-dl --prefix PATH : "${makeBinPath packagesthatwillbeusedbelow}"
'';
# Requires network # Requires network
doCheck = false; doCheck = false;
meta = with stdenv.lib; { meta = {
homepage = http://rg3.github.io/youtube-dl/; homepage = http://rg3.github.io/youtube-dl/;
repositories.git = https://github.com/rg3/youtube-dl.git; repositories.git = https://github.com/rg3/youtube-dl.git;
description = "Command-line tool to download videos from YouTube.com and other sites"; description = "Command-line tool to download videos from YouTube.com and other sites";
+2 -9
View File
@@ -25188,17 +25188,10 @@ in modules // {
}; };
}; };
youtube-dl = callPackage ../tools/misc/youtube-dl { youtube-dl = callPackage ../tools/misc/youtube-dl {};
# Release versions don't need pandoc because the formatted man page
# is included in the tarball.
pandoc = null;
};
youtube-dl-light = callPackage ../tools/misc/youtube-dl { youtube-dl-light = callPackage ../tools/misc/youtube-dl {
# Release versions don't need pandoc because the formatted man page ffmpegSupport = false;
# is included in the tarball.
ffmpeg = null;
pandoc = null;
}; };
zbase32 = buildPythonPackage (rec { zbase32 = buildPythonPackage (rec {