summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/system/all-packages-generic.nix3
-rw-r--r--pkgs/tools/video/mjpegtools/default.nix11
-rw-r--r--pkgs/tools/video/mjpegtools/fix.patch36
3 files changed, 49 insertions, 1 deletions
diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix
index dfa7b4a530c..e9321e0e919 100644
--- a/pkgs/system/all-packages-generic.nix
+++ b/pkgs/system/all-packages-generic.nix
@@ -183,7 +183,8 @@ rec {
   };
 
   mjpegtools = (import ../tools/video/mjpegtools) {
-    inherit fetchurl stdenv;
+    inherit fetchurl stdenv libjpeg;
+    inherit (xlibs) libX11;
   };
  
   ### SHELLS
diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix
new file mode 100644
index 00000000000..2cbadfcfe86
--- /dev/null
+++ b/pkgs/tools/video/mjpegtools/default.nix
@@ -0,0 +1,11 @@
+{stdenv, fetchurl, libjpeg, libX11}:
+
+stdenv.mkDerivation {
+  name = "mjpegtools-1.6.2";
+  src = fetchurl {
+    url = http://mesh.dl.sourceforge.net/sourceforge/mjpeg/mjpegtools-1.6.2.tar.gz ;
+    md5 = "01c0120b0182de67f182ef99ad855daa" ;
+  };
+  buildInputs = [libjpeg libX11];
+  patches = [./fix.patch];
+}
diff --git a/pkgs/tools/video/mjpegtools/fix.patch b/pkgs/tools/video/mjpegtools/fix.patch
new file mode 100644
index 00000000000..2103fda54b4
--- /dev/null
+++ b/pkgs/tools/video/mjpegtools/fix.patch
@@ -0,0 +1,36 @@
+*** /tmp/mjpegtools-1.6.2/lavtools/lavpipe.c	Mon Sep 23 19:46:43 2002
+--- mjpegtools-1.6.2/lavtools/lavpipe.c	Thu Mar 17 10:24:10 2005
+***************
+*** 582,587 ****
+--- 582,588 ----
+        mjpeg_info( "closing input %d (source %d)", i, current_index);
+        decommission_pipe_source(source);
+      KEEP_SOURCE:
++       ;
+      }
+    }
+  }
+*** /tmp/mjpegtools-1.6.2/mpeg2enc/picture.cc	Sat Oct 25 17:36:32 2003
+--- mjpegtools-1.6.2/mpeg2enc/picture.cc	Fri Mar 18 07:55:36 2005
+***************
+*** 83,91 ****
+      }
+  
+  
+! 	curref = new (uint8_t *)[5];
+! 	curorg = new (uint8_t *)[5];
+! 	pred   = new (uint8_t *)[5];
+  
+  	for( i = 0 ; i<3; i++)
+  	{
+--- 83,91 ----
+      }
+  
+  
+! 	curref = new uint8_t *[5];
+! 	curorg = new uint8_t *[5];
+! 	pred   = new uint8_t *[5];
+  
+  	for( i = 0 ; i<3; i++)
+  	{
+