about summary refs log tree commit diff
path: root/pkgs/applications/video
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-03-05 12:49:52 +0100
committerVladimír Čunát <vcunat@gmail.com>2018-03-05 14:53:27 +0100
commit565bd805e6aea9258ead5449b46c5e56ae0568fb (patch)
tree81a23c558823fc865d180bb8b6318d24ec38729d /pkgs/applications/video
parent25a78f7234ced8840610178a695078b5b08d9e6b (diff)
parent97693915e1d31478528ee72e8d1fea5aa384577b (diff)
downloadnixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.gz
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.bz2
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.lz
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.xz
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.tar.zst
nixlib-565bd805e6aea9258ead5449b46c5e56ae0568fb.zip
Merge branch 'master'
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r--pkgs/applications/video/aegisub/default.nix2
-rw-r--r--pkgs/applications/video/avidemux/bootstrap_logging.patch26
-rw-r--r--pkgs/applications/video/avidemux/default.nix170
-rw-r--r--pkgs/applications/video/avidemux/wrapper.nix24
-rw-r--r--pkgs/applications/video/byzanz/default.nix2
-rw-r--r--pkgs/applications/video/dvdstyler/default.nix4
-rw-r--r--pkgs/applications/video/gnome-mplayer/default.nix4
-rw-r--r--pkgs/applications/video/gnome-mpv/default.nix4
-rw-r--r--pkgs/applications/video/handbrake/default.nix6
-rw-r--r--pkgs/applications/video/kazam/default.nix4
-rw-r--r--pkgs/applications/video/kodi/default.nix6
-rw-r--r--pkgs/applications/video/miro/default.nix6
-rw-r--r--pkgs/applications/video/mkcast/default.nix2
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix30
-rw-r--r--pkgs/applications/video/mpc-qt/default.nix27
-rw-r--r--pkgs/applications/video/mpv/default.nix43
-rw-r--r--pkgs/applications/video/mpv/scripts/convert.nix4
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix4
-rw-r--r--pkgs/applications/video/peek/default.nix8
-rw-r--r--pkgs/applications/video/pitivi/default.nix6
-rw-r--r--pkgs/applications/video/screenkey/default.nix60
-rw-r--r--pkgs/applications/video/screenkey/paths.patch20
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix6
-rw-r--r--pkgs/applications/video/webtorrent_desktop/default.nix88
-rw-r--r--pkgs/applications/video/xine-ui/default.nix4
26 files changed, 364 insertions, 200 deletions
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index ade81de2f04e..3dd0cc5adc29 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
               # but they are linked against GPL'd softwares
               # - so the resulting program will be GPL
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/video/avidemux/bootstrap_logging.patch b/pkgs/applications/video/avidemux/bootstrap_logging.patch
new file mode 100644
index 000000000000..8f45251d26c2
--- /dev/null
+++ b/pkgs/applications/video/avidemux/bootstrap_logging.patch
@@ -0,0 +1,26 @@
+diff --git a/bootStrap.bash b/bootStrap.bash
+index 646a5e048..6429199ba 100644
+--- a/bootStrap.bash
++++ b/bootStrap.bash
+@@ -4,6 +4,7 @@
+ #
+ # By default we use qt5 now
+ #
++set -e # hard fail if something fails
+ packages_ext=""
+ rebuild=0
+ do_core=1
+@@ -66,10 +67,10 @@ Process()
+         fi
+         cd $BUILDDIR 
+         cmake $COMPILER $PKG $FAKEROOT $QT_FLAVOR -DCMAKE_EDIT_COMMAND=vim $INSTALL_PREFIX $EXTRA $BUILD_QUIRKS $ASAN $DEBUG -G "$BUILDER" $SOURCEDIR || fail cmakeZ
+-        make  $PARAL >& /tmp/log$BUILDDIR || fail "make, result in /tmp/log$BUILDDIR"
+-	if  [ "x$PKG" != "x" ] ; then
++        make  $PARAL
++        if  [ "x$PKG" != "x" ] ; then
+           $FAKEROOT_COMMAND make package DESTDIR=$FAKEROOT_DIR/tmp || fail package
+-	fi
++        fi
+         # we need the make install so that other packcges can be built against this one
+         make install DESTDIR=$FAKEROOT_DIR
+ }
diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix
index 76b42acef3e1..62b819c600cc 100644
--- a/pkgs/applications/video/avidemux/default.nix
+++ b/pkgs/applications/video/avidemux/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, fetchurl, cmake, pkgconfig, lndir
 , zlib, gettext, libvdpau, libva, libXv, sqlite
