diff options
Diffstat (limited to 'pkgs/applications/video')
62 files changed, 870 insertions, 386 deletions
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix index 123308babea..64c7dc20f35 100644 --- a/pkgs/applications/video/aegisub/default.nix +++ b/pkgs/applications/video/aegisub/default.nix @@ -12,7 +12,7 @@ , libass , fftw , ffms -, ffmpeg +, ffmpeg_3 , pkg-config , zlib , icu @@ -85,7 +85,7 @@ stdenv.mkDerivation libass fftw ffms - ffmpeg + ffmpeg_3 zlib icu boost diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index 9374d2dbc79..2dd6b12c14f 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -25,11 +25,11 @@ assert !withQT -> default != "qt5"; stdenv.mkDerivation rec { pname = "avidemux"; - version = "2.7.4"; + version = "2.7.6"; src = fetchurl { url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz"; - sha256 = "1acdb3m37vdzzbm8mwyibcn8msi7birb5v30qfi7jli5r00src3x"; + sha256 = "1kwkn976ppahrcr74bnv6sqx75pzl9y21m1mvr5ksi1m6lgp924s"; }; patches = [ diff --git a/pkgs/applications/video/avxsynth/default.nix b/pkgs/applications/video/avxsynth/default.nix index 2cccbae43d2..e818ef585c1 100644 --- a/pkgs/applications/video/avxsynth/default.nix +++ b/pkgs/applications/video/avxsynth/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig -, cairo, ffmpeg, ffms, libjpeg, log4cpp, pango +, cairo, ffmpeg_3, ffms, libjpeg, log4cpp, pango , avxeditSupport ? false, qt4 ? null }: @@ -29,7 +29,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ cairo ffmpeg ffms libjpeg log4cpp pango ] + buildInputs = [ cairo ffmpeg_3 ffms libjpeg log4cpp pango ] ++ optional avxeditSupport qt4; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/bombono/default.nix b/pkgs/applications/video/bombono/default.nix index f9a82af2f79..2ae3722fff2 100644 --- a/pkgs/applications/video/bombono/default.nix +++ b/pkgs/applications/video/bombono/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, wrapGAppsHook, gtk2, boost, gtkmm2, scons, -mjpegtools, libdvdread, dvdauthor, gettext, dvdplusrwtools, libxmlxx, ffmpeg, +mjpegtools, libdvdread, dvdauthor, gettext, dvdplusrwtools, libxmlxx, ffmpeg_3, enca, pkgconfig, fetchpatch }: let fetchPatchFromAur = {name, sha256}: @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 gtkmm2 mjpegtools libdvdread dvdauthor boost dvdplusrwtools - libxmlxx ffmpeg enca + libxmlxx ffmpeg_3 enca ]; prefixKey = "PREFIX="; diff --git a/pkgs/applications/video/catt/default.nix b/pkgs/applications/video/catt/default.nix index b3df290bfb0..7f2b8551151 100644 --- a/pkgs/applications/video/catt/default.nix +++ b/pkgs/applications/video/catt/default.nix @@ -12,7 +12,7 @@ buildPythonApplication rec { src = fetchPypi { inherit pname version; - hash = "sha256:1vq1wg79b7855za6v6bsfgypm0v3b4wakap4rash45mhzbgjj0kq"; + sha256 = "1vq1wg79b7855za6v6bsfgypm0v3b4wakap4rash45mhzbgjj0kq"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/video/celluloid/default.nix b/pkgs/applications/video/celluloid/default.nix index 208cbb7f4e6..80a30852dae 100644 --- a/pkgs/applications/video/celluloid/default.nix +++ b/pkgs/applications/video/celluloid/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitHub +, nix-update-script , meson , ninja , python3 @@ -49,6 +50,12 @@ stdenv.mkDerivation rec { doCheck = true; + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + meta = with stdenv.lib; { description = "Simple GTK frontend for the mpv video player"; longDescription = '' diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix index 34e0d33bcbc..0e39ab05685 100644 --- a/pkgs/applications/video/clipgrab/default.nix +++ b/pkgs/applications/video/clipgrab/default.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchurl, makeDesktopItem, ffmpeg +{ stdenv, fetchurl, makeDesktopItem, ffmpeg_3 , qmake, qttools, mkDerivation , qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtwebchannel, qtwebengine }: mkDerivation rec { pname = "clipgrab"; - version = "3.8.11"; + version = "3.8.13"; src = fetchurl { - sha256 = "0jpfdmyzjasq4x1xvk7b1cmhhq6fz6ydvvbwz2wclph367x496xk"; + sha256 = "0ryaha33m41y0xjrspa838qqr4iy2c8vbvhbb334qimpqn1hj3q5"; # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz! url = "https://download.clipgrab.org/${pname}-${version}.tar.gz"; }; - buildInputs = [ ffmpeg qtbase qtdeclarative qtlocation qtquickcontrols2 qtwebchannel qtwebengine ]; + buildInputs = [ ffmpeg_3 qtbase qtdeclarative qtlocation qtquickcontrols2 qtwebchannel qtwebengine ]; nativeBuildInputs = [ qmake qttools ]; - postPatch = stdenv.lib.optionalString (ffmpeg != null) '' + postPatch = stdenv.lib.optionalString (ffmpeg_3 != null) '' substituteInPlace converter_ffmpeg.cpp \ - --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \ - --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg ' + --replace '"ffmpeg"' '"${ffmpeg_3.bin}/bin/ffmpeg"' \ + --replace '"ffmpeg ' '"${ffmpeg_3.bin}/bin/ffmpeg ' ''; qmakeFlags = [ "clipgrab.pro" ]; diff --git a/pkgs/applications/video/devede/default.nix b/pkgs/applications/video/devede/default.nix index 2ec2f68d128..9bb5518e80f 100644 --- a/pkgs/applications/video/devede/default.nix +++ b/pkgs/applications/video/devede/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, python3Packages, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor +{ stdenv, fetchFromGitHub, python3Packages, ffmpeg_3, mplayer, vcdimager, cdrkit, dvdauthor , gtk3, gettext, wrapGAppsHook, gdk-pixbuf, gobject-introspection }: let @@ -30,11 +30,11 @@ in buildPythonApplication { ]; buildInputs = [ - ffmpeg + ffmpeg_3 ]; propagatedBuildInputs = [ - gtk3 pygobject3 gdk-pixbuf dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit urllib3 setuptools + gtk3 pygobject3 gdk-pixbuf dbus-python ffmpeg_3 mplayer dvdauthor vcdimager cdrkit urllib3 setuptools ]; postPatch = '' diff --git a/pkgs/applications/video/dvd-slideshow/default.nix b/pkgs/applications/video/dvd-slideshow/default.nix index f6e336240d3..e35d95d54d6 100644 --- a/pkgs/applications/video/dvd-slideshow/default.nix +++ b/pkgs/applications/video/dvd-slideshow/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools, runtimeShell }: +{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg_3, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools, runtimeShell }: let - binPath = lib.makeBinPath [ cdrtools dvdauthor ffmpeg imagemagick lame mjpegtools sox transcode vorbis-tools ]; + binPath = lib.makeBinPath [ cdrtools dvdauthor ffmpeg_3 imagemagick lame mjpegtools sox transcode vorbis-tools ]; wrapper = writeScript "dvd-slideshow.sh" '' #!${runtimeShell} diff --git a/pkgs/applications/video/dvdauthor/default.nix b/pkgs/applications/video/dvdauthor/default.nix index 6be1d8a1633..af1fe24cbbf 100644 --- a/pkgs/applications/video/dvdauthor/default.nix +++ b/pkgs/applications/video/dvdauthor/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, imagemagick, libdvdread, libxml2, freetype, fribidi, libpng, zlib, pkgconfig , flex, bison }: -stdenv.mkDerivation rec{ +stdenv.mkDerivation rec { name = "dvdauthor-0.7.1"; src = fetchurl { diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix index c2259ce8379..411ab9e6bc2 100644 --- a/pkgs/applications/video/ffmpeg-normalize/default.nix +++ b/pkgs/applications/video/ffmpeg-normalize/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonApplication , fetchPypi -, ffmpeg +, ffmpeg_3 , tqdm }: @@ -14,7 +14,7 @@ buildPythonApplication rec { sha256 = "18dpck9grnr3wgbjvdh4mjlx0zfwcxpy4rnpmc39in0yk3w7li2x"; }; - propagatedBuildInputs = [ ffmpeg tqdm ]; + propagatedBuildInputs = [ ffmpeg_3 tqdm ]; checkPhase = '' $out/bin/ffmpeg-normalize --help > /dev/null diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix index 3b7e8913c5d..3a3ca044bb8 100644 --- a/pkgs/applications/video/gnomecast/default.nix +++ b/pkgs/applications/video/gnomecast/default.nix @@ -1,4 +1,4 @@ -{ lib, python3Packages, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook }: +{ lib, python3Packages, gtk3, gobject-introspection, ffmpeg_3, wrapGAppsHook }: with python3Packages; buildPythonApplication rec { @@ -17,7 +17,7 @@ buildPythonApplication rec { ]; preFixup = '' - gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}) + gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg_3 ]}) ''; meta = with lib; { diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 9b51746b14c..b56c26dff78 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -7,9 +7,9 @@ # be nice to add the native GUI (and/or the GTK GUI) as an option too, but that # requires invoking the Xcode build system, which is non-trivial for now. -{ stdenv, lib, fetchurl, fetchpatch, +{ stdenv, lib, fetchFromGitHub, # Main build tools - python2, pkgconfig, autoconf, automake, libtool, m4, lzma, + pkgconfig, autoconf, automake, libtool, m4, lzma, python3, numactl, # Processing, video codecs, containers ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora, dav1d, @@ -30,34 +30,64 @@ # for now we disable GTK GUI support on Darwin. (It may be possible to remove # this restriction later.) useGtk ? !stdenv.isDarwin, wrapGAppsHook ? null, - intltool ? null, - glib ? null, - gtk3 ? null, - libappindicator-gtk3 ? null, - libnotify ? null, - gst_all_1 ? null, - dbus-glib ? null, - udev ? null, - libgudev ? null, - hicolor-icon-theme ? null, + intltool ? null, + glib ? null, + gtk3 ? null, + libappindicator-gtk3 ? null, + libnotify ? null, + gst_all_1 ? null, + dbus-glib ? null, + udev ? null, + libgudev ? null, + hicolor-icon-theme ? null, # FDK useFdk ? false, fdk_aac ? null }: -assert stdenv.isDarwin -> AudioToolbox != null && Foundation != null - && libobjc != null && VideoToolbox != null; +assert stdenv.isDarwin -> AudioToolbox != null + && Foundation != null + && libobjc != null + && VideoToolbox != null; stdenv.mkDerivation rec { pname = "handbrake"; - version = "1.3.1"; + version = "1.3.3"; - src = fetchurl { - url = ''https://download.handbrake.fr/releases/${version}/HandBrake-${version}-source.tar.bz2''; - sha256 = "09rcrq0kjs1lc1as7w3glbpbfvzldwpx3xv0pfmkn4pl7acxw1f0"; + src = fetchFromGitHub { + owner = "HandBrake"; + repo = "HandBrake"; + rev = version; + sha256 = "0bsmk37543zv3p32a7wxnh2w483am23ha2amj339q3nnb4142krn"; + extraPostFetch = '' + echo "DATE=$(date +"%F %T %z" -r $out/NEWS.markdown)" > $out/version.txt + ''; }; + # we put as little as possible in src.extraPostFetch as it's much easier to + # add to it here without having to fiddle with src.sha256 + # only DATE and HASH are absolutely necessary + postPatch = '' + cat >> version.txt <<_EOF +HASH=${src.rev} +SHORTHASH=${src.rev} +TAG=${version} +URL=${src.meta.homepage} +_EOF + + patchShebangs scripts + + substituteInPlace libhb/module.defs \ + --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2 + + # Force using nixpkgs dependencies + sed -i '/MODULES += contrib/d' make/include/main.defs + sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \ + -e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \ + -i make/configure.py + ''; + nativeBuildInputs = [ - python2 pkgconfig autoconf automake libtool m4 + pkgconfig autoconf automake libtool m4 python3 ] ++ lib.optionals useGtk [ intltool wrapGAppsHook ]; buildInputs = [ @@ -70,26 +100,12 @@ stdenv.mkDerivation rec { gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev libgudev hicolor-icon-theme ] ++ lib.optional useFdk fdk_aac - ++ lib.optionals stdenv.isDarwin [ AudioToolbox Foundation libobjc VideoToolbox ] + ++ lib.optionals stdenv.isDarwin [ AudioToolbox Foundation libobjc VideoToolbox ] # NOTE: 2018-12-27: Handbrake supports nv-codec-headers for Linux only, # look at ./make/configure.py search "enable_nvenc" - ++ lib.optional stdenv.isLinux nv-codec-headers; + ++ lib.optional stdenv.isLinux nv-codec-headers; - preConfigure = '' - patchShebangs scripts - - substituteInPlace libhb/module.defs \ - --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2 - substituteInPlace libhb/module.defs \ - --replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2 - - # Force using nixpkgs dependencies - sed -i '/MODULES += contrib/d' make/include/main.defs - sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules - sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \ - -e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \ - -i make/configure.py - ''; + enableParallelBuilding = true; configureFlags = [ "--disable-df-fetch" @@ -97,10 +113,10 @@ stdenv.mkDerivation rec { (if useGtk then "--disable-gtk-update-checks" else "--disable-gtk") (if useFdk then "--enable-fdk-aac" else "") (if stdenv.isDarwin then "--disable-xcode" else "") - ]; + ] ++ lib.optional (stdenv.isx86_32 || stdenv.isx86_64) "--harden"; # NOTE: 2018-12-27: Check NixOS HandBrake test if changing - NIX_LDFLAGS = toString [ + NIX_LDFLAGS = [ "-lx265" ]; diff --git a/pkgs/applications/video/hdhomerun-config-gui/default.nix b/pkgs/applications/video/hdhomerun-config-gui/default.nix new file mode 100644 index 00000000000..a147de52da8 --- /dev/null +++ b/pkgs/applications/video/hdhomerun-config-gui/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, libhdhomerun, vlc, gcc, gnumake, pkg-config, gtk2 }: + +stdenv.mkDerivation rec { + pname = "hdhomerun-config-gui"; + version = "20200521"; + + src = fetchurl { + url = "https://download.silicondust.com/hdhomerun/hdhomerun_config_gui_${version}.tgz"; + sha256 = "1r1rwfgi714nwblyg8nqjzkpm4n2lg7kqqqas47hvbn5waimz1ja"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ gtk2 libhdhomerun ]; + + configureFlags = [ "CPPFLAGS=-I${libhdhomerun}/include/hdhomerun" ]; + makeFlags = [ "SUBDIRS=src" ]; + + installPhase = '' + install -vDm 755 src/hdhomerun_config_gui $out/usr/bin/hdhomerun_config_gui + ''; + + meta = with stdenv.lib; { + description = "GUI for configuring Silicondust HDHomeRun TV tuners"; + homepage = "https://www.silicondust.com/support/linux"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.louisdk1 ]; + }; +} diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index de931074091..825aac4dad2 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -1,19 +1,27 @@ -{ stdenv, buildPythonApplication, fetchFromGitHub, fetchurl +{ stdenv, buildPythonApplication, fetchFromGitHub, callPackage , mpv, python-mpv-jsonipc, jellyfin-apiclient-python , pillow, tkinter, pystray, jinja2, pywebview }: +let + shaderPack = callPackage ./shader-pack.nix {}; +in buildPythonApplication rec { pname = "jellyfin-mpv-shim"; - version = "1.4.2"; + version = "1.7.1"; src = fetchFromGitHub { owner = "iwalton3"; repo = pname; rev = "v${version}"; - sha256 = "1cnii5wj0pgqg3dqk5cm6slpbs3730x8ippps4cjbsxcsrmqjpx6"; + sha256 = "0alrh5h3f8pq9mrq09jmpqa0yslxsjqwij6kwn24ggbwc10zkq75"; fetchSubmodules = true; # needed for display_mirror css file }; + patches = [ + ./disable-desktop-client.patch + ./disable-update-check.patch + ]; + # override $HOME directory: # error: [Errno 13] Permission denied: '/homeless-shelter' # @@ -25,6 +33,11 @@ buildPythonApplication rec { rm jellyfin_mpv_shim/win_utils.py ''; + postPatch = '' + # link the default shader pack + ln -s ${shaderPack} jellyfin_mpv_shim/default_shader_pack + ''; + propagatedBuildInputs = [ jellyfin-apiclient-python mpv @@ -42,7 +55,7 @@ buildPythonApplication rec { meta = with stdenv.lib; { homepage = "https://github.com/iwalton3/jellyfin-mpv-shim"; - description = "Allows casting of videos to MPV via the jellyfin mobile and web app."; + description = "Allows casting of videos to MPV via the jellyfin mobile and web app"; license = licenses.gpl3; maintainers = with maintainers; [ jojosch ]; }; diff --git a/pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch b/pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch new file mode 100644 index 00000000000..996225efb3a --- /dev/null +++ b/pkgs/applications/video/jellyfin-mpv-shim/disable-desktop-client.patch @@ -0,0 +1,12 @@ +diff --git a/setup.py b/setup.py +index a831959..2206e6e 100644 +--- a/setup.py ++++ b/setup.py +@@ -25,7 +25,6 @@ setup( + entry_points={ + 'console_scripts': [ + 'jellyfin-mpv-shim=jellyfin_mpv_shim.mpv_shim:main', +- 'jellyfin-mpv-desktop=jellyfin_mpv_shim.mpv_shim:main_desktop', + ] + }, + classifiers=[ diff --git a/pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch b/pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch new file mode 100644 index 00000000000..6941b956e85 --- /dev/null +++ b/pkgs/applications/video/jellyfin-mpv-shim/disable-update-check.patch @@ -0,0 +1,15 @@ +diff --git a/jellyfin_mpv_shim/conf.py b/jellyfin_mpv_shim/conf.py +index 0ab9326..ccedc17 100644 +--- a/jellyfin_mpv_shim/conf.py ++++ b/jellyfin_mpv_shim/conf.py +@@ -88,8 +88,8 @@ class Settings(object): + "sync_revert_seek": True, + "sync_osd_message": True, + "screenshot_menu": True, +- "check_updates": True, +- "notify_updates": True, ++ "check_updates": False, ++ "notify_updates": False, + "lang": None, + "desktop_scale": 1.0, + } diff --git a/pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix b/pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix new file mode 100644 index 00000000000..fd33e8c90b5 --- /dev/null +++ b/pkgs/applications/video/jellyfin-mpv-shim/shader-pack.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "jellyfin-mpv-shim-shader-pack"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "iwalton3"; + repo = "default-shader-pack"; + rev = "v${version}"; + sha256 = "04y8gvjy4v3773b1kyan4dxqcf86b56x7v33m2k246jbn0rl2pgr"; + }; + + installPhase = '' + mkdir -p $out + cp -a . $out + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/iwalton3/default-shader-pack"; + description = "Preconfigured set of MPV shaders and configurations for MPV Shim media clients"; + license = with licenses; [ mit lgpl3Plus unlicense ]; + maintainers = with maintainers; [ jojosch ]; + }; +} diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix index e4da20c8487..56788ae4f10 100644 --- a/pkgs/applications/video/kodi/default.nix +++ b/pkgs/applications/video/kodi/default.nix @@ -44,15 +44,15 @@ assert vdpauSupport -> libvdpau != null; assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null; let - kodiReleaseDate = "20200301"; - kodiVersion = "18.6"; + kodiReleaseDate = "20200728"; + kodiVersion = "18.8"; rel = "Leia"; kodi_src = fetchFromGitHub { owner = "xbmc"; repo = "xbmc"; rev = "${kodiVersion}-${rel}"; - sha256 = "0rwymipn5hljy5xrslzmrljmj6f9wb191wi7gjw20wl6sv44d0bk"; + sha256 = "0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva"; }; cmakeProto = fetchurl { @@ -179,8 +179,8 @@ in stdenv.mkDerivation { # libdvdcss libdvdnav libdvdread ] ++ lib.optional x11Support [ - libX11 xorgproto libXt libXmu libXext libXdmcp - libXinerama libXrandr libXtst libXfixes + libX11 xorgproto libXt libXmu libXext.dev libXdmcp + libXinerama libXrandr.dev libXtst libXfixes ] ++ lib.optional dbusSupport dbus ++ lib.optional joystickSupport cwiid @@ -192,8 +192,8 @@ in stdenv.mkDerivation { ++ lib.optional usbSupport libusb-compat-0_1 ++ lib.optional vdpauSupport libvdpau ++ lib.optionals useWayland [ - wayland - waylandpp.dev + wayland + waylandpp.dev wayland-protocols # Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise libxkbcommon.dev diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix index 2364f9ec02c..d3cb12924c2 100644 --- a/pkgs/applications/video/makemkv/default.nix +++ b/pkgs/applications/video/makemkv/default.nix @@ -1,23 +1,23 @@ { stdenv, mkDerivation, fetchurl, autoPatchelfHook -, ffmpeg, openssl, qtbase, zlib, pkgconfig +, ffmpeg_3, openssl, qtbase, zlib, pkgconfig }: let - version = "1.15.1"; + version = "1.15.2"; # 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" ]; - sha256 = "0c9661sdlld8b1g2pk8lbn3gz7cikh9bjqss11ffkriwii1x9fw0"; + sha256 = "1dbips0qllbwhak44c50nlwn8n3kx8i6773cal5zl3dv4v2nf6ql"; }; 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" ]; - sha256 = "0rm1zykqagy2g8hb7pjrc6akdsym8pgdnx66hnna161jbah3sssy"; + sha256 = "1wnhzlz5fw6qwh82hjcpimg60xb3a9a54zb6gcjhqr9zdly2zphy"; }; in mkDerivation { pname = "makemkv"; @@ -29,7 +29,7 @@ in mkDerivation { nativeBuildInputs = [ autoPatchelfHook pkgconfig ]; - buildInputs = [ ffmpeg openssl qtbase zlib ]; + buildInputs = [ ffmpeg_3 openssl qtbase zlib ]; installPhase = '' runHook preInstall @@ -55,6 +55,6 @@ in mkDerivation { license = licenses.unfree; homepage = "http://makemkv.com"; platforms = [ "x86_64-linux" ]; - maintainers = [ maintainers.titanous ]; + maintainers = with maintainers; [ danieldk titanous ]; }; } diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix index 470908377b5..667b2bb2b88 100644 --- a/pkgs/applications/video/manim/default.nix +++ b/pkgs/applications/video/manim/default.nix @@ -1,5 +1,5 @@ { lib, buildPythonApplication, fetchFromGitHub, pythonOlder, file, fetchpatch -, cairo, ffmpeg, sox, xdg_utils, texlive +, cairo, ffmpeg_3, sox, xdg_utils, texlive , colour, numpy, pillow, progressbar, scipy, tqdm, opencv , pycairo, pydub , pbr, fetchPypi }: @@ -28,14 +28,14 @@ buildPythonApplication rec { pycairo pydub - cairo sox ffmpeg xdg_utils + cairo sox ffmpeg_3 xdg_utils ]; # Test with texlive to see whether it works but don't propagate # because it's huge and optional # TODO: Use smaller TexLive distribution # Doesn't need everything but it's hard to figure out what it needs - checkInputs = [ cairo sox ffmpeg xdg_utils texlive.combined.scheme-full ]; + checkInputs = [ cairo sox ffmpeg_3 xdg_utils texlive.combined.scheme-full ]; # Simple test and complex test with LaTeX checkPhase = '' diff --git a/pkgs/applications/video/mapmap/default.nix b/pkgs/applications/video/mapmap/default.nix index 20ab4d75032..9d6ffbd439c 100644 --- a/pkgs/applications/video/mapmap/default.nix +++ b/pkgs/applications/video/mapmap/default.nix @@ -12,14 +12,14 @@ with stdenv; mkDerivation rec { - version = "0.6.1"; + version = "0.6.2"; pname = "mapmap"; src = fetchFromGitHub { owner = "mapmapteam"; repo = "mapmap"; rev = version; - sha256 = "15km6xmfkxhrflq4sl9m9r85zi4shrr4k5h15x17v7x0qkc3xgsh"; + sha256 = "1pyb3vz19lbfz2hrfqm9a29vnajw1bigdrblbmcy32imkf4isfvm"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 7db27888782..9b2c8f83577 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -13,13 +13,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "mkvtoolnix"; - version = "46.0.0"; + version = "48.0.0"; src = fetchFromGitLab { owner = "mbunkus"; repo = "mkvtoolnix"; rev = "release-${version}"; - sha256 = "1vyfvpsllnzhzaaz3s9lqlnkmnqchyhxj2d47bfyizs982r5kg24"; + sha256 = "0lbl3w2m12blymda3m00afl9racgahvl0z4b2clwbawhvypc5vfc"; }; nativeBuildInputs = [ @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { (enableFeature withGUI "qt") ]; - CXXFLAGS = optional stdenv.cc.isClang "-std=c++14"; + CXXFLAGS = optional stdenv.cc.isClang "-std=c++17"; dontWrapQtApps = true; postFixup = optionalString withGUI '' diff --git a/pkgs/applications/video/mlv-app/aarch64-flags.patch b/pkgs/applications/video/mlv-app/aarch64-flags.patch new file mode 100644 index 00000000000..b8c025b3b3f --- /dev/null +++ b/pkgs/applications/video/mlv-app/aarch64-flags.patch @@ -0,0 +1,13 @@ +diff --git a/platform/qt/MLVApp.pro b/platform/qt/MLVApp.pro +index ebdc552..3e37573 100644 +--- a/platform/qt/MLVApp.pro ++++ b/platform/qt/MLVApp.pro +@@ -84,7 +84,7 @@ win32{ + + # Linux + linux-g++*{ +- QMAKE_CFLAGS += -O3 -fopenmp -msse4.1 -mssse3 -msse3 -msse2 -msse -std=c99 ++ QMAKE_CFLAGS += -O3 -fopenmp -march=native -std=c99 + QMAKE_CXXFLAGS += -fopenmp + LIBS += -lgomp + } diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix new file mode 100644 index 00000000000..757759b1146 --- /dev/null +++ b/pkgs/applications/video/mlv-app/default.nix @@ -0,0 +1,62 @@ +{ fetchFromGitHub +, lib +, mkDerivation +, qmake +, qtbase +, qtmultimedia +, stdenv +}: + +mkDerivation rec { + pname = "mlv-app"; + version = "1.11"; + + src = fetchFromGitHub { + owner = "ilia3101"; + repo = "MLV-App"; + rev = "QTv${version}"; + sha256 = "0s5sjdxi8a17ddvih4ara7mlb2xrc9xqx52jmhfaca6ng341gi4x"; + }; + + patches = if stdenv.isAarch64 then ./aarch64-flags.patch else null; + + installPhase = '' + runHook preInstall + install -Dm555 -t $out/bin mlvapp + install -Dm444 -t $out/share/applications mlvapp.desktop + install -Dm444 -t $out/share/icons/hicolor/512x512/apps RetinaIMG/MLVAPP.png + runHook postInstall + ''; + + qmakeFlags = [ "MLVApp.pro" ]; + + preConfigure = '' + export HOME=$TMPDIR + cd platform/qt/ + ''; + + buildInputs = [ + qtmultimedia + qtbase + ]; + + dontWrapQtApps = true; + + preFixup = '' + wrapQtApp "$out/bin/mlvapp" + ''; + + nativeBuildInputs = [ + qmake + ]; + + meta = with lib; { + description = "All in one MLV processing app that is pretty great"; + homepage = "https://mlv.app"; + license = licenses.gpl3; + maintainers = with maintainers; [ + kiwi + ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/video/molotov/default.nix b/pkgs/applications/video/molotov/default.nix new file mode 100644 index 00000000000..c4ee96cc246 --- /dev/null +++ b/pkgs/applications/video/molotov/default.nix @@ -0,0 +1,31 @@ +{ appimageTools, lib, fetchurl }: + +let + pname = "molotov"; + version = "4.2.2"; + name = "${pname}-${version}"; + src = fetchurl { + url = "http://desktop-auto-upgrade.molotov.tv/linux/${version}/molotov.AppImage"; + sha256 = "00p8srf4yswbihlsi3s7kfkav02h902yvrq99wys11is63n01x8z"; + }; + appimageContents = appimageTools.extractType2 { inherit name src; }; +in +appimageTools.wrapType2 { + inherit name src; + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + install -m 444 -D \ + ${appimageContents}/${pname}.desktop \ + $out/share/applications/${pname}.desktop + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + cp -r ${appimageContents}/usr/share/icons $out/share + ''; + meta = with lib; { + description = "French TV service"; + homepage = "https://www.molotov.tv/"; + license = with licenses; [ unfree ]; + maintainers = with maintainers; [ apeyroux freezeboy ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/video/motion/default.nix b/pkgs/applications/video/motion/default.nix index dd0510f70c3..7f101c41edb 100644 --- a/pkgs/applications/video/motion/default.nix +++ b/pkgs/applications/video/motion/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "motion"; - version = "4.3.0"; + version = "4.3.1"; src = fetchFromGitHub { owner = "Motion-Project"; repo = "motion"; - rev = "Release-${version}"; - sha256 = "08mm7ajgs0qnrydywxxyzcll09z80crjnjkjnckdi6ljsj6s96j8"; + rev = "release-${version}"; + sha256 = "01yy4pdgd4wa97bpw27zn5zik9iz719m1jiwkk9lb7m2a2951dhc"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { homepage = "https://motion-project.github.io/"; license = licenses.gpl2Plus; maintainers = with maintainers; [ puffnfresh veprbl ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix index 5a72fe91ddd..f00b5aabf97 100644 --- a/pkgs/applications/video/mplayer/default.nix +++ b/pkgs/applications/video/mplayer/default.nix @@ -1,4 +1,4 @@ -{ config, stdenv, fetchurl, pkgconfig, freetype, yasm, ffmpeg +{ config, stdenv, fetchurl, pkgconfig, freetype, yasm, ffmpeg_3 , aalibSupport ? true, aalib ? null , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null , fribidiSupport ? true, fribidi ? null @@ -107,7 +107,7 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkgconfig yasm ]; buildInputs = with stdenv.lib; - [ freetype ffmpeg ] + [ freetype ffmpeg_3 ] ++ optional aalibSupport aalib ++ optional fontconfigSupport fontconfig ++ optional fribidiSupport fribidi @@ -182,7 +182,7 @@ stdenv.mkDerivation rec { preConfigure = '' configureFlagsArray+=( "--cc=$CC" - "--host-cc=$BUILD_CC" + "--host-cc=$CC_FOR_BUILD" "--as=$AS" "--nm=$NM" "--ar=$AR" @@ -199,6 +199,7 @@ stdenv.mkDerivation rec { optional fontconfigSupport "-lfontconfig" ++ optional fribidiSupport "-lfribidi" ++ optionals x11Support [ "-lX11" "-lXext" ] + ++ [ "-lfreetype" ] ); installTargets = [ "install" ] ++ stdenv.lib.optional x11Support "install-gui"; diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 50b67f45558..697a468f890 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,6 +1,6 @@ -{ config, stdenv, fetchurl, fetchFromGitHub, makeWrapper, fetchpatch +{ config, stdenv, fetchurl, fetchFromGitHub, fetchpatch , addOpenGLRunpath, docutils, perl, pkgconfig, python3, wafHook, which -, ffmpeg_4, freefont_ttf, freetype, libass, libpthreadstubs, mujs +, ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs, mujs , nv-codec-headers, lua, libuchardet, libiconv ? null , CoreFoundation, Cocoa, CoreAudio, MediaPlayer @@ -39,7 +39,10 @@ , libpngSupport ? true, libpng ? null , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null , rubberbandSupport ? stdenv.isLinux, rubberband ? null -, sambaSupport ? stdenv.isLinux, samba ? null +# NOTE: samba support should be removed on the next mpv release, see also: +# https://github.com/NixOS/nixpkgs/pull/89145#issuecomment-636424362 +# Please remove this line on the next mpv release. +, sambaSupport ? false, samba ? null , screenSaverSupport ? true, libXScrnSaver ? null , sdl2Support ? true, SDL2 ? null , sndioSupport ? true, sndio ? null @@ -50,7 +53,6 @@ , vdpauSupport ? true, libvdpau ? null , xineramaSupport ? stdenv.isLinux, libXinerama ? null , xvSupport ? stdenv.isLinux, libXv ? null -, youtubeSupport ? true, youtube-dl ? null , zimgSupport ? true, zimg ? null , archiveSupport ? true, libarchive ? null , jackaudioSupport ? false, libjack2 ? null @@ -91,7 +93,6 @@ assert waylandSupport -> all available [ wayland wayland-protocols libxkbcom assert x11Support -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ]; assert xineramaSupport -> x11Support && available libXinerama; assert xvSupport -> x11Support && available libXv; -assert youtubeSupport -> available youtube-dl; assert zimgSupport -> available zimg; let @@ -112,6 +113,20 @@ in stdenv.mkDerivation rec { patchShebangs ./TOOLS/ ''; + passthru = { + inherit + # The wrapper consults luaEnv and lua.version + luaEnv + lua + # In the wrapper, we want to reference vapoursynth which has the + # `python3` passthru attribute (which has the `sitePrefix` + # attribute). This way we'll be sure that in the wrapper we'll + # use the same python3.sitePrefix used to build vapoursynth. + vapoursynthSupport + vapoursynth + ; + }; + NIX_LDFLAGS = optionalString x11Support "-lX11 -lXext " + optionalString stdenv.isDarwin "-framework CoreFoundation"; @@ -135,12 +150,12 @@ in stdenv.mkDerivation rec { ++ stdenv.lib.optional (!swiftSupport) "--disable-macos-cocoa-cb"; nativeBuildInputs = [ - addOpenGLRunpath docutils makeWrapper perl pkgconfig python3 wafHook which + addOpenGLRunpath docutils perl pkgconfig python3 wafHook which ] ++ optional swiftSupport swift; buildInputs = [ - ffmpeg_4 freetype libass libpthreadstubs + ffmpeg freetype libass libpthreadstubs luaEnv libuchardet mujs ] ++ optional alsaSupport alsaLib ++ optional archiveSupport libarchive @@ -164,7 +179,6 @@ in stdenv.mkDerivation rec { ++ optional vdpauSupport libvdpau ++ optional xineramaSupport libXinerama ++ optional xvSupport libXv - ++ optional youtubeSupport youtube-dl ++ optional zimgSupport zimg ++ optional stdenv.isDarwin libiconv ++ optional stdenv.isLinux nv-codec-headers @@ -182,15 +196,6 @@ in stdenv.mkDerivation rec { python3 TOOLS/osxbundle.py -s build/mpv ''; - # Ensure youtube-dl is available in $PATH for mpv - wrapperFlags = - ''--prefix PATH : "${luaEnv}/bin" \'' - + optionalString youtubeSupport '' - --prefix PATH : "${youtube-dl}/bin" \ - '' + optionalString vapoursynthSupport '' - --prefix PYTHONPATH : "${vapoursynth}/lib/${python3.libPrefix}/site-packages:$PYTHONPATH" - ''; - patches = stdenv.lib.optionals stdenv.isDarwin [ # Fix cocoa backend. Remove with the next release (fetchpatch { @@ -203,24 +208,17 @@ in stdenv.mkDerivation rec { # Use a standard font mkdir -p $out/share/mpv ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf - wrapProgram "$out/bin/mpv" \ - ${wrapperFlags} cp TOOLS/umpv $out/bin - wrapProgram $out/bin/umpv \ - --set MPV "$out/bin/mpv" - '' + optionalString stdenv.isDarwin '' mkdir -p $out/Applications cp -r build/mpv.app $out/Applications - wrapProgram "$out/Applications/mpv.app/Contents/MacOS/mpv" \ - ${wrapperFlags} ''; # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found. # See the explanation in addOpenGLRunpath. postFixup = optionalString stdenv.isLinux '' - addOpenGLRunpath $out/bin/.mpv-wrapped + addOpenGLRunpath $out/bin/mpv ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix new file mode 100644 index 00000000000..d51434e241c --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix @@ -0,0 +1,33 @@ +{ stdenv +, fetchFromGitHub }: +stdenv.mkDerivation rec { + pname = "simple-mpv-ui"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "open-dynaMIX"; + repo = "simple-mpv-webui"; + rev = "v${version}"; + sha256 = "1glrnnl1slcl0ri0zs4j64lc9aa52p9ffh6av0d81fk95nm98917"; + }; + + dontBuild = true; + installPhase = '' + mkdir -p $out/share/mpv/scripts + cp -r webui.lua webui-page $out/share/mpv/scripts/ + ''; + passthru.scriptName = "webui.lua"; + + meta = with stdenv.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 ]; + 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 + 0.0.0.0:8080 and [::0]:8080 + ''; + license = licenses.mit; + }; +} + diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix new file mode 100644 index 00000000000..8213e514d2b --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchFromGitHub, fetchpatch, python3 }: + +# Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }` +stdenv.mkDerivation { + pname = "mpv_sponsorblock"; + version = "unstable-2020-07-05"; + + src = fetchFromGitHub { + owner = "po5"; + repo = "mpv_sponsorblock"; + rev = "f71e49e0531350339134502e095721fdc66eac20"; + sha256 = "1fr4cagzs26ygxyk8dxqvjw4n85fzv6is6cb1jhr2qnsjg6pa0p8"; + }; + + dontBuild = true; + + patches = [ + # Use XDG_DATA_HOME and XDG_CACHE_HOME if defined for UID and DB + # Necessary to avoid sponsorblock to write in the nix store at runtime. + # https://github.com/po5/mpv_sponsorblock/pull/17 + (fetchpatch { + url = "https://github.com/po5/mpv_sponsorblock/pull/17/commits/e65b360a7d03a3430b4829e457a6670b2f617b09.patch"; + sha256 = "00wv0pvbz0dz2ibka66zhl2jk0pil4pyv6ipjfz37i81q6szyhs5"; + }) + (fetchpatch { + url = "https://github.com/po5/mpv_sponsorblock/pull/17/commits/3832304d959205e99120a14c0560ed3c37104b08.patch"; + sha256 = "149ffvn714n2m3mqs8mgrbs24bcr74kqfkx7wyql36ndhm88xd2z"; + }) + ]; + + postPatch = '' + substituteInPlace sponsorblock.lua \ + --replace "python3" "${python3}/bin/python3" \ + --replace 'mp.find_config_file("scripts")' "\"$out/share/mpv/scripts\"" + ''; + + installPhase = '' + mkdir -p $out/share/mpv/scripts + cp -r sponsorblock.lua sponsorblock_shared $out/share/mpv/scripts/ + ''; + + passthru.scriptName = "sponsorblock.lua"; + + meta = with stdenv.lib; { + description = "mpv script to skip sponsored segments of YouTube videos"; + homepage = "https://github.com/po5/mpv_sponsorblock"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ pacien ]; + }; +} diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix index 53def80e7da..5b3ad7a9831 100644 --- a/pkgs/applications/video/mpv/wrapper.nix +++ b/pkgs/applications/video/mpv/wrapper.nix @@ -1,14 +1,83 @@ -{ stdenv, symlinkJoin, makeWrapper, mpv, scripts ? [] }: +# Arguments that this derivation gets when it is created with `callPackage` +{ stdenv +, lib +, symlinkJoin +, makeWrapper +, youtube-dl +}: -symlinkJoin { - name = "mpv-with-scripts-${mpv.version}"; +# the unwrapped mpv derivation - 1st argument to `wrapMpv` +mpv: - paths = [ mpv ]; +let + # arguments to the function (called `wrapMpv` in all-packages.nix) + wrapper = { + extraMakeWrapperArgs ? [], + youtubeSupport ? true, + # a set of derivations (probably from `mpvScripts`) where each is + # expected to have a `scriptName` passthru attribute that points to the + # name of the script that would reside in the script's derivation's + # `$out/share/mpv/scripts/`. + scripts ? [], + extraUmpvWrapperArgs ? [] + }: + let + binPath = lib.makeBinPath ([ + mpv.luaEnv + ] ++ lib.optionals youtubeSupport [ + youtube-dl + ] ++ lib.optionals mpv.vapoursynthSupport [ + mpv.vapoursynth.python3 + ]); + # All arguments besides the input and output binaries (${mpv}/bin/mpv and + # $out/bin/mpv). These are used by the darwin specific makeWrapper call + # used to wrap $out/Applications/mpv.app/Contents/MacOS/mpv as well. + mostMakeWrapperArgs = lib.strings.escapeShellArgs ([ "--argv0" "'$0'" + # These are always needed (TODO: Explain why) + "--prefix" "LUA_CPATH" ";" "${mpv.luaEnv}/lib/lua/${mpv.lua.luaversion}/?.so" + "--prefix" "LUA_PATH" ";" "${mpv.luaEnv}/share/lua/${mpv.lua.luaversion}/?.lua" + ] ++ lib.optionals mpv.vapoursynthSupport [ + "--prefix" "PYTHONPATH" ":" "${mpv.vapoursynth}/lib/${mpv.vapoursynth.python3.sitePackages}" + ] ++ lib.optionals (binPath != "") [ + "--prefix" "PATH" ":" binPath + ] ++ (lib.lists.flatten (map + # For every script in the `scripts` argument, add the necessary flags to the wrapper + (script: + [ + "--add-flags" + # Here we rely on the existence of the `scriptName` passthru + # attribute of the script derivation from the `scripts` + "--script=${script}/share/mpv/scripts/${script.scriptName}" + ] + ) scripts + )) ++ extraMakeWrapperArgs) + ; + umpvWrapperArgs = lib.strings.escapeShellArgs ([ + "--argv0" "'$0'" + "--set" "MPV" "${placeholder "out"}/bin/mpv" + ] ++ extraUmpvWrapperArgs) + ; + in + symlinkJoin { + name = "mpv-with-scripts-${mpv.version}"; - buildInputs = [ makeWrapper ]; + paths = [ mpv ]; - postBuild = '' - wrapProgram $out/bin/mpv \ - --add-flags "${stdenv.lib.concatMapStringsSep " " (x: "--script=${x}/share/mpv/scripts/${x.scriptName}") scripts}" - ''; -} + buildInputs = [ makeWrapper ]; + + passthru.unwrapped = mpv; + + postBuild = '' + # wrapProgram can't operate on symlinks + rm "$out/bin/mpv" + makeWrapper "${mpv}/bin/mpv" "$out/bin/mpv" ${mostMakeWrapperArgs} + rm "$out/bin/umpv" + makeWrapper "${mpv}/bin/umpv" "$out/bin/umpv" ${umpvWrapperArgs} + '' + lib.optionalString stdenv.isDarwin '' + # wrapProgram can't operate on symlinks + rm "$out/Applications/mpv.app/Contents/MacOS/mpv" + makeWrapper "${mpv}/Applications/mpv.app/Contents/MacOS/mpv" "$out/Applications/mpv.app/Contents/MacOS/mpv" ${mostMakeWrapperArgs} + ''; + }; +in + lib.makeOverridable wrapper diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix index 2f1d3a3a1c9..db8d192b758 100644 --- a/pkgs/applications/video/mythtv/default.nix +++ b/pkgs/applications/video/mythtv/default.nix @@ -2,24 +2,21 @@ , libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsaLib, freetype , perl, pkgconfig , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders -, libXNVCtrl, enableXnvctrl ? false }: mkDerivation rec { pname = "mythtv"; - version = "30.0"; + version = "31.0"; src = fetchFromGitHub { owner = "MythTV"; repo = "mythtv"; rev = "v${version}"; - sha256 = "1pfzjb07xwd3mfgmbr4kkiyfyvwy9fkl13ik7bvqds86m0ws5bw4"; + sha256 = "092w5kvc1gjz6jd2lk2jhcazasz2h3xh0i5iq80k8x3znyp4i6v5"; }; patches = [ - # Fixes build with exiv2 0.27.1. - ./exiv2.patch - # Disables OS detection used while checking for xnvctrl support. + # Disables OS detection used while checking if enforce_wshadow should be disabled. ./disable-os-detection.patch ]; @@ -29,17 +26,16 @@ mkDerivation rec { freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU libGL perl libsamplerate libbluray lzo alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 - ] ++ stdenv.lib.optional enableXnvctrl libXNVCtrl; + ]; nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ]; configureFlags = - [ "--dvb-path=${linuxHeaders}/include" ] - ++ stdenv.lib.optionals (!enableXnvctrl) [ "--disable-xnvctrl" ]; + [ "--dvb-path=${linuxHeaders}/include" ]; meta = with stdenv.lib; { homepage = "https://www.mythtv.org/"; description = "Open Source DVR"; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.titanous ]; }; diff --git a/pkgs/applications/video/mythtv/disable-os-detection.patch b/pkgs/applications/video/mythtv/disable-os-detection.patch index 5a35dc2d1dd..09ce6f6ca4f 100644 --- a/pkgs/applications/video/mythtv/disable-os-detection.patch +++ b/pkgs/applications/video/mythtv/disable-os-detection.patch @@ -1,51 +1,31 @@ ---- a/configure 1970-01-01 01:00:01.000000000 +0100 -+++ b/configure 2019-10-26 11:54:01.920776490 +0200 -@@ -6642,29 +6642,29 @@ - require libXinerama X11/extensions/Xinerama.h XineramaQueryExtension -lXinerama - require libXext "X11/Xdefs.h X11/Xlib.h X11/extensions/Xext.h" XMissingExtension -lXext - if enabled xnvctrl; then -- case $target_os in -- linux) -+# case $target_os in -+# linux) - # Bah. Suse linux doesn't have xnvctrl. -- . /etc/os-release -- case $ID in -- *suse*) -+# . /etc/os-release -+# case $ID in -+# *suse*) - # This is hopefully temporary. -- disable xnvctrl_external -- ;; -- *) -- require XNVctrl "X11/Xlib.h NVCtrl/NVCtrl.h NVCtrl/NVCtrlLib.h" XNVCTRLIsNvScreen -lXNVCtrl || disable xnvctrl -- ;; -- esac -- ;; -- freebsd) -+# disable xnvctrl_external -+# ;; -+# *) -+ require XNVctrl "X11/Xlib.h NVCtrl/NVCtrl.h NVCtrl/NVCtrlLib.h" XNVCTRLIsNvScreen -lXNVCtrl || disable xnvctrl -+# ;; -+# esac -+# ;; -+# freebsd) - # This is hopefully temporary, and will eventually - # check for a system library too. -- disable xnvctrl_external -- ;; -- *) -- disable xnvctrl -- ;; -- esac -+# disable xnvctrl_external -+# ;; -+# *) -+# disable xnvctrl -+# ;; -+# esac - fi - fi +--- a/configure 2020-07-21 20:50:58.653989766 +0200 ++++ b/configure 2020-07-21 20:52:21.236610586 +0200 +@@ -6537,17 +6537,17 @@ + } + enable enforce_wshadow +-case $target_os in +- android) +- disable enforce_wshadow +- ;; +- linux) +- . /etc/os-release +- if test $ID = "centos"; then +- disable enforce_wshadow +- fi +- ;; +-esac ++#case $target_os in ++# android) ++# disable enforce_wshadow ++# ;; ++# linux) ++# . /etc/os-release ++# if test $ID = "centos"; then ++# disable enforce_wshadow ++# fi ++# ;; ++#esac + + if $(pkg-config --exists Qt5WebKit) || $(pkg-config --exists QtWebKit) ; then + enable qtwebkit diff --git a/pkgs/applications/video/mythtv/exiv2.patch b/pkgs/applications/video/mythtv/exiv2.patch deleted file mode 100644 index 29bf1f5967b..00000000000 --- a/pkgs/applications/video/mythtv/exiv2.patch +++ /dev/null @@ -1,19 +0,0 @@ -Patch source: https://aur.archlinux.org/cgit/aur.git/plain/004-exiv2.patch?h=mythtv&id=76ea37f8556805b205878772ad7874e487c0d946 ---- a/libs/libmythmetadata/imagemetadata.cpp -+++ b/libs/libmythmetadata/imagemetadata.cpp -@@ -7,14 +7,7 @@ - #include "exitcodes.h" // for ffprobe - - // libexiv2 for Exif metadata --//#include <exiv2/exiv2.hpp> --// Note: Older versions of Exiv2 don't have the exiv2.hpp include --// file. Using image.hpp instead seems to work. --#ifdef _MSC_VER --#include <exiv2/src/image.hpp> --#else --#include <exiv2/image.hpp> --#endif -+#include <exiv2/exiv2.hpp> - - // To read FFMPEG Metadata - extern "C" { diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix index 4e6c9f7ea5a..dede7d6b29e 100644 --- a/pkgs/applications/video/natron/default.nix +++ b/pkgs/applications/video/natron/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, qt4, pkgconfig, boost, expat, cairo, python2Packages, cmake, flex, bison, pango, librsvg, librevenge, libxml2, libcdr, libzip, - poppler, imagemagick, openexr, ffmpeg, opencolorio, openimageio, + poppler, imagemagick, openexr, ffmpeg_3, opencolorio, openimageio, qmake4Hook, libpng, libGL, lndir }: let @@ -68,7 +68,7 @@ let sha256 = "0s196i9fkgr9iw92c94mxgs1lkxbhynkf83vmsgrldflmf0xjky7"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - libpng ffmpeg openexr opencolorio openimageio boost libGL + libpng ffmpeg_3 openexr opencolorio openimageio boost libGL seexpr ]; }) diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index be2a323943d..8a2cd172822 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -1,6 +1,7 @@ { config, stdenv , mkDerivation , fetchFromGitHub +, addOpenGLRunpath , cmake , fdk_aac , ffmpeg @@ -35,51 +36,62 @@ let inherit (stdenv.lib) optional optionals; + in mkDerivation rec { pname = "obs-studio"; - version = "25.0.3"; + version = "25.0.8"; src = fetchFromGitHub { owner = "obsproject"; repo = "obs-studio"; rev = version; - sha256 = "11hl3lxvbsm7ackl7qhzgy2x0jsz2dfpi2qxsf8pkp908lrh3b3r"; + sha256 = "0j2k65q3wfyfxhvkl6icz4qy0s3kfqhksizy2i3ah7yml266axbj"; }; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ addOpenGLRunpath cmake pkgconfig ]; - buildInputs = [ curl - fdk_aac - ffmpeg - jansson - libjack2 - libv4l - libxkbcommon - libpthreadstubs - libXdmcp - qtbase - qtx11extras - qtsvg - speex - x264 - vlc - makeWrapper - mbedtls - ] - ++ optionals scriptingSupport [ luajit swig python3 ] - ++ optional alsaSupport alsaLib - ++ optional pulseaudioSupport libpulseaudio; + buildInputs = [ + curl + fdk_aac + ffmpeg + jansson + libjack2 + libv4l + libxkbcommon + libpthreadstubs + libXdmcp + qtbase + qtx11extras + qtsvg + speex + x264 + vlc + makeWrapper + mbedtls + ] + ++ optionals scriptingSupport [ luajit swig python3 ] + ++ optional alsaSupport alsaLib + ++ optional pulseaudioSupport libpulseaudio; # obs attempts to dlopen libobs-opengl, it fails unless we make sure # DL_OPENGL is an explicit path. Not sure if there's a better way # to handle this. - cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-DDL_OPENGL=\\\"$(out)/lib/libobs-opengl.so\\\"" ]; + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-DDL_OPENGL=\\\"$(out)/lib/libobs-opengl.so\\\"" + "-DOBS_VERSION_OVERRIDE=${version}" + "-Wno-dev" # kill dev warnings that are useless for packaging + ]; postInstall = '' wrapProgram $out/bin/obs \ --prefix "LD_LIBRARY_PATH" : "${xorg.libX11.out}/lib:${vlc}/lib" ''; + postFixup = stdenv.lib.optionalString stdenv.isLinux '' + addOpenGLRunpath $out/lib/lib*.so + addOpenGLRunpath $out/lib/obs-plugins/*.so + ''; + meta = with stdenv.lib; { description = "Free and open source software for video recording and live streaming"; longDescription = '' diff --git a/pkgs/applications/video/obs-studio/wlrobs.nix b/pkgs/applications/video/obs-studio/wlrobs.nix index 77ef09d3c24..99486a9ccc0 100644 --- a/pkgs/applications/video/obs-studio/wlrobs.nix +++ b/pkgs/applications/video/obs-studio/wlrobs.nix @@ -13,12 +13,12 @@ assert dmabufSupport -> libdrm != null && libGL != null; stdenv.mkDerivation { pname = "obs-wlrobs"; - version = "20200111"; + version = "20200622"; src = fetchhg { url = "https://hg.sr.ht/~scoopta/wlrobs"; - rev = "8345bf985e390896d89e35e2feae1fa37722f4be"; - sha256 = "0j01wkhwhhla4qx8mwyrq2qj9cfhxksxaq2k8rskmy2qbdkvvdpb"; + rev = "1d3acaaf64049da3da9721aa8b9b47582fe0081b"; + sha256 = "0qrcf8024r4ynfjw0zx8vn59ygx9q5rb196s6nyxmy3gkv2lfxlq"; }; buildInputs = [ libX11 libGL libdrm meson ninja pkgconfig wayland obs-studio ]; diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix index 55c6149e7d0..b1e70cd037c 100644 --- a/pkgs/applications/video/olive-editor/default.nix +++ b/pkgs/applications/video/olive-editor/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, pkgconfig, which, qmake, mkDerivation, - qtbase, qtmultimedia, frei0r, opencolorio, ffmpeg-full, - CoreFoundation }: + qtmultimedia, wrapQtAppsHook, frei0r, opencolorio, ffmpeg-full, + CoreFoundation }: mkDerivation rec { pname = "olive-editor"; @@ -17,15 +17,14 @@ mkDerivation rec { pkgconfig which qmake + wrapQtAppsHook ]; buildInputs = [ ffmpeg-full frei0r opencolorio - qtbase qtmultimedia - qtmultimedia.dev ] ++ stdenv.lib.optional stdenv.isDarwin CoreFoundation; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix index 861ac456029..e24b6ee41f8 100644 --- a/pkgs/applications/video/openshot-qt/libopenshot.nix +++ b/pkgs/applications/video/openshot-qt/libopenshot.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub , pkgconfig, cmake, doxygen -, libopenshot-audio, imagemagick, ffmpeg +, libopenshot-audio, imagemagick, ffmpeg_3 , swig, python3 , unittest-cpp, cppzmq, zeromq , qtbase, qtmultimedia }: @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake doxygen ]; buildInputs = - [ imagemagick ffmpeg swig python3 unittest-cpp + [ imagemagick ffmpeg_3 swig python3 unittest-cpp cppzmq zeromq qtbase qtmultimedia ]; LIBOPENSHOT_AUDIO_DIR = libopenshot-audio; diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix index ce0ea532c4c..6ca5c5bed21 100644 --- a/pkgs/applications/video/peek/default.nix +++ b/pkgs/applications/video/peek/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitHub +, nix-update-script , meson , ninja , gettext @@ -15,7 +16,7 @@ , glib , cairo , keybinder3 -, ffmpeg +, ffmpeg_3 , python3 , libxml2 , gst_all_1 @@ -65,9 +66,16 @@ stdenv.mkDerivation rec { ''; preFixup = '' - gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ which ffmpeg gifski ]}) + gappsWrapperArgs+=(--prefix PATH : ${stdenv.lib.makeBinPath [ which ffmpeg_3 gifski ]}) ''; + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with stdenv.lib; { homepage = "https://github.com/phw/peek"; description = "Simple animated GIF screen recorder with an easy to use interface"; diff --git a/pkgs/applications/video/plex-mpv-shim/default.nix b/pkgs/applications/video/plex-mpv-shim/default.nix index 268905e3a4c..993bdd67b0d 100644 --- a/pkgs/applications/video/plex-mpv-shim/default.nix +++ b/pkgs/applications/video/plex-mpv-shim/default.nix @@ -2,13 +2,13 @@ buildPythonApplication rec { pname = "plex-mpv-shim"; - version = "1.7.16"; + version = "1.8.0"; src = fetchFromGitHub { owner = "iwalton3"; repo = pname; rev = "v${version}"; - sha256 = "1pnbdxaqnliwqfvv08gi7gdcvflg5vcbgk4g0fw75prgw54vnd9a"; + sha256 = "0fi0glnl7nr6754r9jk7d7dsnjbdm7civvhcj2l009yxiv2rxzj3"; }; propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ]; diff --git a/pkgs/applications/video/qstopmotion/default.nix b/pkgs/applications/video/qstopmotion/default.nix index 98af60c4937..dbb2128b50b 100644 --- a/pkgs/applications/video/qstopmotion/default.nix +++ b/pkgs/applications/video/qstopmotion/default.nix @@ -6,7 +6,7 @@ , qtquickcontrols , qtimageformats , qtxmlpatterns -, ffmpeg +, ffmpeg_3 , guvcview , cmake , ninja @@ -40,7 +40,7 @@ mkDerivation rec { v4l-utils libv4l pcre - ffmpeg + ffmpeg_3 guvcview qwt ]; diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix index 7e2bc3a3ec0..00ead0f89a3 100644 --- a/pkgs/applications/video/screenkey/default.nix +++ b/pkgs/applications/video/screenkey/default.nix @@ -1,53 +1,66 @@ { lib -, substituteAll -, buildPythonApplication -, fetchFromGitHub -, distutils_extra -, setuptools-git +, fetchFromGitLab +# native , intltool -, pygtk -, libX11 -, libXtst , wrapGAppsHook -, gnome3 +, file +# not native +, xorg +, gobject-introspection +, gtk3 +, python3 }: -buildPythonApplication rec { + +python3.pkgs.buildPythonApplication rec { pname = "screenkey"; - version = "0.9"; + version = "1.2"; - src = fetchFromGitHub { - owner = "wavexx"; + src = fetchFromGitLab { + owner = "screenkey"; repo = "screenkey"; - rev = "screenkey-${version}"; - sha256 = "14g7fiv9n7m03djwz1pp5034pffi87ssvss9bc1q8vq0ksn23vrw"; + rev = "v${version}"; + sha256 = "1x13n57iy2pg3h3r994q3g5nbmh2gwk3qidmmcv0g7qa89n2gwbj"; }; - patches = [ - (substituteAll { - src = ./paths.patch; - inherit libX11 libXtst; - }) - ]; - nativeBuildInputs = [ - distutils_extra - setuptools-git + python3.pkgs.distutils_extra + # Shouldn't be needed once https://gitlab.com/screenkey/screenkey/-/issues/122 is fixed. intltool - + # We are not sure why is this needed, but without it we get "file: command + # not found" errors during build. + file wrapGAppsHook + # for setup hook + gobject-introspection ]; buildInputs = [ - gnome3.adwaita-icon-theme + gtk3 ]; - propagatedBuildInputs = [ - pygtk + propagatedBuildInputs = with python3.pkgs; [ + pycairo + pygobject3 ]; + # Prevent double wrapping because of wrapGAppsHook + dontWrapGApps = true; + # https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + # screenkey does not have any tests doCheck = false; + # Fix CDLL python calls for non absolute paths of xorg libraries + postPatch = '' + substituteInPlace Screenkey/xlib.py \ + --replace libX11.so.6 ${lib.getLib xorg.libX11}/lib/libX11.so.6 \ + --replace libXtst.so.6 ${lib.getLib xorg.libXtst}/lib/libXtst.so.6 + ''; + meta = with lib; { homepage = "https://www.thregr.org/~wavexx/software/screenkey/"; description = "A screencast tool to display your keys inspired by Screenflick"; diff --git a/pkgs/applications/video/screenkey/paths.patch b/pkgs/applications/video/screenkey/paths.patch deleted file mode 100644 index 7e5ed47fc19..00000000000 --- a/pkgs/applications/video/screenkey/paths.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- 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/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch b/pkgs/applications/video/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch deleted file mode 100644 index 475788ba3a4..00000000000 --- a/pkgs/applications/video/shotcut/0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 247baa7e9210bbe5462b6155014c3dcd4a60e56a Mon Sep 17 00:00:00 2001 -From: Peter Simons <simons@cryp.to> -Date: Tue, 24 Sep 2019 10:27:17 +0200 -Subject: [PATCH] encodedock.cpp: connect to VAAPI via DRM, not X11 - ---- - src/docks/encodedock.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/docks/encodedock.cpp b/src/docks/encodedock.cpp -index f2d64fc8..63d20787 100644 ---- a/src/docks/encodedock.cpp -+++ b/src/docks/encodedock.cpp -@@ -766,7 +766,6 @@ Mlt::Properties* EncodeDock::collectProperties(int realtime) - setIfNotSet(p, "pix_fmt", "nv12"); - } else if (vcodec.endsWith("_vaapi")) { - setIfNotSet(p, "vprofile", "main"); -- setIfNotSet(p, "connection_type", "x11"); - } - } - setIfNotSet(p, "width", ui->widthSpinner->value()); -@@ -1890,7 +1889,7 @@ void EncodeDock::on_hwencodeCheckBox_clicked(bool checked) - QStringList args; - args << "-hide_banner" << "-f" << "lavfi" << "-i" << "color=s=640x360" << "-frames" << "1" << "-an"; - if (codec.endsWith("_vaapi")) -- args << "-init_hw_device" << "vaapi=vaapi0:,connection_type=x11" << "-filter_hw_device" << "vaapi0" << "-vf" << "format=nv12,hwupload"; -+ args << "-init_hw_device" << "vaapi=vaapi0" << "-filter_hw_device" << "vaapi0" << "-vf" << "format=nv12,hwupload"; - else if (codec == "hevc_qsv") - args << "-load_plugin" << "hevc_hw"; - args << "-c:v" << codec << "-f" << "rawvideo" << "pipe:"; --- -2.24.1 - diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix index 9c0435a351c..f907179bd04 100644 --- a/pkgs/applications/video/shotcut/default.nix +++ b/pkgs/applications/video/shotcut/default.nix @@ -3,22 +3,20 @@ , qtquickcontrols, qtgraphicaleffects, libmlt, qmake, qttools }: -assert stdenv.lib.versionAtLeast libmlt.version "6.18.0"; -assert stdenv.lib.versionAtLeast mlt.version "6.18.0"; +assert stdenv.lib.versionAtLeast libmlt.version "6.20.0"; +assert stdenv.lib.versionAtLeast mlt.version "6.20.0"; mkDerivation rec { pname = "shotcut"; - version = "20.04.12"; + version = "20.07.11"; src = fetchFromGitHub { owner = "mltframework"; repo = "shotcut"; rev = "v${version}"; - sha256 = "05yyv9192f722j8fhfjrphxadgp3crvbq4pi23ln560zh9s1m8r4"; + sha256 = "0ajg0bpdckhvmmsliy1xky9p4mdypnaw3z3cvfsdrm0zcihbgazv"; }; - patches = [ ./0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch ]; - enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig qmake ]; buildInputs = [ diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index f97d1ee0037..7176f5e2f09 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,4 +1,4 @@ -{ stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras +{ stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg_3, libjack2, libX11, libXext, qtx11extras , libXfixes, libGLU, libGL, pkgconfig, libpulseaudio, qtbase, cmake, ninja }: @@ -25,7 +25,7 @@ mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake ninja ]; buildInputs = [ - alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU libGL + alsaLib ffmpeg_3 libjack2 libX11 libXext libXfixes libGLU libGL libpulseaudio qtbase qtx11extras ]; diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix index aba6af7359a..a8d2aaaff0e 100644 --- a/pkgs/applications/video/smplayer/default.nix +++ b/pkgs/applications/video/smplayer/default.nix @@ -2,11 +2,11 @@ mkDerivation rec { pname = "smplayer"; - version = "19.10.2"; + version = "20.6.0"; src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "0i2c15yxk4by2zyjhb7n08larz9pmpa6zw383aybjxqh0nd9zv9p"; + sha256 = "0c59gfgm2ya8yb2nx7gy1zc0nrr4206213xy86y7jw0bk9mmjxmy"; }; buildInputs = [ qtscript ]; diff --git a/pkgs/applications/video/smtube/default.nix b/pkgs/applications/video/smtube/default.nix index 1cd6fb693e8..26b14ab739c 100644 --- a/pkgs/applications/video/smtube/default.nix +++ b/pkgs/applications/video/smtube/default.nix @@ -1,12 +1,12 @@ { lib, mkDerivation, fetchurl, qmake, qtscript, qtwebkit }: mkDerivation rec { - version = "20.1.0"; + version = "20.6.0"; pname = "smtube"; src = fetchurl { url = "mirror://sourceforge/smtube/SMTube/${version}/${pname}-${version}.tar.bz2"; - sha256 = "00x7gyk06d01hrr1lcqbrffbkkpj2j0j1fy9mkxc7slbzqcl27dz"; + sha256 = "0hnza5gszwqnkc1py5g34hi4p976vpkc4h3ab0247ynqs83fpwc2"; }; makeFlags = [ diff --git a/pkgs/applications/video/streamlink-twitch-gui/bin.nix b/pkgs/applications/video/streamlink-twitch-gui/bin.nix new file mode 100644 index 00000000000..251f495b7e1 --- /dev/null +++ b/pkgs/applications/video/streamlink-twitch-gui/bin.nix @@ -0,0 +1,100 @@ +{ autoPatchelfHook, fetchurl, lib, makeDesktopItem, makeWrapper, stdenv, wrapGAppsHook +, at-spi2-core, atk, alsaLib, cairo, cups, dbus, expat, gcc-unwrapped +, gdk-pixbuf, glib, gnome2, gtk3-x11, libudev0-shim, libuuid, nss, nspr, xorg +, streamlink }: + +let + basename = "streamlink-twitch-gui"; + runtimeLibs = lib.makeLibraryPath [ libudev0-shim ]; + arch = + if stdenv.hostPlatform.system == "x86_64-linux" + then + "linux64" + else + "linux32"; + +in +stdenv.mkDerivation rec { + pname = "${basename}-bin"; + version = "1.10.0"; + + src = fetchurl { + url = "https://github.com/streamlink/${basename}/releases/download/v${version}/${basename}-v${version}-${arch}.tar.gz"; + sha256 = + if arch == "linux64" + then + "17s9zbzj4pgz9mxxwjbp3788afkddc9s3p7xp28y5084z9wwzph2" + else + "1pww05hr48m6v0g1sz48g1c7p615lig3s12l21xgyz4gkjzmjy22"; + }; + + nativeBuildInputs = with xorg; [ + at-spi2-core + atk + alsaLib + autoPatchelfHook + cairo + cups.lib + dbus.daemon.lib + expat + gcc-unwrapped + gdk-pixbuf + glib + gnome2.pango + gtk3-x11 + nss + nspr + libuuid + libX11 + libxcb + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXScrnSaver + libXtst + makeWrapper + wrapGAppsHook + ]; + + buildInputs = [ streamlink ]; + + dontBuild = true; + dontConfigure = true; + + installPhase = '' + mkdir -p $out/{bin,opt/${basename},share} + + # Install all files, remove unnecessary ones + cp -a . $out/opt/${basename}/ + rm -r $out/opt/${basename}/{{add,remove}-menuitem.sh,credits.html,icons/} + + wrapProgram $out/opt/${basename}/${basename} --add-flags "--no-version-check" --prefix LD_LIBRARY_PATH : ${runtimeLibs} + + ln -s "$out/opt/${basename}/${basename}" $out/bin/ + ln -s "${desktopItem}/share/applications" $out/share/ + ''; + + desktopItem = makeDesktopItem { + name = basename; + exec = basename; + icon = basename; + desktopName = "Streamlink Twitch GUI"; + genericName = meta.description; + categories = "AudioVideo;Network;"; + }; + + meta = with stdenv.lib; { + description = "Twitch.tv browser for Streamlink"; + longDescription = "Browse Twitch.tv and watch streams in your videoplayer of choice"; + homepage = "https://streamlink.github.io/streamlink-twitch-gui/"; + downloadPage = https://github.com/streamlink/streamlink-twitch-gui/releases; + license = licenses.mit; + maintainers = with maintainers; [ rileyinman ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index 782b81cc238..4c8800c918e 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -1,19 +1,19 @@ -{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }: +{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg_3 }: pythonPackages.buildPythonApplication rec { - version = "1.4.1"; + version = "1.5.0"; pname = "streamlink"; src = fetchFromGitHub { owner = "streamlink"; repo = "streamlink"; rev = version; - sha256 = "1q3h48qwf7vs2wnbkwv0xnm6s65mkcyqdz7z6z3vrsmif2sb19l2"; + sha256 = "00pishpyim3mcvr9njcbfhj79j85b5xhkslk3mspc2csqknw4k61"; }; checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ]; - propagatedBuildInputs = (with pythonPackages; [ pycryptodome requests iso-639 iso3166 websocket_client isodate ]) ++ [ rtmpdump ffmpeg ]; + propagatedBuildInputs = (with pythonPackages; [ pycryptodome requests iso-639 iso3166 websocket_client isodate ]) ++ [ rtmpdump ffmpeg_3 ]; meta = with stdenv.lib; { homepage = "https://github.com/streamlink/streamlink"; diff --git a/pkgs/applications/video/tartube/default.nix b/pkgs/applications/video/tartube/default.nix index ae222ae05a7..23ee76eb469 100644 --- a/pkgs/applications/video/tartube/default.nix +++ b/pkgs/applications/video/tartube/default.nix @@ -14,13 +14,13 @@ python3Packages.buildPythonApplication rec { pname = "tartube"; - version = "2.0.016"; + version = "2.1.0"; src = fetchFromGitHub { owner = "axcore"; repo = "tartube"; rev = "v${version}"; - sha256 = "1y77ykihyi4v6xlsm5xldbs9lzq229l574rxz6qfvrjcbbwajfj9"; + sha256 = "1klqjwqm29y2f6nc8gn222ykfvb5d64z1w2kifw9bq5bv0np9bda"; }; nativeBuildInputs = [ @@ -35,6 +35,8 @@ python3Packages.buildPythonApplication rec { pygobject3 pyxdg requests + feedparser + playsound ]; buildInputs = [ @@ -45,6 +47,10 @@ python3Packages.buildPythonApplication rec { pango ]; + postPatch = '' + sed -i "/^\s*install_requires/s/, 'gi'\|'gi', \|'gi'//" setup.py + ''; + postInstall = '' mkdir -p $out/share/{man/man1,applications,pixmaps} cp pack/tartube.1 $out/share/man/man1 diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix index d025554835e..14ca503f2e9 100644 --- a/pkgs/applications/video/vdr/default.nix +++ b/pkgs/applications/video/vdr/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fontconfig, libjpeg, libcap, freetype, fribidi, pkgconfig -, gettext, systemd, perl, lib +, gettext, systemd, perl, lib, fetchpatch , enableSystemd ? true , enableBidi ? true }: stdenv.mkDerivation rec { @@ -12,6 +12,11 @@ sha256 = "1p51b14aqzncx3xpfg0rjplc48pg7520035i5p6r5zzkqhszihr5"; }; + patches = [ + # Derived from http://git.tvdr.de/?p=vdr.git;a=commit;h=930c2cd2eb8947413e88404fa94c66e4e1db5ad6 + ./glibc2.31-compat.patch + ]; + enableParallelBuilding = true; postPatch = "substituteInPlace Makefile --replace libsystemd-daemon libsystemd"; diff --git a/pkgs/applications/video/vdr/glibc2.31-compat.patch b/pkgs/applications/video/vdr/glibc2.31-compat.patch new file mode 100644 index 00000000000..9a52d4b290b --- /dev/null +++ b/pkgs/applications/video/vdr/glibc2.31-compat.patch @@ -0,0 +1,15 @@ +diff --git a/eit.c b/eit.c +index 50d8229..373dbca 100644 +--- a/eit.c ++++ b/eit.c +@@ -391,7 +391,9 @@ cTDT::cTDT(const u_char *Data) + if (abs(diff) > MAX_TIME_DIFF) { + mutex.Lock(); + if (abs(diff) > MAX_ADJ_DIFF) { +- if (stime(&dvbtim) == 0) ++ timespec ts = { 0 }; ++ ts.tv_sec = dvbtim; ++ if (clock_settime(CLOCK_REALTIME, &ts) == 0) + isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim); + else + esyslog("ERROR while setting system time: %m"); diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix index 6c1e79c42de..2ae4cbac4d7 100644 --- a/pkgs/applications/video/vdr/plugins.nix +++ b/pkgs/applications/video/vdr/plugins.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchgit, vdr, alsaLib, fetchFromGitHub -, libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg +, libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg_3 , libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses , callPackage }: let @@ -52,7 +52,7 @@ in { name = "vdr-vaapidevice-0.7.0"; buildInputs = [ - vdr libxcb xcbutilwm ffmpeg + vdr libxcb xcbutilwm ffmpeg_3 alsaLib libvdpau # vdpau libva # va-api diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 229eeffe8f7..e655e0fbff4 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, autoreconfHook , libarchive, perl, xorg, libdvdnav, libbluray -, zlib, a52dec, libmad, faad2, ffmpeg, alsaLib +, zlib, a52dec, libmad, faad2, ffmpeg_3, alsaLib , pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska , libvorbis, libtheora, speex, lua5, libgcrypt, libgpgerror, libupnp , libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg @@ -25,18 +25,18 @@ assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null && wra stdenv.mkDerivation rec { pname = "vlc"; - version = "3.0.8"; + version = "3.0.11.1"; src = fetchurl { url = "http://get.videolan.org/vlc/${version}/${pname}-${version}.tar.xz"; - sha256 = "e0149ef4a20a19b9ecd87309c2d27787ee3f47dfd47c6639644bc1f6fd95bdf6"; + sha256 = "1f46h0hv7fk35zg4iczlp7ib7h2jmh8m4r5klw3g2558ib9134qq"; }; # VLC uses a *ton* of libraries for various pieces of functionality, many of # which are not included here for no other reason that nobody has mentioned # needing them buildInputs = [ - zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread + zlib a52dec libmad faad2 ffmpeg_3 alsaLib libdvdnav libdvdnav.libdvdread libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix new file mode 100644 index 00000000000..41304c21ac3 --- /dev/null +++ b/pkgs/applications/video/webcamoid/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub, pkgconfig, libxcb, mkDerivation, qmake +, qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 +, ffmpeg-full, gstreamer, gst_all_1, libpulseaudio, alsaLib, jack2 +, v4l-utils }: +mkDerivation rec { + pname = "webcamoid"; + version = "8.7.1"; + + src = fetchFromGitHub { + sha256 = "1d8g7mq0wf0ycds87xpdhr3zkljgjmb94n3ak9kkxj2fqp9242d2"; + rev = version; + repo = "webcamoid"; + owner = "webcamoid"; + }; + + buildInputs = [ + libxcb + qtbase qtdeclarative qtquickcontrols qtquickcontrols2 + ffmpeg-full + gstreamer gst_all_1.gst-plugins-base + alsaLib libpulseaudio jack2 + v4l-utils + ]; + + nativeBuildInputs = [ pkgconfig qmake ]; + + qmakeFlags = [ + "Webcamoid.pro" + "INSTALLQMLDIR=${placeholder "out"}/lib/qt/qml" + ]; + + meta = with stdenv.lib; { + description = "Webcam Capture Software"; + longDescription = "Webcamoid is a full featured and multiplatform webcam suite."; + homepage = "https://github.com/webcamoid/webcamoid/"; + license = [ licenses.gpl3Plus ]; + platforms = platforms.linux; + maintainers = with maintainers; [ robaca ]; + }; +} diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix index 24c17daa759..ef50dad86bc 100644 --- a/pkgs/applications/video/webtorrent_desktop/default.nix +++ b/pkgs/applications/video/webtorrent_desktop/default.nix @@ -1,14 +1,16 @@ { - alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fontconfig, freetype, - gdk-pixbuf, glib, gnome2, libX11, libXScrnSaver, libXcomposite, libXcursor, + alsaLib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fetchzip, fontconfig, freetype, + gdk-pixbuf, glib, gnome3, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, - libxcb, nspr, nss, stdenv, udev + libxcb, nspr, nss, stdenv, udev, libuuid, pango, at-spi2-atk, at-spi2-core }: let rpath = stdenv.lib.makeLibraryPath ([ alsaLib atk + at-spi2-core + at-spi2-atk cairo cups dbus @@ -17,9 +19,9 @@ freetype gdk-pixbuf glib - gnome2.GConf - gnome2.gtk - gnome2.pango + gnome3.gtk + pango + libuuid libX11 libXScrnSaver libXcomposite @@ -39,29 +41,33 @@ ]); in stdenv.mkDerivation rec { pname = "webtorrent-desktop"; - version = "0.20.0"; + version = "0.21.0"; src = if stdenv.hostPlatform.system == "x86_64-linux" then - fetchurl { - url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v0.20.0/webtorrent-desktop_${version}-1_amd64.deb"; - sha256 = "1kkrnbimiip5pn2nwpln35bbdda9gc3cgrjwphq4fqasbjf2781k"; + fetchzip { + url = "https://github.com/webtorrent/webtorrent-desktop/releases/download/v${version}/WebTorrent-v${version}-linux.zip"; + sha256 = "13gd8isq2l10kibsc1bsc15dbgpnwa7nw4cwcamycgx6pfz9a852"; } else throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}"; + desktopFile = fetchurl { + url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/applications/webtorrent-desktop.desktop"; + sha256 = "1v16dqbxqds3cqg3xkzxsa5fyd8ssddvjhy9g3i3lz90n47916ca"; + }; + icon256File = fetchurl { + url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/256x256/apps/webtorrent-desktop.png"; + sha256 = "1dapxvvp7cx52zhyaby4bxm4rll9xc7x3wk8k0il4g3mc7zzn3yk"; + }; + icon48File = fetchurl { + url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/48x48/apps/webtorrent-desktop.png"; + sha256 = "00y96w9shbbrdbf6xcjlahqd08154kkrxmqraik7qshiwcqpw7p4"; + }; 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 + mkdir -p $out/share/{applications,icons/hicolor/{48x48,256x256}/apps} + cp -R . $out/libexec # Patch WebTorrent patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ @@ -71,9 +77,11 @@ 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 $out/bin + cp $icon48File $out/share/icons/hicolor/48x48/apps/webtorrent-desktop.png + cp $icon256File $out/share/icons/hicolor/256x256/apps/webtorrent-desktop.png + ## Fix the desktop link + substitute $desktopFile $out/share/applications/webtorrent-desktop.desktop \ + --replace /opt/webtorrent-desktop $out/libexec ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/wf-recorder/default.nix b/pkgs/applications/video/wf-recorder/default.nix index cb97e5b1090..09b67149f5a 100644 --- a/pkgs/applications/video/wf-recorder/default.nix +++ b/pkgs/applications/video/wf-recorder/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland, scdoc -, wayland-protocols, ffmpeg_4, x264, libpulseaudio, ocl-icd, opencl-headers +, wayland-protocols, ffmpeg, x264, libpulseaudio, ocl-icd, opencl-headers }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkg-config wayland scdoc ]; buildInputs = [ - wayland-protocols ffmpeg_4 x264 libpulseaudio ocl-icd opencl-headers + wayland-protocols ffmpeg x264 libpulseaudio ocl-icd opencl-headers ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/video/xawtv/default.nix b/pkgs/applications/video/xawtv/default.nix index 38cce053edf..a82ea044407 100644 --- a/pkgs/applications/video/xawtv/default.nix +++ b/pkgs/applications/video/xawtv/default.nix @@ -19,11 +19,11 @@ }: stdenv.mkDerivation rec { - name = "xawtv-3.106"; + name = "xawtv-3.107"; src = fetchurl { url = "https://linuxtv.org/downloads/xawtv/${name}.tar.bz2"; - sha256 = "174wd36rk0k23mgx9nlnpc398yd1f0wiv060963axg6sz0v4rksp"; + sha256 = "055p0wia0xsj073l8mg4ifa6m81dmv6p45qyh99brramq5iylfy5"; }; buildInputs = [ diff --git a/pkgs/applications/video/xscast/default.nix b/pkgs/applications/video/xscast/default.nix index dec8bdd67fc..f9e6a3d6521 100644 --- a/pkgs/applications/video/xscast/default.nix +++ b/pkgs/applications/video/xscast/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, ffmpeg, imagemagick, dzen2, xorg }: +{ stdenv, fetchFromGitHub, makeWrapper, ffmpeg_3, imagemagick, dzen2, xorg }: stdenv.mkDerivation { pname = "xscast-unstable"; @@ -21,7 +21,7 @@ stdenv.mkDerivation { patchShebangs $out/bin wrapProgram "$out/bin/xscast" \ - --prefix PATH : ${stdenv.lib.makeBinPath [ ffmpeg dzen2 xorg.xwininfo xorg.xinput xorg.xmodmap imagemagick ]} + --prefix PATH : ${stdenv.lib.makeBinPath [ ffmpeg_3 dzen2 xorg.xwininfo xorg.xinput xorg.xmodmap imagemagick ]} runHook postInstall ''; |