summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorlethalman <lucabru@src.gnome.org>2015-06-18 14:46:48 +0200
committerlethalman <lucabru@src.gnome.org>2015-06-18 14:46:48 +0200
commitda28405ba29c4b394d80b2f2c870cad552e2555f (patch)
tree7271987b919800a4f5e1b3ee33b46586828d85be /pkgs
parente5f9ffbb99afa7637ad4e3861cd4db5a92ed3b88 (diff)
parent9d749881d68949107b127cbf44843ed9a1ea2de8 (diff)
downloadnixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.tar
nixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.tar.gz
nixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.tar.bz2
nixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.tar.lz
nixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.tar.xz
nixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.tar.zst
nixlib-da28405ba29c4b394d80b2f2c870cad552e2555f.zip
Merge pull request #8263 from robbinch/pkg-dvd-slideshow
dvd-slideshow: Add package.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/video/dvd-slideshow/default.nix69
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 71 insertions, 0 deletions
diff --git a/pkgs/applications/video/dvd-slideshow/default.nix b/pkgs/applications/video/dvd-slideshow/default.nix
new file mode 100644
index 000000000000..a6197c2e6e13
--- /dev/null
+++ b/pkgs/applications/video/dvd-slideshow/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbisTools }:
+
+let
+  wrapper = writeScript "dvd-slideshow.sh" ''
+      #!/bin/bash
+      # wrapper script for dvd-slideshow programs
+      export PATH=${cdrtools}/bin:${dvdauthor}/bin:${ffmpeg}/bin:${imagemagick}/bin:${lame}/bin:${mjpegtools}/bin:${sox}/bin:${transcode}/bin:${vorbisTools}/bin:$PATH
+
+      dir=`dirname "$0"`
+      exe=`basename "$0"`
+      case "$exe" in
+        dvd-slideshow)
+          # use mpeg2enc by default as ffmpeg is known to crash.
+          # run dvd-slideshow.ffmpeg to force ffmpeg.
+          "$dir/dvd-slideshow.real" -mpeg2enc $@
+          ;;
+
+        dvd-slideshow.ffmpeg)
+          "$dir/dvd-slideshow.real" $@
+          ;;
+
+        *)
+          "$dir/$exe.real" $@
+          ;;
+      esac
+    '';
+
+in stdenv.mkDerivation rec {
+  name = "dvd-slideshow";
+  version = "0.8.4-2";
+  src = fetchurl {
+    url = "mirror://sourceforge/dvd-slideshow/files/${name}-${version}.tar.gz";
+    sha256 = "17c09aqvippiji2sd0pcxjg3nb1mnh9k5nia4gn5lhcvngjcp1q5";
+  };
+
+  patchPhase = ''
+    # fix upstream typos
+    substituteInPlace dvd-slideshow \
+      --replace "version='0.8.4-1'" "version='0.8.4-2'" \
+      --replace "mymyecho" "myecho" 
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp dvd-slideshow         "$out/bin/dvd-slideshow.real"
+    cp dvd-menu              "$out/bin/dvd-menu.real"
+    cp dir2slideshow         "$out/bin/dir2slideshow.real"
+    cp gallery1-to-slideshow "$out/bin/gallery1-to-slideshow.real"
+    cp jigl2slideshow        "$out/bin/jigl2slideshow.real"
+
+    cp ${wrapper} "$out/bin/dvd-slideshow.sh"
+    ln -s dvd-slideshow.sh "$out/bin/dvd-slideshow"
+    ln -s dvd-slideshow.sh "$out/bin/dvd-slideshow.ffmpeg"
+    ln -s dvd-slideshow.sh "$out/bin/dvd-menu"
+    ln -s dvd-slideshow.sh "$out/bin/dir2slideshow"
+    ln -s dvd-slideshow.sh "$out/bin/gallery1-to-slideshow"
+    ln -s dvd-slideshow.sh "$out/bin/jigl2slideshow"
+
+    cp -a man "$out/"
+  '';
+
+  meta = {
+    description = "Suite of command line programs that creates a slideshow-style video from groups of pictures";
+    homepage = http://dvd-slideshow.sourceforge.net/wiki/Main_Page;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.robbinch ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 589003df7bf6..b1d4a5df473d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10818,6 +10818,8 @@ let
 
   dvdauthor = callPackage ../applications/video/dvdauthor { };
 
+  dvd-slideshow = callPackage ../applications/video/dvd-slideshow { };
+
   dwb = callPackage ../applications/networking/browsers/dwb { dconf = gnome3.dconf; };
 
   dwbWrapper = wrapFirefox