summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorCillian de Róiste <cillian.deroiste@gmail.com>2014-07-27 13:03:08 +0200
committerCillian de Róiste <cillian.deroiste@gmail.com>2014-07-27 13:03:08 +0200
commit077d989ad14f89ff13349cb4f74977a25f51045a (patch)
tree96c9fa935a17d1c54a5a41675b635f894dbbf34a /pkgs
parente4f978d09f5bc7bf979bb745628abe3a5784cc3b (diff)
parenta9c04fa6994823fa256e79c7f40881ff41ee659f (diff)
downloadnixlib-077d989ad14f89ff13349cb4f74977a25f51045a.tar
nixlib-077d989ad14f89ff13349cb4f74977a25f51045a.tar.gz
nixlib-077d989ad14f89ff13349cb4f74977a25f51045a.tar.bz2
nixlib-077d989ad14f89ff13349cb4f74977a25f51045a.tar.lz
nixlib-077d989ad14f89ff13349cb4f74977a25f51045a.tar.xz
nixlib-077d989ad14f89ff13349cb4f74977a25f51045a.tar.zst
nixlib-077d989ad14f89ff13349cb4f74977a25f51045a.zip
Merge branch 'shotcut'
Add Shotcut (video editor), update Kdenlive and MLT, add frei0r and movit plugins
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/video/kdenlive/default.nix30
-rw-r--r--pkgs/applications/video/shotcut/CuteLogger.patch13
-rw-r--r--pkgs/applications/video/shotcut/default.nix41
-rw-r--r--pkgs/development/libraries/epoxy/default.nix30
-rw-r--r--pkgs/development/libraries/frei0r/default.nix22
-rw-r--r--pkgs/development/libraries/gtest/default.nix1
-rw-r--r--pkgs/development/libraries/mlt/default.nix36
-rw-r--r--pkgs/development/libraries/movit/default.nix25
-rw-r--r--pkgs/top-level/all-packages.nix16
9 files changed, 188 insertions, 26 deletions
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index d7fab74e6cac..8c51c4f35a3b 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -1,28 +1,36 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon
-, mlt, gettext , qimageblitz, qjson, shared_mime_info, soprano
-, pkgconfig, shared_desktop_ontologies, libv4l }:
+{ stdenv, fetchurl, frei0r, lib, cmake, qt4, perl, kdelibs, automoc4
+, phonon , makeWrapper, mlt, gettext , qimageblitz, qjson
+, shared_mime_info, soprano, pkgconfig, shared_desktop_ontologies
+, libv4l
+}:
 
 stdenv.mkDerivation rec {
   name = "kdenlive-${version}";
-  version = "0.9.6";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "mirror://kde/stable/kdenlive/${version}/src/${name}.tar.bz2";
-    sha256 = "1rw2cbzy5mabwijvryyzbhpgldn2zy5jy4j87hl4m1i8ah9lgi7x";
+    sha256 = "17x5srgywcwlbpbs598jwwc62l8313n4dbqx3sdk7p6lyvwk3jln";
   };
 