-, yasm, freetype, fontconfig, fribidi, gtk3, qt4
+, yasm, freetype, fontconfig, fribidi
+, makeWrapper, libXext, mesa_glu, qttools, qtbase
 , alsaLib
 , withX265 ? true, x265
 , withX264 ? true, x264
@@ -12,9 +13,18 @@
 , withFAAD ? true, faad2
 , withOpus ? true, libopus
 , withVPX ? true, libvpx
+, withQT ? true
+, withCLI ? true
+, default ? "qt5"
+, withPlugins ? true
 }:
 
-let
+assert withQT -> qttools != null && qtbase != null;
+assert default != "qt5" -> default == "cli";
+assert !withQT -> default != "qt5";
+
+stdenv.mkDerivation rec {
+  name = "avidemux-${version}";
   version = "2.7.0";
 
   src = fetchurl {
@@ -22,112 +32,54 @@ let
     sha256 = "1bf4l9qwxq3smc1mx5pybydc742a4qqsk17z50j9550d9iwnn7gy";
   };
 
-  common = {
-    inherit version src;
-
-    patches = [ ./dynamic_install_dir.patch ];
-
-    enableParallelBuilding = false;
-
-    nativeBuildInputs = [ cmake pkgconfig yasm ];
-    buildInputs = [ zlib gettext libvdpau libva libXv sqlite fribidi fontconfig freetype alsaLib ]
-                  ++ lib.optional withX264 x264
-                  ++ lib.optional withX265 x265
-                  ++ lib.optional withXvid xvidcore
-                  ++ lib.optional withLAME lame
-                  ++ lib.optional withFAAC faac
-                  ++ lib.optional withVorbis libvorbis
-                  ++ lib.optional withPulse libpulseaudio
-                  ++ lib.optional withFAAD faad2
-                  ++ lib.optional withOpus libopus
-                  ++ lib.optional withVPX libvpx
-                  ;
-
-    meta = {
-      homepage = http://fixounet.free.fr/avidemux/;
-      description = "Free video editor designed for simple video editing tasks";
-      maintainers = with stdenv.lib.maintainers; [ viric abbradar ];
-      platforms = with stdenv.lib.platforms; linux;
-      license = stdenv.lib.licenses.gpl2;
-    };
-  };
-
-  core = stdenv.mkDerivation (common // {
-    name = "avidemux-${version}";
-
-    preConfigure = ''
-      cd avidemux_core
-    '';
-  });
-
-  buildPlugin = args: stdenv.mkDerivation (common // {
-    name = "avidemux-${args.pluginName}-${version}";
-
-    buildInputs = (args.buildInputs or []) ++ common.buildInputs ++ [ lndir ];
-
-    cmakeFlags = [ "-DPLUGIN_UI=${args.pluginUi}" ];
-
-    passthru.isUi = args.isUi or false;
-
-    buildCommand = ''
-      unpackPhase
-      cd "$sourceRoot"
-      patchPhase
-
-      mkdir $out
-      lndir ${core} $out
-
-      export cmakeFlags="$cmakeFlags -DAVIDEMUX_SOURCE_DIR=$(pwd)"
-
-      for i in ${toString (args.buildDirs or [])} avidemux_plugins; do
-        ( cd "$i"
-          cmakeConfigurePhase
-          buildPhase
-          installPhase
-        )
-      done
-
-      fixupPhase
-    '';
-
-    meta = common.meta // args.meta or {};
-  });
-
-in {
-  avidemux_core = core;
-
-  avidemux_cli = buildPlugin {
-    pluginName = "cli";
-    pluginUi = "CLI";
-    isUi = true;
-    buildDirs = [ "avidemux/cli" ];
-  };
-
-  avidemux_qt4 = buildPlugin {
-    pluginName = "qt4";
-    buildInputs = [ qt4 ];
-    pluginUi = "QT4";
-    isUi = true;
-    buildDirs = [ "avidemux/qt4" ];
-  };
-
-  avidemux_gtk = buildPlugin {
-    pluginName = "gtk";
-    buildInputs = [ gtk3 ];
-    pluginUi = "GTK";
-    isUi = true;
-    buildDirs = [ "avidemux/gtk" ];
-    # Code seems unmaintained.
-    meta.broken = true;
-  };
-
-  avidemux_common = buildPlugin {
-    pluginName = "common";
-    pluginUi = "COMMON";
-  };
-
-  avidemux_settings = buildPlugin {
-    pluginName = "settings";
-    pluginUi = "SETTINGS";
+  patches = [ ./dynamic_install_dir.patch ./bootstrap_logging.patch ];
+
+  nativeBuildInputs = [ yasm cmake pkgconfig ];
+  buildInputs = [
+    zlib gettext libvdpau libva libXv sqlite fribidi fontconfig
+    freetype alsaLib libXext mesa_glu makeWrapper
+  ] ++ lib.optional withX264 x264
+    ++ lib.optional withX265 x265
+    ++ lib.optional withXvid xvidcore
+    ++ lib.optional withLAME lame
+    ++ lib.optional withFAAC faac
+    ++ lib.optional withVorbis libvorbis
+    ++ lib.optional withPulse libpulseaudio
+    ++ lib.optional withFAAD faad2
+    ++ lib.optional withOpus libopus
+    ++ lib.optionals withQT [ qttools qtbase ]
+    ++ lib.optional withVPX libvpx;
+
+  buildCommand = ''
+    unpackPhase
+    cd "$sourceRoot"
+    patchPhase
+
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${libXext}/lib"
+    ${stdenv.shell} bootStrap.bash \
+      --with-core \
+      ${if withQT then "--with-qt" else "--without-qt"} \
+      ${if withCLI then "--with-cli" else "--without-cli"} \
+      ${if withPlugins then "--with-plugins" else "--without-plugins"}
+
+    mkdir $out
+    cp -R install/usr/* $out
+
+    for i in $out/bin/*; do
+      wrapProgram $i \
+        --set ADM_ROOT_DIR $out \
+        --prefix LD_LIBRARY_PATH ":" "${libXext}/lib"
+    done
+    ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux"
+
+    fixupPhase
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://fixounet.free.fr/avidemux/;
+    description = "Free video editor designed for simple video editing tasks";
+    maintainers = with maintainers; [ viric abbradar ma27 ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/avidemux/wrapper.nix b/pkgs/applications/video/avidemux/wrapper.nix
deleted file mode 100644
index 7f05b81baec7..000000000000
--- a/pkgs/applications/video/avidemux/wrapper.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ symlinkJoin, avidemux_unwrapped, makeWrapper
-# GTK version is broken upstream, see https://bugzilla.redhat.com/show_bug.cgi?id=1244340
-, withUi ? "qt4"
-}:
-
-let ui = builtins.getAttr "avidemux_${withUi}" avidemux_unwrapped; in
-
-assert ui.isUi;
-
-symlinkJoin {
-  name = "avidemux-${withUi}-${ui.version}";
-
-  paths = [ ui avidemux_unwrapped.avidemux_common avidemux_unwrapped.avidemux_settings ];
-
-  buildInputs = [ makeWrapper ];
-
-  postBuild = ''
-    for i in $out/bin/*; do
-      wrapProgram $i --set ADM_ROOT_DIR $out
-    done
-  '';
-
-  meta = ui.meta;
-}
diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix
index b00aae61d36d..ea8cb5aa3ffa 100644
--- a/pkgs/applications/video/byzanz/default.nix
+++ b/pkgs/applications/video/byzanz/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which gnome3.gnome_common glib intltool libtool cairo gtk3 xorg.xwininfo ]
+  buildInputs = [ which gnome3.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo ]
   ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]);
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix
index e59469c704cb..f89aa04e0146 100644
--- a/pkgs/applications/video/dvdstyler/default.nix
+++ b/pkgs/applications/video/dvdstyler/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
 
   name = "dvdstyler-${version}";
   srcName = "DVDStyler-${version}";
-  version = "3.0.3";
+  version = "3.0.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/dvdstyler/dvdstyler/${version}/${srcName}.tar.bz2";
-    sha256 = "1j432kszmwmsd3nz398h5514dbm5vsrn4rr3iil72ckjj1h3i00q";
+    sha256 = "0lwc0hn94m9r8fi07sjqz3fr618l6lnw3zsakxw7nlgnxbjsk7pi";
   };
 
   nativeBuildInputs = 
diff --git a/pkgs/applications/video/gnome-mplayer/default.nix b/pkgs/applications/video/gnome-mplayer/default.nix
index 9f98d46d53bd..fd8cc8d86306 100644
--- a/pkgs/applications/video/gnome-mplayer/default.nix
+++ b/pkgs/applications/video/gnome-mplayer/default.nix
@@ -1,4 +1,4 @@
-{stdenv, substituteAll, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, gmtk, dbus, dbus_glib
+{stdenv, substituteAll, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, gmtk, dbus, dbus-glib
 , libnotify, libpulseaudio, mplayer, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig gettext wrapGAppsHook ];
-  buildInputs = [ glib gtk3 gmtk dbus dbus_glib libnotify libpulseaudio ];
+  buildInputs = [ glib gtk3 gmtk dbus dbus-glib libnotify libpulseaudio ];
 
   patches = [
     (substituteAll {
diff --git a/pkgs/applications/video/gnome-mpv/default.nix b/pkgs/applications/video/gnome-mpv/default.nix
index 0b4bd5851341..1bb77ffc4a80 100644
--- a/pkgs/applications/video/gnome-mpv/default.nix
+++ b/pkgs/applications/video/gnome-mpv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, ninja
-, gettext, pkgconfig, desktop_file_utils, wrapGAppsHook
+, gettext, pkgconfig, desktop-file-utils, wrapGAppsHook
 , appstream-glib, epoxy, glib, gtk3, mpv
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "1cjhw3kz163iwj2japhnv354i1lr112xyyfkxw82cwy2554cfim4";
   };
 
-  nativeBuildInputs = [ meson ninja appstream-glib gettext pkgconfig desktop_file_utils wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja appstream-glib gettext pkgconfig desktop-file-utils wrapGAppsHook ];
   buildInputs = [ epoxy glib gtk3 mpv ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index 7d0cfb455306..3e796275907c 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -16,9 +16,9 @@
   libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac,
   lame, ffmpeg, libdvdread, libdvdnav, libbluray,
   mp4v2, mpeg2dec, x264, x265, libmkv,
-  fontconfig, freetype, hicolor_icon_theme,
+  fontconfig, freetype, hicolor-icon-theme,
   glib, gtk3, intltool, libnotify,
-  gst_all_1, dbus_glib, udev, libgudev, libvpx,
+  gst_all_1, dbus-glib, udev, libgudev, libvpx,
   useGtk ? true, wrapGAppsHook ? null, libappindicator-gtk3 ? null
 }:
 
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 x265 libvpx
   ] ++ (lib.optionals useGtk [
     glib gtk3 libappindicator-gtk3 libnotify
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev
+    gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
     libgudev
   ]);
 
diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix
index 8653305f908a..862032572dcf 100644
--- a/pkgs/applications/video/kazam/default.nix
+++ b/pkgs/applications/video/kazam/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python3Packages, gst_all_1, makeWrapper, gobjectIntrospection
-, gtk3, libwnck3, keybinder, intltool, libcanberra_gtk2 }:
+, gtk3, libwnck3, keybinder, intltool, libcanberra-gtk2 }:
 
 
 python3Packages.buildPythonApplication rec {
@@ -25,7 +25,7 @@ python3Packages.buildPythonApplication rec {
   patches = [ ./datadir.patch ./bug_1190693.patch ];
   prePatch = ''
     rm setup.cfg
-    substituteInPlace kazam/backend/grabber.py --replace "/usr/bin/canberra-gtk-play" "${libcanberra_gtk2}/bin/canberra-gtk-play"
+    substituteInPlace kazam/backend/grabber.py --replace "/usr/bin/canberra-gtk-play" "${libcanberra-gtk2}/bin/canberra-gtk-play"
   '';
 
   # no tests
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index ff5c590952ca..8a40912a1d68 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -18,7 +18,7 @@
 , libcec, libcec_platform, dcadec, libuuid
 , libcrossguid, libmicrohttpd
 , bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1, libXdmcp
-, libplist, p11_kit, zlib
+, libplist, p11-kit, zlib
 , dbusSupport ? true, dbus_libs ? null
 , joystickSupport ? true, cwiid ? null
 , nfsSupport ? true, libnfs ? null
@@ -78,7 +78,7 @@ let
     preConfigure = ''
       cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
     '';
-    buildInputs = [ gnutls libidn libtasn1 p11_kit zlib libva ]
+    buildInputs = [ gnutls libidn libtasn1 p11-kit zlib libva ]
       ++ lib.optional  vdpauSupport    libvdpau;
     nativeBuildInputs = [ cmake nasm pkgconfig ];
   };
@@ -118,7 +118,7 @@ in stdenv.mkDerivation rec {
     src = kodi_src;
 
     buildInputs = [
-      gnutls libidn libtasn1 nasm p11_kit
+      gnutls libidn libtasn1 nasm p11-kit
       libxml2 yasm python2
       boost libmicrohttpd
       gettext pcre-cpp yajl fribidi libva
diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix
index 3a297abb15c4..b3cfe21b7d69 100644
--- a/pkgs/applications/video/miro/default.nix
+++ b/pkgs/applications/video/miro/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 , pythonPackages, pyrex096, ffmpeg, boost, glib, gtk2, webkitgtk24x-gtk2, libsoup
 , taglib, sqlite
-, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
+, libtorrentRasterbar, glib-networking, gsettings-desktop-schemas
 , gst-python, gst-plugins-base, gst-plugins-good, gst-ffmpeg
 , enableBonjour ? false, avahi ? null
 }:
@@ -65,13 +65,13 @@ in buildPythonApplication rec {
     mv "$out/bin/miro.real" "$out/bin/miro"
     wrapProgram "$out/bin/miro" \
       --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
-      --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
   '';
 
   buildInputs = with pythonPackages; [ pygtk pygobject2 ] ++ [
     pkgconfig pyrex096 ffmpeg boost glib gtk2 webkitgtk24x-gtk2 libsoup
-    taglib gsettings_desktop_schemas sqlite
+    taglib gsettings-desktop-schemas sqlite
   ];
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/video/mkcast/default.nix b/pkgs/applications/video/mkcast/default.nix
index 2c5d3d365c12..2d5d2d3b102c 100644
--- a/pkgs/applications/video/mkcast/default.nix
+++ b/pkgs/applications/video/mkcast/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for f in $out/bin/*; do #*/
-      wrapProgram $f --prefix PATH : "${stdenv.lib.makeBinPath [ xdpyinfo wmctrl byzanz gnome3.gnome_terminal ]}:$out/bin"
+      wrapProgram $f --prefix PATH : "${stdenv.lib.makeBinPath [ xdpyinfo wmctrl byzanz gnome3.gnome-terminal ]}:$out/bin"
     done
 
     rm -r screenkey/.bzr
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 9324b08efd72..7afc3b502ad5 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,32 +1,36 @@
 { stdenv, fetchFromGitLab, pkgconfig, autoconf, automake, libiconv
-, drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, qt5, boost
+, drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, boost
 , libebml, zlib, libmatroska, libogg, libvorbis, flac, libxslt, cmark
 , withGUI ? true
+  , qtbase ? null
+  , qtmultimedia ? null
 }:
 
-assert withGUI -> qt5 != null;
+assert withGUI -> qtbase != null && qtmultimedia != null;
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "20.0.0";
+  version = "21.0.0";
 
   src = fetchFromGitLab {
-    owner = "mbunkus";
-    repo = "mkvtoolnix";
-    rev = "release-${version}";
-    sha256 = "0qrjvvp0pvw9i91rh0zrxpclq7xap2dpjip0s5bm4gv14gh4l4mc";
+    owner  = "mbunkus";
+    repo   = "mkvtoolnix";
+    rev    = "release-${version}";
+    sha256 = "06nixp0qqa6g2fv40f7l0i0sqbc7qswpgq4534l98nan08wjbk2r";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
+  nativeBuildInputs = [
+    pkgconfig autoconf automake gettext
+    drake ruby docbook_xsl libxslt
+  ];
 
   buildInputs = [
-    expat file xdg_utils boost libebml zlib libmatroska libogg
-    libvorbis flac cmark
-  ]
-  ++ optional stdenv.isDarwin libiconv
-  ++ optionals withGUI [qt5.qtbase qt5.qtmultimedia];
+    expat file xdg_utils boost libebml zlib
+    libmatroska libogg libvorbis flac cmark
+  ] ++ optional  stdenv.isDarwin libiconv
+    ++ optionals withGUI [ qtbase qtmultimedia ];
 
   preConfigure = "./autogen.sh; patchShebangs .";
   buildPhase   = "drake -j $NIX_BUILD_CORES";
diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix
new file mode 100644
index 000000000000..80ca213c06c1
--- /dev/null
+++ b/pkgs/applications/video/mpc-qt/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, qttools, mpv }:
+
+stdenv.mkDerivation rec {
+  name = "mpc-qt-${version}";
+  version = "17.11";
+
+  src = fetchFromGitHub {
+    owner = "cmdrkotori";
+    repo = "mpc-qt";
+    rev = "v${version}";
+    sha256 = "1vi4zsmbzxj6ms8wls9zv15vrskdrhgnj6l41m1fk4scs4jzvbkm";
+  };
+
+  nativeBuildInputs = [ pkgconfig qmake qttools ];
+
+  buildInputs = [ mpv qtx11extras ];
+
+  qmakeFlags = [ "QMAKE_LUPDATE=${qttools.dev}/bin/lupdate" ];
+
+  meta = with stdenv.lib; {
+    description = "Media Player Classic Qute Theater";
+    homepage = https://github.com/cmdrkotori/mpc-qt;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index c42afa69c41f..b026da6a6325 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeWrapper
 , docutils, perl, pkgconfig, python3, which, ffmpeg
 , freefont_ttf, freetype, libass, libpthreadstubs
-, lua, lua5_sockets, libuchardet, libiconv ? null, darwin
+, lua, luasocket, libuchardet, libiconv ? null, darwin
 
 , x11Support ? true,
     libGLU_combined       ? null,
@@ -13,25 +13,25 @@
     wayland      ? null,
     libxkbcommon ? null
 
-, rubberbandSupport  ? !stdenv.isDarwin, rubberband ? null
+, rubberbandSupport  ? true,  rubberband    ? null
 , xineramaSupport    ? true,  libXinerama   ? null
 , xvSupport          ? true,  libXv         ? null
 , sdl2Support        ? true,  SDL2          ? null
-, alsaSupport        ? !stdenv.isDarwin,  alsaLib       ? null
+, alsaSupport        ? true,  alsaLib       ? null
 , screenSaverSupport ? true,  libXScrnSaver ? null
 , vdpauSupport       ? true,  libvdpau      ? null
-, dvdreadSupport     ? !stdenv.isDarwin,  libdvdread    ? null
-, dvdnavSupport      ? dvdreadSupport,  libdvdnav     ? null
+, dvdreadSupport     ? true,  libdvdread    ? null
+, dvdnavSupport      ? true,  libdvdnav     ? null
 , bluraySupport      ? true,  libbluray     ? null
 , speexSupport       ? true,  speex         ? null
 , theoraSupport      ? true,  libtheora     ? null
-, pulseSupport       ? !stdenv.isDarwin,  libpulseaudio ? null
+, pulseSupport       ? true,  libpulseaudio ? null
 , bs2bSupport        ? true,  libbs2b       ? null
 , cacaSupport        ? true,  libcaca       ? null
 , libpngSupport      ? true,  libpng        ? null
 , youtubeSupport     ? true,  youtube-dl    ? null
 , vaapiSupport       ? true,  libva         ? null
-, drmSupport         ? !stdenv.isDarwin,  libdrm        ? null
+, drmSupport         ? true,  libdrm        ? null
 , vapoursynthSupport ? false, vapoursynth   ? null
 , archiveSupport     ? false, libarchive    ? null
 , jackaudioSupport   ? false, libjack2      ? null
@@ -127,14 +127,15 @@ in stdenv.mkDerivation rec {
     python3 ${waf} configure --prefix=$out $configureFlags
   '';
 
-  nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python3 which ];
+  nativeBuildInputs = [
+    docutils makeWrapper perl
+    pkgconfig python3 which
+  ];
 
   buildInputs = [
     ffmpeg freetype libass libpthreadstubs
-    lua lua5_sockets libuchardet
-  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-       libiconv Cocoa CoreAudio ])
-    ++ optional alsaSupport        alsaLib
+    lua luasocket libuchardet
+  ] ++ optional alsaSupport        alsaLib
     ++ optional xvSupport          libXv
     ++ optional theoraSupport      libtheora
     ++ optional xineramaSupport    libXinerama
@@ -157,7 +158,10 @@ in stdenv.mkDerivation rec {
     ++ optional archiveSupport     libarchive
     ++ optionals dvdnavSupport     [ libdvdnav libdvdnav.libdvdread ]
     ++ optionals x11Support        [ libX11 libXext libGLU_combined libXxf86vm ]
-    ++ optionals waylandSupport    [ wayland libxkbcommon ];
+    ++ optionals waylandSupport    [ wayland libxkbcommon ]
+    ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+      libiconv Cocoa CoreAudio
+    ]);
 
   enableParallelBuilding = true;
 
