about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/video
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-08-31 11:57:05 +0000
committerAlyssa Ross <hi@alyssa.is>2019-09-16 22:04:28 +0000
commita0842e8b20cbe1ed717b72775428d1f8fc047fa4 (patch)
treeb86d0614a477f7e092d626d59b888d085aaca400 /nixpkgs/pkgs/applications/video
parentc36b32d476b520ed0d2a37cd0973f98583d6dc7c (diff)
parent8d1510abfb592339e13ce8f6db6f29c1f8b72924 (diff)
downloadnixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.tar
nixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.tar.gz
nixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.tar.bz2
nixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.tar.lz
nixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.tar.xz
nixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.tar.zst
nixlib-a0842e8b20cbe1ed717b72775428d1f8fc047fa4.zip
Merge commit '8d1510abfb592339e13ce8f6db6f29c1f8b72924'
Diffstat (limited to 'nixpkgs/pkgs/applications/video')
-rw-r--r--nixpkgs/pkgs/applications/video/celluloid/default.nix64
-rw-r--r--nixpkgs/pkgs/applications/video/gnome-mpv/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/shotcut/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix4
7 files changed, 118 insertions, 71 deletions
diff --git a/nixpkgs/pkgs/applications/video/celluloid/default.nix b/nixpkgs/pkgs/applications/video/celluloid/default.nix
new file mode 100644
index 000000000000..d1a9b64d711b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/video/celluloid/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, python3
+, gettext
+, pkgconfig
+, desktop-file-utils
+, wrapGAppsHook
+, appstream-glib
+, epoxy
+, glib
+, gtk3
+, mpv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "celluloid";
+  version = "0.17";
+
+  src = fetchFromGitHub {
+    owner = "celluloid-player";
+    repo = "celluloid";
+    rev = "v${version}";
+    sha256 = "0pnxjv6n2q6igxdr8wzbahcj7vccw4nfjdk8fjdnaivf2lyrpv2d";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    python3
+    appstream-glib
+    gettext
+    pkgconfig
+    desktop-file-utils
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    epoxy
+    glib
+    gtk3
+    mpv
+  ];
+
+  postPatch = ''
+    patchShebangs meson-post-install.py src/generate-authors.py
+    sed -i '/gtk-update-icon-cache/s/^/#/' meson-post-install.py
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Simple GTK+ frontend for the mpv video player";
+    longDescription = ''
+      GNOME MPV interacts with mpv via the client API exported by libmpv,
+      allowing access to mpv's powerful playback capabilities through an
+      easy-to-use user interface.
+    '';
+    homepage = "https://github.com/celluloid-player/celluloid";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/video/gnome-mpv/default.nix b/nixpkgs/pkgs/applications/video/gnome-mpv/default.nix
deleted file mode 100644
index a04eebfcc407..000000000000
--- a/nixpkgs/pkgs/applications/video/gnome-mpv/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, fetchFromGitHub, fetchpatch, meson, ninja, python3
-, gettext, pkgconfig, desktop-file-utils, wrapGAppsHook
-, appstream-glib, epoxy, glib, gtk3, mpv
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-mpv";
-  version = "0.16";
-
-  src = fetchFromGitHub {
-    owner = "celluloid-player";
-    repo = "celluloid";
-    rev = "v${version}";
-    sha256 = "1fj5mr1dwd07jpnigk7z85xdm6yaf7spbvf60aj3mz12m05b1b2w";
-  };
-
-  nativeBuildInputs = [ meson ninja python3 appstream-glib gettext pkgconfig desktop-file-utils wrapGAppsHook ];
-  buildInputs = [ epoxy glib gtk3 mpv ];
-
-  patches = [
-    # fix appstream validation in sandbox
-    # https://github.com/celluloid-player/celluloid/pull/437
-    (fetchpatch {
-      url = https://github.com/celluloid-player/celluloid/commit/5a0b2e892bb715278d309c859a7e521d64433d85.patch;
-      sha256 = "0naci8lr6128yilal39h46yvq9x3la7g7fhvr5xlwyh30iqrbm3i";
-    })
-  ];
-
-  postPatch = ''
-    patchShebangs meson_post_install.py
-    patchShebangs src/generate_authors.py
-    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
-  '';
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Simple GTK+ frontend for the mpv video player";
-    longDescription = ''
-      GNOME MPV interacts with mpv via the client API exported by libmpv,
-      allowing access to mpv's powerful playback capabilities through an
-      easy-to-use user interface.
-    '';
-    homepage = "https://github.com/celluloid-player/celluloid";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/video/kodi/default.nix b/nixpkgs/pkgs/applications/video/kodi/default.nix
index e5844eb827df..73bcdadbc594 100644
--- a/nixpkgs/pkgs/applications/video/kodi/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
+{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
 , pkgconfig, cmake, gnumake, yasm, python2Packages
 , libgcrypt, libgpgerror, libunistring
 , boost, avahi, lame, autoreconfHook
@@ -42,21 +42,36 @@ assert usbSupport   -> libusb != null && ! udevSupport; # libusb won't be used i
 assert vdpauSupport -> libvdpau != null;
 assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
 
-# TODO for Kodi 18.0
-# - check if dbus support PR has been merged and add dbus as a buildInput
-
 let
-  kodiReleaseDate = "20190129";
-  kodiVersion = "18.1";
+  kodiReleaseDate = "20190627";
+  kodiVersion = "18.3";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "1w26aqvzxv4c70gcd1vw1pldapsc2xcacwq9b7dqx5m44j0zx1dc";
+    sha256 = "18fbl5hs3aqccrn0m3x7hp95wlafjav0yvrwmb5q3gj24mwf6jld";
+  };
+
+  cmakeProto = fetchurl {
+    url = "https://raw.githubusercontent.com/pramsey/libght/ca9b1121c352ea10170636e170040e1af015bad1/cmake/modules/CheckPrototypeExists.cmake";
+    sha256  = "1zai82gm5x55n3xvdv7mns3ja6a2k81x9zz0nk42j6s2yb0fkjxh";
   };
 
