diff options
Diffstat (limited to 'pkgs/applications/video')
24 files changed, 287 insertions, 139 deletions
diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix index 6883587b4b810..720df51a34ef5 100644 --- a/pkgs/applications/video/ani-cli/default.nix +++ b/pkgs/applications/video/ani-cli/default.nix @@ -12,13 +12,13 @@ stdenvNoCC.mkDerivation rec { pname = "ani-cli"; - version = "1.9"; + version = "2.1"; src = fetchFromGitHub { owner = "pystardust"; repo = "ani-cli"; rev = "v${version}"; - sha256 = "sha256-oYiq3Mnuhba5NELJXqVN3gY/d0RfQIqW13YtdcmYKK4="; + sha256 = "sha256-A1c7YdBh2VOhw/xTvhNV50j9n+SELyRTHI5w+AeiWDs="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/video/celluloid/default.nix b/pkgs/applications/video/celluloid/default.nix index 291b4b9ebfc64..98495ca5affb7 100644 --- a/pkgs/applications/video/celluloid/default.nix +++ b/pkgs/applications/video/celluloid/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "celluloid"; - version = "0.22"; + version = "0.23"; src = fetchFromGitHub { owner = "celluloid-player"; repo = "celluloid"; rev = "v${version}"; - hash = "sha256-QGN8YLtyb9YVNDK2ZDQwHJVg6UTIQssfNK9lQqxMNKQ="; + hash = "sha256-YKDud/UJJx9ko5k+Oux8mUUme0MXaRMngESE14Hhxv8="; }; nativeBuildInputs = [ @@ -46,8 +46,6 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs meson-post-install.py src/generate-authors.py - # Remove this for next release - substituteInPlace meson-post-install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache" ''; doCheck = true; diff --git a/pkgs/applications/video/epgstation/default.nix b/pkgs/applications/video/epgstation/default.nix index 77510ae153deb..b89193617274f 100644 --- a/pkgs/applications/video/epgstation/default.nix +++ b/pkgs/applications/video/epgstation/default.nix @@ -1,8 +1,7 @@ { lib , stdenv , fetchFromGitHub -, common-updater-scripts -, genericUpdater +, gitUpdater , writers , makeWrapper , bash @@ -115,7 +114,7 @@ let ln -sfT /var/lib/epgstation/thumbnail thumbnail makeWrapper ${nodejs}/bin/npm $out/bin/epgstation \ - --run "cd $out/lib/node_modules/epgstation" \ + --chdir "$out/lib/node_modules/epgstation" \ --prefix PATH : ${lib.makeBinPath runtimeDeps} \ --set APP_ROOT_PATH "$out/lib/node_modules/epgstation" @@ -130,8 +129,7 @@ let inherit pname version - common-updater-scripts - genericUpdater + gitUpdater writers jq yq; diff --git a/pkgs/applications/video/epgstation/update.nix b/pkgs/applications/video/epgstation/update.nix index 5eb23be6c52b6..387fbe0db62d2 100644 --- a/pkgs/applications/video/epgstation/update.nix +++ b/pkgs/applications/video/epgstation/update.nix @@ -2,19 +2,17 @@ , version , homepage , lib -, common-updater-scripts -, genericUpdater +, gitUpdater , writers , jq , yq }: let - updater = genericUpdater { + updater = gitUpdater { inherit pname version; attrPath = lib.toLower pname; rev-prefix = "v"; - versionLister = "${common-updater-scripts}/bin/list-git-tags --url=${homepage}"; }; updateScript = builtins.elemAt updater 0; updateArgs = map (lib.escapeShellArg) (builtins.tail updater); diff --git a/pkgs/applications/video/f1viewer/default.nix b/pkgs/applications/video/f1viewer/default.nix index c241dd8a7458f..2620142fb11e9 100644 --- a/pkgs/applications/video/f1viewer/default.nix +++ b/pkgs/applications/video/f1viewer/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "f1viewer"; - version = "2.6.2"; + version = "2.7.0"; src = fetchFromGitHub { owner = "SoMuchForSubtlety"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Z6rnkHypk7r9NnYwqZpWQOuGPbWn/EppS+46PQHIdDM="; + sha256 = "sha256-jXC2dENXuqicNQqTHyZKsjibDvjta/npQmf3+uivjX0="; }; vendorSha256 = "sha256-UNeH3zxgssXxFpJws6nAL8EgXt0DRyAQfmlJWz/qyDg="; diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix index a2f802c6e87bb..9331471c747e6 100644 --- a/pkgs/applications/video/ffmpeg-normalize/default.nix +++ b/pkgs/applications/video/ffmpeg-normalize/default.nix @@ -7,11 +7,11 @@ buildPythonApplication rec { pname = "ffmpeg-normalize"; - version = "1.22.8"; + version = "1.22.9"; src = fetchPypi { inherit pname version; - sha256 = "sha256-vxiq6q8fPh8ZLKnxYdIN591UQW73FWsoke1PvKTkko8="; + sha256 = "sha256-RBrCIDinPXbXKqrrhqVf3rV4rfi+2PttIaYxUKOk7hs="; }; propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ]; diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 841604399ed36..3c73e7f59944b 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -11,7 +11,7 @@ , lib , fetchFromGitHub # For tests -, testVersion +, testers , runCommand , fetchurl # Main build tools @@ -230,7 +230,7 @@ let self = stdenv.mkDerivation rec { HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160 test -e test.mkv ''; - version = testVersion { package = self; command = "HandBrakeCLI --version"; }; + version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; }; }; meta = with lib; { diff --git a/pkgs/applications/video/hdhomerun-config-gui/default.nix b/pkgs/applications/video/hdhomerun-config-gui/default.nix index 62726dff41123..32f4267d9fcc1 100644 --- a/pkgs/applications/video/hdhomerun-config-gui/default.nix +++ b/pkgs/applications/video/hdhomerun-config-gui/default.nix @@ -16,7 +16,9 @@ stdenv.mkDerivation rec { makeFlags = [ "SUBDIRS=src" ]; installPhase = '' - install -vDm 755 src/hdhomerun_config_gui $out/usr/bin/hdhomerun_config_gui + runHook preInstall + install -vDm 755 src/hdhomerun_config_gui $out/bin/hdhomerun_config_gui + runHook postInstall ''; meta = with lib; { diff --git a/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch b/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch new file mode 100644 index 0000000000000..ae221eff60450 --- /dev/null +++ b/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch @@ -0,0 +1,88 @@ +From 620c3eb38f0dbea6e877e37e97508513e87a0732 Mon Sep 17 00:00:00 2001 +From: Jeremy Fleischman <jeremyfleischman@gmail.com> +Date: Sun, 27 Mar 2022 00:44:52 -0700 +Subject: [PATCH] Add new KODI_WEBSERVER_EXTRA_WHITELIST cmake var to allow + access to more directories + +(This is a backport of +https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888 +to Kodi 19.4 Matrix) + +This is useful for NixOS, which often ends up creating a `KODI_HOME` +with symlinks to other files (including the chorus2 interface). Kodi's +webserver cautiously refuses to follow these symlinks, and you end up +getting 404s rather than the web page. + +See https://forum.kodi.tv/showthread.php?tid=366338&pid=3079493 for a +discussion of this on the Kodi forum. +--- + CMakeLists.txt | 1 + + xbmc/CompileInfo.cpp.in | 5 +++++ + xbmc/CompileInfo.h | 1 + + xbmc/utils/FileUtils.cpp | 6 +++++- + 4 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2d5369798df23..d5ef6d9390ef0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -243,6 +243,7 @@ add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp + -DAPP_BUILD_DATE=${APP_BUILD_DATE} + -DAPP_SHARED_LIBRARY_SUFFIX="${APP_SHARED_LIBRARY_SUFFIX}" + -Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} ++ -DKODI_WEBSERVER_EXTRA_WHITELIST="${KODI_WEBSERVER_EXTRA_WHITELIST}" + -P ${CMAKE_SOURCE_DIR}/cmake/scripts/common/GenerateVersionedFiles.cmake + DEPENDS ${CMAKE_SOURCE_DIR}/version.txt + export-files +diff --git a/xbmc/CompileInfo.cpp.in b/xbmc/CompileInfo.cpp.in +index f81fe77902236..4f19203a89cde 100644 +--- a/xbmc/CompileInfo.cpp.in ++++ b/xbmc/CompileInfo.cpp.in +@@ -105,3 +105,8 @@ std::vector<std::string> CCompileInfo::GetAvailableWindowSystems() + { + return StringUtils::Split("@CORE_PLATFORM_NAME_LC@", ' '); + } ++ ++const std::vector<std::string> CCompileInfo::GetWebserverExtraWhitelist() ++{ ++ return StringUtils::Split("@KODI_WEBSERVER_EXTRA_WHITELIST@", ','); ++} +diff --git a/xbmc/CompileInfo.h b/xbmc/CompileInfo.h +index 553a0194ee77f..e2521324e6576 100644 +--- a/xbmc/CompileInfo.h ++++ b/xbmc/CompileInfo.h +@@ -32,4 +32,5 @@ class CCompileInfo + static const char* GetVersionCode(); + static std::vector<std::string> GetAvailableWindowSystems(); + static std::vector<ADDON::RepoInfo> LoadOfficialRepoInfos(); ++ static const std::vector<std::string> GetWebserverExtraWhitelist(); + }; +diff --git a/xbmc/utils/FileUtils.cpp b/xbmc/utils/FileUtils.cpp +index e51f3d631c256..fc717c9608098 100644 +--- a/xbmc/utils/FileUtils.cpp ++++ b/xbmc/utils/FileUtils.cpp +@@ -6,6 +6,7 @@ + * See LICENSES/README.md for more information. + */ + ++#include "CompileInfo.h" + #include "FileUtils.h" + #include "ServiceBroker.h" + #include "guilib/GUIKeyboardFactory.h" +@@ -261,12 +262,15 @@ bool CFileUtils::CheckFileAccessAllowed(const std::string &filePath) + "/.ssh/", + }; + // ALLOW kodi paths +- const std::vector<std::string> whitelist = { ++ std::vector<std::string> whitelist = { + CSpecialProtocol::TranslatePath("special://home"), + CSpecialProtocol::TranslatePath("special://xbmc"), + CSpecialProtocol::TranslatePath("special://musicartistsinfo") + }; + ++ auto kodiExtraWhitelist = CCompileInfo::GetWebserverExtraWhitelist(); ++ whitelist.insert(whitelist.end(), kodiExtraWhitelist.begin(), kodiExtraWhitelist.end()); ++ + // image urls come in the form of image://... sometimes with a / appended at the end + // and can be embedded in a music or video file image://music@... + // strip this off to get the real file path diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix index 18319468eae90..47f3e0a9d996b 100644 --- a/pkgs/applications/video/kodi/unwrapped.nix +++ b/pkgs/applications/video/kodi/unwrapped.nix @@ -107,6 +107,15 @@ in stdenv.mkDerivation { src = kodi_src; + # This is a backport of + # https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888 + # to Kodi 19.4 Matrix. + # This can be removed once a new release of Kodi comes out and we upgrade + # to it. + patches = [ + ./add-KODI_WEBSERVER_EXTRA_WHITELIST.patch + ]; + buildInputs = [ gnutls libidn libtasn1 nasm p11-kit libxml2 python3Packages.python @@ -185,6 +194,12 @@ in stdenv.mkDerivation { "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig" "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc" "-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python" + # When wrapped KODI_HOME will likely contain symlinks to static assets + # that Kodi's built in webserver will cautiously refuse to serve up + # (because their realpaths are outside of KODI_HOME and the other + # whitelisted directories). This adds the entire nix store to the Kodi + # webserver whitelist to avoid this problem. + "-DKODI_WEBSERVER_EXTRA_WHITELIST=${builtins.storeDir}" ] ++ lib.optional waylandSupport [ "-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++" ]; diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index 2380d0023d576..52b7679a325ea 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -35,11 +35,5 @@ buildEnv { (lib.concatMap (plugin: plugin.extraRuntimeDependencies or []) addons)}" done - - # makeWrapper just created webinterface.default as a symlink. However, - # kodi's webserver carefully refuses to follow symlinks, so we need to copy - # these assets instead. - rm $out/share/kodi/addons/webinterface.default - cp -r ${kodi}/share/kodi/addons/webinterface.default/ $out/share/kodi/addons/webinterface.default ''; } diff --git a/pkgs/applications/video/mirakurun/default.nix b/pkgs/applications/video/mirakurun/default.nix index 3987e12528444..d0d52ade25ad9 100644 --- a/pkgs/applications/video/mirakurun/default.nix +++ b/pkgs/applications/video/mirakurun/default.nix @@ -6,9 +6,8 @@ { lib , stdenvNoCC , bash -, common-updater-scripts , fetchFromGitHub -, genericUpdater +, gitUpdater , jq , makeWrapper , mkYarnPackage @@ -61,7 +60,7 @@ stdenvNoCC.mkDerivation rec { mkdir -p $out/bin makeWrapper ${mirakurun}/bin/mirakurun-epgdump $out/bin/mirakurun-epgdump \ - --run "cd ${mirakurun}/libexec/mirakurun/node_modules/mirakurun" \ + --chdir "${mirakurun}/libexec/mirakurun/node_modules/mirakurun" \ --prefix PATH : ${lib.makeBinPath runtimeDeps} # XXX: The original mirakurun command uses PM2 to manage the Mirakurun @@ -70,7 +69,7 @@ stdenvNoCC.mkDerivation rec { # unique to PM2 is currently being used. makeWrapper ${yarn}/bin/yarn $out/bin/mirakurun-start \ --add-flags "start" \ - --run "cd ${mirakurun}/libexec/mirakurun/node_modules/mirakurun" \ + --chdir "${mirakurun}/libexec/mirakurun/node_modules/mirakurun" \ --prefix PATH : ${lib.makeBinPath runtimeDeps} ''; @@ -80,8 +79,7 @@ stdenvNoCC.mkDerivation rec { inherit pname version - common-updater-scripts - genericUpdater + gitUpdater writers jq yarn diff --git a/pkgs/applications/video/mirakurun/update.nix b/pkgs/applications/video/mirakurun/update.nix index 18a4d0ab25629..6fd13f81b87ad 100644 --- a/pkgs/applications/video/mirakurun/update.nix +++ b/pkgs/applications/video/mirakurun/update.nix @@ -2,8 +2,7 @@ , version , homepage , lib -, common-updater-scripts -, genericUpdater +, gitUpdater , writers , jq , yarn @@ -11,15 +10,12 @@ }: let - updater = genericUpdater { + updater = gitUpdater { inherit pname version; attrPath = lib.toLower pname; # exclude prerelease versions - versionLister = writers.writeBash "list-mirakurun-versions" '' - ${common-updater-scripts}/bin/list-git-tags --url=${homepage} \ - | grep '^[0-9]\+\.[0-9]\+\.[0-9]\+$' - ''; + ignoredVersions = "-"; }; updateScript = builtins.elemAt updater 0; updateArgs = map (lib.escapeShellArg) (builtins.tail updater); diff --git a/pkgs/applications/video/mpv/scripts/autocrop.nix b/pkgs/applications/video/mpv/scripts/autocrop.nix new file mode 100644 index 0000000000000..645a4dd16899f --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/autocrop.nix @@ -0,0 +1,19 @@ +{ stdenvNoCC, mpv-unwrapped, lib }: + +stdenvNoCC.mkDerivation rec { + pname = "mpv-autocrop"; + version = mpv-unwrapped.version; + src = "${mpv-unwrapped.src.outPath}/TOOLS/lua/autocrop.lua"; + dontBuild = true; + dontUnpack = true; + installPhase = '' + install -Dm644 ${src} $out/share/mpv/scripts/autocrop.lua + ''; + passthru.scriptName = "autocrop.lua"; + + meta = { + description = "This script uses the lavfi cropdetect filter to automatically insert a crop filter with appropriate parameters for the currently playing video."; + homepage = "https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/autocrop.lua"; + license = lib.licenses.gpl2Plus; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/autodeint.nix b/pkgs/applications/video/mpv/scripts/autodeint.nix new file mode 100644 index 0000000000000..b5369b748faf6 --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/autodeint.nix @@ -0,0 +1,19 @@ +{ stdenvNoCC, mpv-unwrapped, lib }: + +stdenvNoCC.mkDerivation rec { + pname = "mpv-autodeint"; + version = mpv-unwrapped.version; + src = "${mpv-unwrapped.src.outPath}/TOOLS/lua/autodeint.lua"; + dontBuild = true; + dontUnpack = true; + installPhase = '' + install -Dm644 ${src} $out/share/mpv/scripts/autodeint.lua + ''; + passthru.scriptName = "autodeint.lua"; + + meta = { + description = "This script uses the lavfi idet filter to automatically insert the appropriate deinterlacing filter based on a short section of the currently playing video."; + homepage = "https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/autodeint.lua"; + license = lib.licenses.gpl2Plus; + }; +} diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 22c206dfe0378..83514923331ab 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -46,13 +46,13 @@ let in mkDerivation rec { pname = "obs-studio"; - version = "27.2.1"; + version = "27.2.4"; src = fetchFromGitHub { owner = "obsproject"; repo = "obs-studio"; rev = version; - sha256 = "sha256-RHPzSw7wjnAHk90N7g53LyIH3ozO/hyZV5hVZpZe+Ow="; + sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0="; fetchSubmodules = true; }; diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix index 95b41c1c86f13..844d4a50b8526 100644 --- a/pkgs/applications/video/obs-studio/plugins/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/default.nix @@ -9,4 +9,5 @@ wlrobs = callPackage ./wlrobs.nix {}; looking-glass-obs = callPackage ./looking-glass-obs.nix {}; obs-nvfbc = callPackage ./obs-nvfbc.nix {}; + obs-vkcapture = callPackage ./obs-vkcapture.nix {}; } diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix new file mode 100644 index 0000000000000..bd74feb3bcc9f --- /dev/null +++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, ninja +, wayland +, obs-studio +, libX11 +, vulkan-headers +, vulkan-loader +, libGL +}: + +stdenv.mkDerivation rec { + pname = "obs-vkcapture"; + version = "1.1.3"; + + src = fetchFromGitHub { + owner = "nowrep"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-iIV9ke2yPEt2Lf4bwiEHFip4tLhMS4raWGyCWpao74w="; + }; + + nativeBuildInputs = [ cmake ninja ]; + buildInputs = [ libGL libX11 obs-studio vulkan-headers vulkan-loader wayland ]; + + meta = with lib; { + description = "OBS Linux Vulkan/OpenGL game capture"; + homepage = "https://github.com/nowrep/obs-vkcapture"; + maintainers = with maintainers; [ atila ]; + license = licenses.gpl2Only; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix index 7ae463b987300..1b97fa9b7c665 100644 --- a/pkgs/applications/video/pitivi/default.nix +++ b/pkgs/applications/video/pitivi/default.nix @@ -1,5 +1,6 @@ { lib , fetchurl +, fetchpatch , pkg-config , gettext , itstool @@ -36,6 +37,13 @@ python3Packages.buildPythonApplication rec { # and saves them to the generated binary. This would make the build-time # dependencies part of the closure so we remove it. ./prevent-closure-contamination.patch + + # Fix build with meson 0.61 + # https://gitlab.gnome.org/GNOME/pitivi/-/merge_requests/414 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/pitivi/-/commit/ddf2369d1fc6fddd63f676cc905a8b8e96291a4c.patch"; + sha256 = "MC4naGnqhrYlFBFHZaSzbOzrqaNK5/Xv5jBmCu0fLQE="; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix index 071e67a172116..548b3d7f9724d 100644 --- a/pkgs/applications/video/quvi/library.nix +++ b/pkgs/applications/video/quvi/library.nix @@ -18,5 +18,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl21Plus; platforms = lib.platforms.linux; maintainers = [ ]; + broken = true; # missing glibc-2.34 support, no upstream activity }; } diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix index 676d073900c52..a31ef6e72ae6a 100644 --- a/pkgs/applications/video/quvi/scripts.nix +++ b/pkgs/applications/video/quvi/scripts.nix @@ -17,5 +17,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl21Plus; platforms = lib.platforms.linux; maintainers = [ ]; + broken = true; # missing glibc-2.34 support, no upstream activity }; } diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix index 87c8066a976c5..ad6233cbd0012 100644 --- a/pkgs/applications/video/quvi/tool.nix +++ b/pkgs/applications/video/quvi/tool.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = lib.licenses.lgpl21Plus; platforms = lib.platforms.linux; maintainers = [ ]; + broken = true; # missing glibc-2.34 support, no upstream activity }; } diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix index 63f1e885af309..b9c21b7ad7d17 100644 --- a/pkgs/applications/video/webcamoid/default.nix +++ b/pkgs/applications/video/webcamoid/default.nix @@ -1,13 +1,13 @@ -{ lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, qmake +{ lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, cmake , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 , ffmpeg-full, gst_all_1, libpulseaudio, alsa-lib, jack2 , v4l-utils }: mkDerivation rec { pname = "webcamoid"; - version = "8.8.0"; + version = "9.0.0"; src = fetchFromGitHub { - sha256 = "0a8M9GQ6Ea9jBCyfbORVyB6HC/O6jdcIZruQZj9Aai4="; + sha256 = "sha256-NV1BmG+fgy+ZcvHl+05VX5J1BAz8PxKiZ3z9BxjhMU0="; rev = version; repo = "webcamoid"; owner = "webcamoid"; @@ -22,12 +22,7 @@ mkDerivation rec { v4l-utils ]; - nativeBuildInputs = [ pkg-config qmake ]; - - qmakeFlags = [ - "Webcamoid.pro" - "INSTALLQMLDIR=${placeholder "out"}/lib/qt/qml" - ]; + nativeBuildInputs = [ pkg-config cmake ]; meta = with lib; { description = "Webcam Capture Software"; diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix index b4f8af61fca5e..8f1353fa83e48 100644 --- a/pkgs/applications/video/webtorrent_desktop/default.nix +++ b/pkgs/applications/video/webtorrent_desktop/default.nix @@ -1,95 +1,76 @@ +## FIXME: see ../../../servers/code-server/ for a proper yarn packaging +## - export ELECTRON_SKIP_BINARY_DOWNLOAD=1 +## - jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json { - alsa-lib, atk, cairo, cups, dbus, dpkg, expat, fetchurl, fetchzip, fontconfig, freetype, - gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor, - libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, - libxcb, nspr, nss, lib, stdenv, udev, libuuid, pango, at-spi2-atk, at-spi2-core + lib, stdenv, buildFHSUserEnvBubblewrap, runCommand, writeScript, fetchurl, fetchzip }: +let + pname = "webtorrent-desktop"; + version = "0.21.0"; +in +runCommand "${pname}-${version}" rec { + inherit (stdenv) shell; + inherit pname version; + src = + if stdenv.hostPlatform.system == "x86_64-linux" then + 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}"; - let - rpath = lib.makeLibraryPath ([ - alsa-lib - atk - at-spi2-core - at-spi2-atk - cairo - cups - dbus - expat - fontconfig - freetype - gdk-pixbuf - glib - gtk3 - pango - libuuid - libX11 - libXScrnSaver - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXrandr - libXrender - libXtst - libxcb - nspr - nss - stdenv.cc.cc - udev - ]); - in stdenv.mkDerivation rec { - pname = "webtorrent-desktop"; - version = "0.21.0"; + fhs = buildFHSUserEnvBubblewrap rec { + name = "fhsEnterWebTorrent"; + runScript = "${src}/WebTorrent"; + ## use the trampoline, if you need to shell into the fhsenv + # runScript = writeScript "trampoline" '' + # #!/bin/sh + # exec "$@" + # ''; + targetPkgs = pkgs: with pkgs; with xorg; [ + alsa-lib atk at-spi2-core at-spi2-atk cairo cups dbus expat + fontconfig freetype gdk-pixbuf glib gtk3 pango libuuid libX11 + libXScrnSaver libXcomposite libXcursor libXdamage libXext + libXfixes libXi libXrandr libXrender libXtst libxcb nspr nss + stdenv.cc.cc udev + ]; + # extraBwrapArgs = [ + # "--ro-bind /run/user/$(id -u)/pulse /run/user/$(id -u)/pulse" + # ]; + }; - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - 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"; - }; - nativeBuildInputs = [ dpkg ]; - installPhase = '' - mkdir -p $out/share/{applications,icons/hicolor/{48x48,256x256}/apps} - cp -R . $out/libexec + 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"; + }; - # Patch WebTorrent - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${rpath}:$out/libexec $out/libexec/WebTorrent + meta = with lib; { + description = "Streaming torrent app for Mac, Windows, and Linux"; + homepage = "https://webtorrent.io/desktop"; + license = licenses.mit; + maintainers = [ maintainers.flokli maintainers.bendlas ]; + platforms = [ + "x86_64-linux" + ]; + }; - # Symlink to bin - mkdir -p $out/bin - ln -s $out/libexec/WebTorrent $out/bin/WebTorrent +} '' + mkdir -p $out/{bin,share/{applications,icons/hicolor/{48x48,256x256}/apps}} - 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 - ''; + cp $fhs/bin/fhsEnterWebTorrent $out/bin/WebTorrent - meta = with lib; { - description = "Streaming torrent app for Mac, Windows, and Linux"; - homepage = "https://webtorrent.io/desktop"; - license = licenses.mit; - maintainers = [ maintainers.flokli ]; - platforms = [ - "x86_64-linux" - ]; - }; - } + 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 +'' |