-  buildInputs =
-    [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext qimageblitz
-      qjson shared_mime_info soprano pkgconfig shared_desktop_ontologies libv4l
-    ];
+  buildInputs = [
+    automoc4 cmake frei0r gettext kdelibs libv4l makeWrapper mlt perl
+    phonon pkgconfig qimageblitz qjson qt4 shared_desktop_ontologies
+    shared_mime_info soprano
+  ];
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    wrapProgram $out/bin/kdenlive --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+    wrapProgram $out/bin/kdenlive_render  --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
   meta = {
     description = "Free and open source video editor";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.kdenlive.org/;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ goibhniu viric ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/video/shotcut/CuteLogger.patch b/pkgs/applications/video/shotcut/CuteLogger.patch
new file mode 100644
index 000000000000..77b451cb437d
--- /dev/null
+++ b/pkgs/applications/video/shotcut/CuteLogger.patch
@@ -0,0 +1,13 @@
+diff --git shotcut-14.07/CuteLogger/CuteLogger.pro shotcut-14.07/CuteLogger/CuteLogger.pro
+index 501eddc..a5290b0 100644
+--- shotcut-14.07/CuteLogger/CuteLogger.pro
++++ shotcut-14.07/CuteLogger/CuteLogger.pro
+@@ -42,7 +42,7 @@ unix:!symbian {
+     maemo5 {
+         target.path = /opt/usr/lib
+     } else {
+-        target.path = /usr/lib
++        target.path = $(INSTALL_ROOT)/usr/lib
+     }
+     INSTALLS += target
+ }
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
new file mode 100644
index 000000000000..97c3720f7f93
--- /dev/null
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, SDL, frei0r, gettext, makeWrapper, mlt, pkgconfig, qt5 }:
+
+stdenv.mkDerivation rec {
+  name = "shotcut-${version}";
+  version = "14.07";
+
+  src = fetchurl {
+    url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
+    sha256 = "05g0b3jhmmdv8qnlgmi8wsfi7l3c5zvjcrrb3q7ajfc3q7yf6k6a";
+  };
+
+  buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qt5 ];
+
+  # Fixed in git and can be removed for the next release
+  patches = [ ./CuteLogger.patch ];
+
+  configurePhase = "qmake PREFIX=$out";
+
+  postInstall = ''
+    mkdir -p $out/share/shotcut
+    cp -r src/qml $out/share/shotcut/
+    wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A free, open source, cross-platform video editor";
+    longDescription = ''
+      An offical binary for Shotcut, which includes all the
+      dependencies pinned to specific versions, is provided on
+      http://shotcut.org.
+
+      If you encounter problems with this version, please contact the
+      nixpkgs maintainer(s). If you wish to report any bugs upstream,
+      please use the official build from shotcut.org instead.
+    '';
+    homepage = http://shotcut.org;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
new file mode 100644
index 000000000000..a1b0d87cdfdc
--- /dev/null
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, autoconf, autogen, automake, gettext, libX11
+, mesa, pkgconfig, python, utilmacros
+}:
+
+stdenv.mkDerivation rec {
+  name = "epoxy-${version}";
+  version = "1.2";
+
+  src = fetchurl {
+    url = "https://github.com/anholt/libepoxy/archive/v${version}.tar.gz";
+    sha256 = "1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2";
+  };
+
+  buildInputs = [
+    autoconf autogen automake gettext libX11 mesa pkgconfig python
+    utilmacros
+  ];
+
+  configureScript = ''
+    ./autogen.sh --prefix="$out"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library for handling OpenGL function pointer management";
+    homepage = https://github.com/anholt/libepoxy;
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/frei0r/default.nix b/pkgs/development/libraries/frei0r/default.nix
new file mode 100644
index 000000000000..2e3db4c2d73a
--- /dev/null
+++ b/pkgs/development/libraries/frei0r/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, autoconf, cairo, opencv, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "frei0r-plugins-${version}";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "https://files.dyne.org/.xsend.php?file=frei0r/releases/${name}.tar.gz";
+    sha256 = "0mxyhdp1p1a3ga8170ijygb870zwbww1dgp3kdr1nd4zvsmzqw44";
+  };
+
+  buildInputs = [ autoconf cairo opencv pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://frei0r.dyne.org;
+    description = "Minimalist, cross-platform, shared video plugins";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+
+  };
+}
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index 1e030d4d7ce0..a59e3d07cb44 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib
     cp -v libgtest.a libgtest_main.a $out/lib
     cp -v -r ../include $out
+    cp -v -r ../src $out
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 1d21e03efa6c..00d586a9f04c 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,29 +1,39 @@
-{ stdenv, fetchurl, SDL, ffmpeg, libdv, libsamplerate, libvorbis
-, libxml2 , pkgconfig, qt4, sox, gtk2 }:
+{ stdenv, fetchurl, SDL, frei0r, jack2, libav, libdv, libsamplerate
+, libvorbis, libxml2, makeWrapper, movit, pkgconfig, qt, sox
+}:
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "0.9.0";
+  version = "0.9.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/mlt/${name}.tar.gz";
-    sha256 = "1j8wbkwpa6k5anyf4nvf71l8251d7clzj6v09jl3vvfakaf6l37j";
+    url = "https://github.com/mltframework/mlt/archive/v${version}.tar.gz";
+    sha256 = "0vk1i2yrny6dbip4aha25ibgv4m2rdhpxmz6a74q9wz1cgzbb766";
   };
 