+  cmakeProtoPatch = ''
+    # get rid of windows headers as they will otherwise be found first
+    rm -rf msvc
+
+    cp ${cmakeProto} cmake/${cmakeProto.name}
+    # we need to enable support for C++ for check_prototype_exists to do its thing
+    substituteInPlace CMakeLists.txt --replace 'LANGUAGES C' 'LANGUAGES C CXX'
+    if [ -f cmake/CheckHeadersSTDC.cmake ]; then
+      sed -i cmake/CheckHeadersSTDC.cmake \
+        -e '7iinclude(CheckPrototypeExists)'
+    fi
+  '';
+
   kodiDependency = { name, version, rev, sha256, ... } @attrs:
     let
       attrs' = builtins.removeAttrs attrs ["name" "version" "rev" "sha256"];
@@ -83,16 +98,25 @@ let
     nativeBuildInputs = [ cmake nasm pkgconfig ];
   };
 
-  # we should be able to build these externally and have kodi reference them as buildInputs.
-  # Doesn't work ATM though so we just use them for the src
-
+  # We can build these externally but FindLibDvd.cmake forces us to build it
+  # them, so we currently just use them for the src.
   libdvdcss = kodiDependency rec {
     name              = "libdvdcss";
     version           = "1.4.2";
     rev               = "${version}-${rel}-Beta-5";
     sha256            = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
-    buildInputs       = [ libdvdread ];
-    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+    buildInputs       = [ linuxHeaders ];
+    nativeBuildInputs = [ cmake pkgconfig ];
+    postPatch = ''
+      rm -rf msvc
+
+      substituteInPlace config.h.cm \
+        --replace '#cmakedefine O_BINARY "''${O_BINARY}"' '#define O_BINARY 0'
+    '';
+    cmakeFlags = [
+      "-DBUILD_SHARED_LIBS=1"
+      "-DHAVE_LINUX_DVD_STRUCT=1"
+    ];
   };
 
   libdvdnav = kodiDependency rec {
@@ -100,8 +124,12 @@ let
     version           = "6.0.0";
     rev               = "${version}-${rel}-Alpha-3";
     sha256            = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
-    buildInputs       = [ libdvdread ];
-    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+    buildInputs       = [ libdvdcss libdvdread ];
+    nativeBuildInputs = [ cmake pkgconfig ];
+    postPatch         = cmakeProtoPatch;
+    postInstall = ''
+      mv $out/lib/liblibdvdnav.so $out/lib/libdvdnav.so
+    '';
   };
 
   libdvdread = kodiDependency rec {
@@ -109,7 +137,10 @@ let
     version           = "6.0.0";
     rev               = "${version}-${rel}-Alpha-3";
     sha256            = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
-    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+    buildInputs       = [ libdvdcss ];
+    nativeBuildInputs = [ cmake pkgconfig ];
+    configureFlags    = [ "--with-libdvdcss" ];
+    postPatch         = cmakeProtoPatch;
   };
 
 in stdenv.mkDerivation rec {
@@ -160,7 +191,7 @@ in stdenv.mkDerivation rec {
       makeWrapper
       which
       pkgconfig gnumake
-      autoconf automake libtool # still needed for some components. Check if that is the case with 18.0
+      autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
     ] ++ lib.optional useWayland [ wayland-protocols ];
 
     cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 7c4d6d339f3e..42b40ade271f 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "35.0.0";
+  version = "36.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "163msz6l1d5vwirr1c6cm820kwxcjinwh91svf8ddg5181nwhmrx";
+    sha256 = "114j9n2m6dkh7vqzyhcsjzzffadr0lzyjmh31cbl4mvvkg9j5z6r";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix
index dcfeae52aae4..6c21a6b2012b 100644
--- a/nixpkgs/pkgs/applications/video/mpv/default.nix
+++ b/nixpkgs/pkgs/applications/video/mpv/default.nix
@@ -218,7 +218,7 @@ in stdenv.mkDerivation rec {
     description = "A media player that supports many video formats (MPlayer and mplayer2 fork)";
     homepage = https://mpv.io;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz ];
+    maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/video/shotcut/default.nix b/nixpkgs/pkgs/applications/video/shotcut/default.nix
index 1b80e379008c..2f0b54edc8fb 100644
--- a/nixpkgs/pkgs/applications/video/shotcut/default.nix
+++ b/nixpkgs/pkgs/applications/video/shotcut/default.nix
@@ -7,13 +7,13 @@ assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
 
 mkDerivation rec {
   name = "shotcut-${version}";
-  version = "19.07.15";
+  version = "19.08.16";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "0drl0x8x45kysalzx1pbg0gkvlxaykg9zka1fdkrl4iqfs4s7vv2";
+    sha256 = "0alnnfgimfs8fjddkcfx4pzyijwz5dgnqic5qazaza6f4kf60801";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index 8979e9790b4e..dda70d797e5e 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -25,11 +25,11 @@ assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null && wra
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "3.0.7.1";
+  version = "3.0.8";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
-    sha256 = "1xb4c8n0hkwijzfdlbwadhxnx9z8rlhmrdq4c7q74rq9f51q0m86";
+    sha256 = "e0149ef4a20a19b9ecd87309c2d27787ee3f47dfd47c6639644bc1f6fd95bdf6";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of