diff options
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r-- | pkgs/applications/video/droidcam/default.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/video/kazam/default.nix | 59 | ||||
-rw-r--r-- | pkgs/applications/video/lightworks/default.nix | 1 | ||||
-rw-r--r-- | pkgs/applications/video/makemkv/default.nix | 19 | ||||
-rw-r--r-- | pkgs/applications/video/mkvtoolnix/default.nix | 135 | ||||
-rw-r--r-- | pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix | 6 | ||||
-rw-r--r-- | pkgs/applications/video/obs-studio/plugins/default.nix | 1 | ||||
-rw-r--r-- | pkgs/applications/video/qmplay2/default.nix | 20 | ||||
-rw-r--r-- | pkgs/applications/video/shotcut/default.nix | 1 | ||||
-rw-r--r-- | pkgs/applications/video/srtrelay/default.nix | 25 | ||||
-rw-r--r-- | pkgs/applications/video/streamlink/default.nix | 12 | ||||
-rw-r--r-- | pkgs/applications/video/vlc/default.nix | 14 |
12 files changed, 212 insertions, 85 deletions
diff --git a/pkgs/applications/video/droidcam/default.nix b/pkgs/applications/video/droidcam/default.nix index 38d3d6304c6..4284d6dbf9f 100644 --- a/pkgs/applications/video/droidcam/default.nix +++ b/pkgs/applications/video/droidcam/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "droidcam"; - version = "1.7.3"; + version = "1.8.0"; src = fetchFromGitHub { owner = "aramg"; repo = "droidcam"; rev = "v${version}"; - sha256 = "sha256-Ok8FJweSzmewjYzfBJQ28xGHKK/Y32ng1hOCPVwc8eU="; + sha256 = "sha256-A8FHTAeDFaSDp5Bnfv5NmCC7xIFAw3IcHSD4hZp4vwU="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix index f99b4930870..4ba0fe98df0 100644 --- a/pkgs/applications/video/kazam/default.nix +++ b/pkgs/applications/video/kazam/default.nix @@ -1,24 +1,44 @@ -{ lib, fetchurl, substituteAll, python3, gst_all_1, wrapGAppsHook, gobject-introspection -, gtk3, libwnck, keybinder3, intltool, libcanberra-gtk3, libappindicator-gtk3, libpulseaudio -, fetchpatch }: - -python3.pkgs.buildPythonApplication rec { - name = "kazam-${version}"; - version = "1.4.5"; - namePrefix = ""; - - src = fetchurl { - url = "https://launchpad.net/kazam/stable/${version}/+download/kazam-${version}.tar.gz"; - sha256 = "1qygnrvm6aqixbyivhssp70hs0llxwk7lh3j7idxa2jbkk06hj4f"; +{ lib +, fetchFromGitHub +, substituteAll +, python3Packages +, gst_all_1 +, wrapGAppsHook +, gobject-introspection +, gtk3 +, libwnck +, keybinder3 +, intltool +, libcanberra-gtk3 +, libappindicator-gtk3 +, libpulseaudio +, libgudev +}: + +python3Packages.buildPythonApplication rec { + pname = "kazam"; + version = "unstable-2021-06-22"; + + src = fetchFromGitHub { + owner = "niknah"; + repo = "kazam"; + rev = "13f6ce124e5234348f56358b9134a87121f3438c"; + sha256 = "1jk6khwgdv3nmagdgp5ivz3156pl0ljhf7b6i4b52w1h5ywsg9ah"; }; - nativeBuildInputs = [ gobject-introspection python3.pkgs.distutils_extra intltool wrapGAppsHook ]; + nativeBuildInputs = [ gobject-introspection python3Packages.distutils_extra intltool wrapGAppsHook ]; buildInputs = [ - gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gtk3 libwnck - keybinder3 libappindicator-gtk3 + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gtk3 + libwnck + keybinder3 + libappindicator-gtk3 + libgudev ]; - propagatedBuildInputs = with python3.pkgs; [ pygobject3 pyxdg pycairo dbus-python ]; + propagatedBuildInputs = with python3Packages; [ pygobject3 pyxdg pycairo dbus-python xlib ]; # workaround https://github.com/NixOS/nixpkgs/issues/56943 strictDeps = false; @@ -30,11 +50,6 @@ python3.pkgs.buildPythonApplication rec { libcanberra = libcanberra-gtk3; inherit libpulseaudio; }) - # https://github.com/hzbd/kazam/pull/21 - (fetchpatch { - url = "https://github.com/hzbd/kazam/commit/37e53a5aa61f4223a9ea03ceeda26eeba2b9d37b.patch"; - sha256 = "1q5dpmdm6cvgzw8xa7bwclnqa05xc73ja1lszwmwv5glyik0fk4z"; - }) ]; # no tests @@ -42,7 +57,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "A screencasting program created with design in mind"; - homepage = "https://code.launchpad.net/kazam"; + homepage = "https://github.com/niknah/kazam"; license = licenses.lgpl3; platforms = platforms.linux; maintainers = [ maintainers.domenkozar ]; diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix index 352af7754c7..affc585ed35 100644 --- a/pkgs/applications/video/lightworks/default.nix +++ b/pkgs/applications/video/lightworks/default.nix @@ -38,7 +38,6 @@ let nativeBuildInputs = [ makeWrapper ]; buildInputs = [ dpkg ]; - phases = [ "unpackPhase" "installPhase" ]; unpackPhase = "dpkg-deb -x ${src} ./"; installPhase = '' diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix index 9ab35b92a86..180d5e8e829 100644 --- a/pkgs/applications/video/makemkv/default.nix +++ b/pkgs/applications/video/makemkv/default.nix @@ -13,22 +13,23 @@ }: let - version = "1.16.3"; + version = "1.16.4"; # Using two URLs as the first one will break as soon as a new version is released src_bin = fetchurl { urls = [ "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz" "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz" ]; - hash = "sha256-G2XceMwiFu4fWT4L3HJzDB/rD3eSX6ko6RdVw72QLzg="; + sha256 = "18kalql846b9ggl3nsz2dpbg51byn8pj0y68fsdcgwwkgvsx7yr2"; }; src_oss = fetchurl { urls = [ "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz" "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz" ]; - hash = "sha256-YUGozP9B6vmWQ4WxctSbezzu+0yLJXNKQk9TwnQF8F0="; + sha256 = "0ssg3q1z80652d4gkv1z7kpsxx82xcw6kpsw266c8q4y2n8x7c76"; }; + in mkDerivation { pname = "makemkv"; inherit version; @@ -51,9 +52,15 @@ in mkDerivation { installPhase = '' runHook preInstall - install -Dm555 -t $out/bin out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon - install -D -t $out/lib out/lib{driveio,makemkv,mmbd}.so.* - install -D -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/* + install -Dm555 -t $out/bin out/makemkv ../makemkv-bin-${version}/bin/amd64/makemkvcon + install -D -t $out/lib out/lib{driveio,makemkv,mmbd}.so.* + install -D -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/* + install -Dm444 -t $out/share/applications ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop + install -Dm444 -t $out/share/icons/hicolor/16x16 ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/* + install -Dm444 -t $out/share/icons/hicolor/32x32 ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/* + install -Dm444 -t $out/share/icons/hicolor/64x64 ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/* + install -Dm444 -t $out/share/icons/hicolor/128x128 ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/* + install -Dm444 -t $out/share/icons/hicolor/256x256 ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/* runHook postInstall ''; diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 23bad049d6f..8557c47ad77 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -1,69 +1,138 @@ -{ lib, stdenv, fetchFromGitLab, pkg-config, autoconf, automake, libiconv, drake -, ruby, docbook_xsl, file, xdg-utils, gettext, expat, boost, libebml, zlib -, fmt, libmatroska, libogg, libvorbis, flac, libxslt, cmark, pcre2 +{ lib +, stdenv +, mkDerivation +, fetchFromGitLab +, pkg-config +, autoreconfHook +, qmake +, rake +, boost +, cmark +, docbook_xsl +, expat +, file +, flac +, fmt +, gettext +, gmp +, gtest +, libdvdread +, libebml +, libiconv +, libmatroska +, libogg +, libvorbis +, libxslt +, nlohmann_json +, pugixml +, qtbase +, qtmultimedia +, xdg-utils +, zlib , withGUI ? true - , qtbase ? null - , qtmultimedia ? null - , wrapQtAppsHook ? null +, wrapQtAppsHook }: -assert withGUI -> qtbase != null && qtmultimedia != null && wrapQtAppsHook != null; +let + inherit (lib) enableFeature optional optionals optionalString; -with lib; + phase = name: args: + '' + runHook pre${name} -stdenv.mkDerivation rec { + rake ${args} + + runHook post${name} + ''; + +in +mkDerivation rec { pname = "mkvtoolnix"; - version = "56.0.0"; + version = "59.0.0"; src = fetchFromGitLab { - owner = "mbunkus"; - repo = "mkvtoolnix"; - rev = "release-${version}"; - sha256 = "0nhpp1zkggxqjj7lhj6as5mcjcz5yk3l1d1xcgs7i9153blam1yj"; + owner = "mbunkus"; + repo = "mkvtoolnix"; + rev = "release-${version}"; + sha256 = "sha256-bPypOsveXrkz1V961b9GTJKFdgru/kcW15z/yik/4yQ="; }; nativeBuildInputs = [ - pkg-config autoconf automake gettext - drake ruby docbook_xsl libxslt - ]; + autoreconfHook + docbook_xsl + gettext + gtest + libxslt + pkg-config + rake + ] + ++ optional withGUI wrapQtAppsHook; + # 1. qtbase and qtmultimedia are needed without the GUI + # 2. we have utf8cpp in nixpkgs but it doesn't find it buildInputs = [ - expat file xdg-utils boost libebml zlib fmt - libmatroska libogg libvorbis flac cmark pcre2 - ] ++ optional stdenv.isDarwin libiconv - ++ optionals withGUI [ qtbase qtmultimedia wrapQtAppsHook ]; + boost + expat + file + flac + fmt + gmp + libdvdread + libebml + libmatroska + libogg + libvorbis + nlohmann_json + pugixml + qtbase + qtmultimedia + xdg-utils + zlib + ] + ++ optional withGUI cmark + ++ optional stdenv.isDarwin libiconv; - preConfigure = "./autogen.sh; patchShebangs ."; - buildPhase = "drake -j $NIX_BUILD_CORES"; - installPhase = "drake install -j $NIX_BUILD_CORES"; + # autoupdate is not needed but it silences a ton of pointless warnings + postPatch = '' + patchShebangs . > /dev/null + autoupdate configure.ac ac/*.m4 + ''; configureFlags = [ - "--enable-magic" - "--enable-optimization" - "--with-boost-libdir=${boost.out}/lib" "--disable-debug" - "--disable-profiling" "--disable-precompiled-headers" + "--disable-profiling" "--disable-static-qt" - "--with-gettext" + "--enable-optimization" + "--with-boost-libdir=${boost.out}/lib" "--with-docbook-xsl-root=${docbook_xsl}/share/xml/docbook-xsl" - (enableFeature withGUI "qt") + "--with-gettext" + (enableFeature withGUI "gui") ]; + buildPhase = phase "Build" ""; + + installPhase = phase "Install" "install"; + + doCheck = true; + + checkPhase = phase "Check" "tests:run_unit"; + CXXFLAGS = optional stdenv.cc.isClang "-std=c++17"; LDFLAGS = optional stdenv.cc.isClang "-lc++fs"; dontWrapQtApps = true; + postFixup = optionalString withGUI '' wrapQtApp $out/bin/mkvtoolnix-gui ''; meta = with lib; { description = "Cross-platform tools for Matroska"; - homepage = "http://www.bunkus.org/videotools/mkvtoolnix/"; - license = licenses.gpl2Only; + homepage = "https://mkvtoolnix.download/"; + license = licenses.gpl2Only; maintainers = with maintainers; [ codyopel rnhmjoj ]; - platforms = platforms.linux + platforms = platforms.linux ++ optionals (!withGUI) platforms.darwin; }; } diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix index 99b731757ff..01f2c3a099f 100644 --- a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix +++ b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix @@ -2,13 +2,13 @@ , fetchFromGitHub }: stdenvNoCC.mkDerivation rec { pname = "simple-mpv-ui"; - version = "1.0.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "open-dynaMIX"; repo = "simple-mpv-webui"; rev = "v${version}"; - sha256 = "1glrnnl1slcl0ri0zs4j64lc9aa52p9ffh6av0d81fk95nm98917"; + sha256 = "1z0y8sdv5mbxznxqh43w5592ym688vkvqg7w26p8cinrhf09pbw8"; }; dontBuild = true; @@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { description = "A web based user interface with controls for the mpv mediaplayer"; homepage = "https://github.com/open-dynaMIX/simple-mpv-webui"; - maintainers = [ maintainers.cript0nauta ]; + maintainers = with maintainers; [ cript0nauta zopieux ]; longDescription = '' You can access the webui when accessing http://127.0.0.1:8080 or http://[::1]:8080 in your webbrowser. By default it listens on diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix index ef360487a6b..67425e2fee0 100644 --- a/pkgs/applications/video/obs-studio/plugins/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/default.nix @@ -5,6 +5,7 @@ obs-move-transition = callPackage ./obs-move-transition.nix {}; obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix {}; obs-ndi = libsForQt5.callPackage ./obs-ndi.nix {}; + obs-websocket = libsForQt5.callPackage ./obs-websocket.nix {}; wlrobs = callPackage ./wlrobs.nix {}; looking-glass-obs = callPackage ./looking-glass-obs.nix {}; } diff --git a/pkgs/applications/video/qmplay2/default.nix b/pkgs/applications/video/qmplay2/default.nix index 0e0580b9f2a..538f540c63b 100644 --- a/pkgs/applications/video/qmplay2/default.nix +++ b/pkgs/applications/video/qmplay2/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , pkg-config , cmake @@ -19,25 +20,27 @@ , vulkan-tools , wrapQtAppsHook }: - -let +stdenv.mkDerivation rec { pname = "qmplay2"; - version = "20.12.16"; -in stdenv.mkDerivation { - inherit pname version; + version = "21.06.07"; src = fetchFromGitHub { owner = "zaps166"; repo = "QMPlay2"; rev = version; - sha256 = "sha256-+XXlQI9MyENioYmzqbbZYQ6kaMATBjPrPaErR2Vqhus="; + sha256 = "sha256-NV9uglYnqebXhMx8uL0DhGe9l5TBVjlSIaB4IWC8YAc="; fetchSubmodules = true; }; - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapQtAppsHook + ]; buildInputs = [ alsa-lib ffmpeg + libXv libass libcddb libcdio @@ -45,7 +48,6 @@ in stdenv.mkDerivation { libpulseaudio libsidplayfp libva - libXv qtbase qttools taglib diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix index 3a9c4809c62..6ea41b4d925 100644 --- a/pkgs/applications/video/shotcut/default.nix +++ b/pkgs/applications/video/shotcut/default.nix @@ -34,7 +34,6 @@ mkDerivation rec { sha256 = "UdeHbNkJ0U9FeTmpbcU4JxiyIHkrlC8ErhtY6zdCZEk="; }; - enableParallelBuilding = true; nativeBuildInputs = [ pkg-config qmake ]; buildInputs = [ SDL2 diff --git a/pkgs/applications/video/srtrelay/default.nix b/pkgs/applications/video/srtrelay/default.nix new file mode 100644 index 00000000000..5fffdca9e38 --- /dev/null +++ b/pkgs/applications/video/srtrelay/default.nix @@ -0,0 +1,25 @@ +{ lib, buildGoModule, fetchFromGitHub, srt, ffmpeg }: + +buildGoModule rec { + pname = "srtrelay-unstable"; + version = "2021-07-28"; + + src = fetchFromGitHub { + owner = "voc"; + repo = "srtrelay"; + rev = "c4f02ff2e9637b01a0679b29e5a76f4521eeeef3"; + sha256 = "06zbl97bjjyv51zp27qk37ffpbh1ylm9bsr0s5qlyd73pyavcj1g"; + }; + + vendorSha256 = "1pdpb0my7gdvjjkka6jhj19b9nx575k6117hg536b106ij2n4zd2"; + + buildInputs = [ srt ]; + checkInputs = [ ffmpeg ]; + + meta = with lib; { + description = "Streaming-Relay for the SRT-protocol"; + homepage = "https://github.com/voc/srtrelay"; + license = licenses.mit; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index fde2833c98c..8097c5dbe92 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -7,13 +7,13 @@ python3.pkgs.buildPythonApplication rec { pname = "streamlink"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "streamlink"; repo = "streamlink"; rev = version; - sha256 = "1323v1pavmbb2vk3djdkxd8j6i3yrcgrkyl2d7xwkb7nwlla1x1v"; + sha256 = "sha256-lsurDFvVHn1rxR3bgG7BY512ISavpja36/UaKXauf+g="; }; checkInputs = with python3.pkgs; [ @@ -35,9 +35,11 @@ python3.pkgs.buildPythonApplication rec { ffmpeg ]; - disabledTests = [ - "test_plugin_not_in_removed_list" - ]; + # note that upstream currently uses requests 2.25.1 in Windows builds + postPatch = '' + substituteInPlace setup.py \ + --replace 'requests>=2.26.0,<3.0' 'requests>=2.25.1,<3.0' + ''; meta = with lib; { homepage = "https://github.com/streamlink/streamlink"; diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 7aee50d5064..46669dff530 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, autoreconfHook +{ lib, stdenv, fetchurl, autoreconfHook, fetchpatch , libarchive, perl, xorg, libdvdnav, libbluray , zlib, a52dec, libmad, faad2, ffmpeg, alsa-lib , pkg-config, dbus, fribidi, freefont_ttf, libebml, libmatroska @@ -8,7 +8,7 @@ , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, libssh2, liboggz , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols -, ncurses +, ncurses, srt , onlyLibVLC ? false , withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook , jackSupport ? false @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { libkate libtiger libv4l samba libssh2 liboggz libass libdvbpsi libva xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate - fluidsynth wayland wayland-protocols ncurses + fluidsynth wayland wayland-protocols ncurses srt ] ++ optional (!stdenv.hostPlatform.isAarch64) live555 ++ optionals withQt5 [ qtbase qtsvg qtx11extras ] ++ optionals skins2Support (with xorg; [ libXpm freetype libXext libXinerama ]) @@ -61,6 +61,13 @@ stdenv.mkDerivation rec { # set the path to the compiler BUILDCC = "${stdenv.cc}/bin/gcc"; + patches = [ + (fetchpatch { + url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4250fe8f28c220d883db454cec2b2c76a07473eb/trunk/vlc-3.0.11.1-srt_1.4.2.patch"; + sha256 = "53poWjZfwq/6l316sqiCp0AtcGweyXBntcLDFPSokHQ="; + }) + ]; + postPatch = '' substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \ /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype @@ -80,6 +87,7 @@ stdenv.mkDerivation rec { # "--enable-foo" flags here configureFlags = [ "--with-kde-solid=$out/share/apps/solid/actions" + "--enable-srt" # Explicit enable srt to ensure the patch is applied. ] ++ optional onlyLibVLC "--disable-vlc" ++ optional skins2Support "--enable-skins2" ++ optionals chromecastSupport [ |