1{
2 lib,
3 stdenv,
4 fetchurl,
5 makeWrapper,
6 coreutils,
7 ffmpeg,
8 gawk,
9 gnugrep,
10 gnused,
11 imagemagick,
12 mplayer,
13 util-linux,
14 getopt,
15 dejavu_fonts,
16}:
17let
18 version = "1.13.4";
19 gopt = if stdenv.hostPlatform.isLinux then util-linux else getopt;
20 runtimeDeps = [
21 coreutils
22 ffmpeg
23 gawk
24 gnugrep
25 gnused
26 imagemagick
27 mplayer
28 gopt
29 ];
30in
31stdenv.mkDerivation {
32 pname = "vcs";
33 inherit version;
34 src = fetchurl {
35 url = "http://p.outlyer.net/files/vcs/vcs-${version}.bash";
36 sha256 = "0nhwcpffp3skz24kdfg4445i6j37ks6a0qsbpfd3dbi4vnpa60a0";
37 };
38
39 unpackCmd = "mkdir src; cp $curSrc src/vcs";
40 patches = [ ./fonts.patch ];
41 nativeBuildInputs = [ makeWrapper ];
42
43 inherit dejavu_fonts;
44 installPhase = ''
45 mkdir -p $out/bin
46 mv vcs $out/bin/vcs
47 substituteAllInPlace $out/bin/vcs
48 chmod +x $out/bin/vcs
49 wrapProgram $out/bin/vcs --argv0 vcs --set PATH "${lib.makeBinPath runtimeDeps}"
50 '';
51
52 meta = with lib; {
53 description = "Generates contact sheets from video files";
54 homepage = "http://p.outlyer.net/vcs";
55 license = licenses.lgpl21Plus;
56 maintainers = with maintainers; [ elitak ];
57 platforms = with platforms; unix;
58 mainProgram = "vcs";
59 };
60}