-  buildInputs =
-    [ SDL ffmpeg libdv libsamplerate libvorbis libxml2 pkgconfig qt4
-      sox # gtk2 /*optional*/
-    ];
+  buildInputs = [
+    SDL frei0r jack2 libav libdv libsamplerate libvorbis libxml2
+    makeWrapper movit pkgconfig qt sox
+  ];
 
   # Mostly taken from:
   # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
-  configureFlags = [ "--enable-gpl" "--enable-gpl3" "--avformat-swscale" ];
+  configureFlags = [
+    "--avformat-swscale" "--enable-gpl" "--enable-gpl" "--enable-gpl3"
+    "--enable-opengl"
+  ];
 
   enableParallelBuilding = true;
 
-  meta = {
-    homepage = http://www.mltframework.org/;
+  postInstall = ''
+    wrapProgram $out/bin/melt --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
+  meta = with stdenv.lib; {
     description = "Open source multimedia framework, designed for television broadcasting";
-    license = "GPLv3";
+    homepage = http://www.mltframework.org/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/movit/default.nix b/pkgs/development/libraries/movit/default.nix
new file mode 100644
index 000000000000..bfd474c88e71
--- /dev/null
+++ b/pkgs/development/libraries/movit/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, SDL, eigen, epoxy, fftw, gtest, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "movit-${version}";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "http://movit.sesse.net/${name}.tar.gz";
+    sha256 = "1k3qbkxapcplpsx22xh4m4ccp9fhsjfcj3pjzbcnrc51103aklag";
+  };
+
+  GTEST_DIR = "${gtest}";
+
+  propagatedBuildInputs = [ eigen epoxy ];
+
+  buildInputs = [ SDL fftw gtest pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "High-performance, high-quality video filters for the GPU";
+    homepage = http://movits.sesse.net;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ebf2704b7952..6a7fcdc3126c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4427,6 +4427,10 @@ let
 
   enginepkcs11 = callPackage ../development/libraries/enginepkcs11 { };
 
+  epoxy = callPackage ../development/libraries/epoxy {
+    inherit (xorg) utilmacros libX11;
+  };
+
   esdl = callPackage ../development/libraries/esdl { };
 
   exiv2 = callPackage ../development/libraries/exiv2 { };
@@ -4519,6 +4523,8 @@ let
 
   freetype = callPackage ../development/libraries/freetype { };
 
+  frei0r = callPackage ../development/libraries/frei0r { };
+
   fribidi = callPackage ../development/libraries/fribidi { };
 
   funambol = callPackage ../development/libraries/funambol { };
@@ -5693,7 +5699,11 @@ let
 
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
-  mlt = callPackage ../development/libraries/mlt { };
+  mlt-qt4 = callPackage ../development/libraries/mlt { qt = qt4; };
+
+  mlt-qt5 = callPackage ../development/libraries/mlt { qt = qt5; };
+
+  movit = callPackage ../development/libraries/movit { };
 
   mps = callPackage ../development/libraries/mps { };
 
@@ -9247,6 +9257,8 @@ let
 
   ruby_ncursesw_sup = callPackage ../development/libraries/ruby_ncursesw_sup { };
 
+  shotcut = callPackage ../applications/video/shotcut { mlt = mlt-qt5; };
+
   smplayer = callPackage ../applications/video/smplayer { };
 
   sup = with rubyLibs; callPackage ../applications/networking/mailreaders/sup {
@@ -10550,7 +10562,7 @@ let
 
       kdeconnect = callPackage ../applications/misc/kdeconnect { };
 
-      kdenlive = callPackage ../applications/video/kdenlive { };
+      kdenlive = callPackage ../applications/video/kdenlive { mlt = mlt-qt4; };
 
       kdesvn = callPackage ../applications/version-management/kdesvn { };