@@ -165,7 +169,14 @@ in stdenv.mkDerivation rec {
     python3 ${waf} build
   '';
 
-  installPhase = ''
+  installPhase =
+  let
+    getPath  = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" +
+                      "${luasocket}/share/lua/${lua.luaversion}/?.${type}";
+    luaPath  = getPath "lua";
+    luaCPath = getPath "so";
+  in
+  ''
     python3 ${waf} install
 
     # Use a standard font
@@ -174,6 +185,8 @@ in stdenv.mkDerivation rec {
     # Ensure youtube-dl is available in $PATH for MPV
     wrapProgram $out/bin/mpv \
       --add-flags "--scripts=${concatStringsSep "," scripts}" \
+      --prefix LUA_PATH : "${luaPath}" \
+      --prefix LUA_CPATH : "${luaCPath}" \
   '' + optionalString youtubeSupport ''
       --prefix PATH : "${youtube-dl}/bin" \
   '' + optionalString vapoursynthSupport ''
@@ -199,5 +212,3 @@ in stdenv.mkDerivation rec {
     '';
   };
 }
-# TODO: investigate caca support
-# TODO: investigate lua5_sockets bug
diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/applications/video/mpv/scripts/convert.nix
index cf77e3dfe663..faa21326fc0e 100644
--- a/pkgs/applications/video/mpv/scripts/convert.nix
+++ b/pkgs/applications/video/mpv/scripts/convert.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, lib
-, yad, mkvtoolnix, libnotify }:
+, yad, mkvtoolnix-cli, libnotify }:
 
 stdenv.mkDerivation {
   name = "mpv-convert-script-2016-03-18.lua";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
       substituteInPlace convert_script.lua \
         ${subs "NOTIFY_CMD" "notify-send" "${libnotify}/bin/notify-send"} \
         ${subs "YAD_CMD" "yad" "${yad}/bin/yad"} \
-        ${subs "MKVMERGE_CMD" "mkvmerge" "${mkvtoolnix}/bin/mkvmerge"}
+        ${subs "MKVMERGE_CMD" "mkvmerge" "${mkvtoolnix-cli}/bin/mkvmerge"}
   '';
 
   dontBuild = true;
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index 86b8dab7f1f2..aa9643416485 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -4,13 +4,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "openshot-qt-${version}";
-  version = "2.3.4";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "openshot-qt";
     rev = "v${version}";
-    sha256 = "026zxvg5mij49g021hipv3hspsx8m5bs4v9pm2axqw6rvszjk90z";
+    sha256 = "182dldj9ybs6aqjfrc9dqx1mifdyhv0rf3ifxcp52cm9rz5yv8ml";
   };
 
   nativeBuildInputs = [ doxygen wrapGAppsHook ];
diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix
index d55f0aa1b35b..9858edf82389 100644
--- a/pkgs/applications/video/peek/default.nix
+++ b/pkgs/applications/video/peek/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchFromGitHub, cmake, gettext, libxml2, pkgconfig, txt2man, vala, wrapGAppsHook
-, gsettings_desktop_schemas, gtk3, keybinder3
+, gsettings-desktop-schemas, gtk3, keybinder3
 }:
 
 stdenv.mkDerivation rec {
   name = "peek-${version}";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "phw";
     repo = "peek";
     rev = version;
-    sha256 = "04sc6gfrqvnx288rmgsywpjx9l6jcfn2qdbwjcbdvx4wl3gna0qm";
+    sha256 = "1ihmq914g2h5iw86bigkkblzqimr50yq6z883lzq656xkcayd8gh";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig libxml2.bin txt2man vala wrapGAppsHook ];
 
-  buildInputs = [ gsettings_desktop_schemas gtk3 keybinder3 ];
+  buildInputs = [ gsettings-desktop-schemas gtk3 keybinder3 ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index c4d80344080d..48074a86b552 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, wrapGAppsHook
-, python3Packages, gst, gtk3, hicolor_icon_theme
+, python3Packages, gst, gtk3, hicolor-icon-theme
 , gobjectIntrospection, librsvg, gnome3, libnotify
 # for gst-transcoder:
 , which, meson, ninja
@@ -34,9 +34,9 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
 
   buildInputs = [
-    gobjectIntrospection gtk3 librsvg gnome3.gnome_desktop
+    gobjectIntrospection gtk3 librsvg gnome3.gnome-desktop
     gnome3.defaultIconTheme
-    gnome3.gsettings_desktop_schemas libnotify
+    gnome3.gsettings-desktop-schemas libnotify
     gst-transcoder
   ] ++ (with gst; [
     gstreamer gst-editing-services
diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix
new file mode 100644
index 000000000000..5638fad39e5d
--- /dev/null
+++ b/pkgs/applications/video/screenkey/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, substituteAll
+, buildPythonApplication
+, fetchFromGitHub
+, distutils_extra
+, setuptools-git
+, intltool
+, pygtk
+, libX11
+, libXtst
+, wrapGAppsHook
+, defaultIconTheme
+, hicolor_icon_theme
+}:
+buildPythonApplication rec {
+  pname = "screenkey";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "wavexx";
+    repo = "screenkey";
+    rev = "screenkey-${version}";
+    sha256 = "14g7fiv9n7m03djwz1pp5034pffi87ssvss9bc1q8vq0ksn23vrw";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./paths.patch;
+      inherit libX11 libXtst;
+    })
+  ];
+
+  nativeBuildInputs = [
+    distutils_extra
+    setuptools-git
+    intltool
+
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    defaultIconTheme
+    hicolor_icon_theme
+  ];
+
+  propagatedBuildInputs = [
+    pygtk
+  ];
+
+  # screenkey does not have any tests
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://www.thregr.org/~wavexx/software/screenkey/;
+    description = "A screencast tool to display your keys inspired by Screenflick";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.rasendubi ];
+  };
+}
diff --git a/pkgs/applications/video/screenkey/paths.patch b/pkgs/applications/video/screenkey/paths.patch
new file mode 100644
index 000000000000..7e5ed47fc19d
--- /dev/null
+++ b/pkgs/applications/video/screenkey/paths.patch
@@ -0,0 +1,20 @@
+--- a/Screenkey/xlib.py
++++ b/Screenkey/xlib.py
+@@ -6,7 +6,7 @@
+ from ctypes import *
+ 
+ ## base X11
+-libX11 = CDLL('libX11.so.6')
++libX11 = CDLL('@libX11@/lib/libX11.so.6')
+ 
+ # types
+ Atom = c_ulong
+@@ -278,7 +278,7 @@
+ 
+ 
+ ## record extensions
+-libXtst = CDLL('libXtst.so.6')
++libXtst = CDLL('@libXtst@/lib/libXtst.so.6')
+ 
+ # types
+ XPointer = String
\ No newline at end of file
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index e7deccee0d9f..9e547a791a48 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, qmake, qtscript }:
 
 stdenv.mkDerivation rec {
-  name = "smplayer-17.9.0";
+  name = "smplayer-18.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
-    sha256 = "0s9856cmwl829d2xc2ycf97phpv4a2d39ybmnbhsrb07jq5hkw1a";
+    sha256 = "0q0m9q643z6ih5gkf1fq3d6y99d62yxkhfgap98h251q6kd7dhis";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index 536b4ba0fac4..3683973824a3 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, intltool, file,
-  desktop_file_utils, enchant, gnome3, gst_all_1, hicolor_icon_theme,
+  desktop-file-utils, enchant, gnome3, gst_all_1, hicolor-icon-theme,
   libsigcxx, libxmlxx, xdg_utils, isocodes, wrapGAppsHook
 }:
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs =  [
-    desktop_file_utils
+    desktop-file-utils
     enchant
     gnome3.gtk
     gnome3.gtkmm
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gstreamermm
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
-    hicolor_icon_theme
+    hicolor-icon-theme
     libsigcxx
     libxmlxx
     xdg_utils
diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix
new file mode 100644
index 000000000000..bb519ef3dab0
--- /dev/null
+++ b/pkgs/applications/video/webtorrent_desktop/default.nix
@@ -0,0 +1,88 @@
+{
+  alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fontconfig, freetype,
+  gdk_pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor,
+  libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst,
+  libxcb, nspr, nss, stdenv, udev
+}:
+
+  let
+    rpath = stdenv.lib.makeLibraryPath ([
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk_pixbuf
+    glib
+    gnome2.GConf
+    gnome2.gtk
+    gnome2.pango
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    libxcb
+    nspr
+    nss
+    stdenv.cc.cc
+    udev
+    ]);
+  in stdenv.mkDerivation rec {
+    name = "webtorrent-desktop-${version}";
+    version = "0.19.0";
+
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v0.19.0/webtorrent-desktop_${version}-1_amd64.deb";
+          sha256 = "0v4fgvf8qgxjwg5kz30pcxl71pi9rri0l3cy20pid07rdd6r4sgd";
+        }
+        else
+          throw "Webtorrent is not currently supported on ${stdenv.system}";
+    phases = [ "unpackPhase" "installPhase" ];
+    nativeBuildInputs = [ dpkg ];
+    unpackPhase = "dpkg-deb -x $src .";
+    installPhase = ''
+      mkdir -p $out
+      cp -R opt $out
+
+      mv ./usr/share $out/share
+      mv $out/opt/webtorrent-desktop $out/libexec
+      chmod +x $out/libexec/WebTorrent
+      rmdir $out/opt
+
+      chmod -R g-w $out
+
+      # Patch WebTorrent
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+               --set-rpath ${rpath}:$out/libexec $out/libexec/WebTorrent
+
+      # Symlink to bin
+      mkdir -p $out/bin
+      ln -s $out/libexec/WebTorrent $out/bin/WebTorrent
+
+      # Fix the desktop link
+      substituteInPlace $out/share/applications/webtorrent-desktop.desktop \
+        --replace /opt/webtorrent-desktop/WebTorrent $out/bin/WebTorrent
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Streaming torrent app for Mac, Windows, and Linux.";
+      homepage = https://webtorrent.io/desktop;
+      license = licenses.mit;
+      maintainers = [ maintainers.flokli ];
+      platforms = [
+        "x86_64-linux"
+      ];
+    };
+  }
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index b417489c14c0..5e44116415ea 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine-ui/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, pkgconfig, xorg, libpng, xineLib, readline, ncurses, curl
-, lirc, shared_mime_info, libjpeg }:
+, lirc, shared-mime-info, libjpeg }:
 
 stdenv.mkDerivation rec {
   name = "xine-ui-0.99.9";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "18liwmkbj75xs9bipw3vr67a7cwmdfcp04v5lph7nsjlkwhq1lcd";
   };
   
-  nativeBuildInputs = [ pkgconfig shared_mime_info ];
+  nativeBuildInputs = [ pkgconfig shared-mime-info ];
 
   buildInputs =
     [ xineLib libpng readline ncurses curl lirc libjpeg