diff options
Diffstat (limited to 'pkgs/applications/video')
166 files changed, 1548 insertions, 1159 deletions
diff --git a/pkgs/applications/video/adl/default.nix b/pkgs/applications/video/adl/default.nix index 6bf36cc375b82..46e2bc492a87b 100644 --- a/pkgs/applications/video/adl/default.nix +++ b/pkgs/applications/video/adl/default.nix @@ -1,21 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, pkgs, makeWrapper, ... }: - -stdenv.mkDerivation rec { +{ lib +, stdenvNoCC +, fetchFromGitHub +, makeWrapper +, animdl +, frece +, fzf +, mpv +, perl +, trackma +, ueberzug +, ... +}: +stdenvNoCC.mkDerivation rec { pname = "adl"; - version = "3.0.1"; + version = "3.2.8"; src = fetchFromGitHub { owner = "RaitaroH"; repo = "adl"; - rev = "65f68e1dcae4c0caa52668d3a854269e7d226f7c"; - sha256 = "sha256-huGpDtkWrhZyKDNKXat8T3qtAyMjBaq8HFd1w1ThUVk="; + rev = "a40f31454de856d9e9235d6216eaf8f4296111c4"; + hash = "sha256-Kg/iGyEdWJyoPn5lVqRCJX2eqdP1xwZqNU2RvTrhZko="; }; nativeBuildInputs = [ makeWrapper ]; # https://github.com/RaitaroH/adl#requirements - buildInputs = with pkgs; [ - anime-downloader + buildInputs = [ + animdl frece fzf mpv @@ -35,10 +46,10 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/RaitaroH/adl"; - description = "popcorn anime-downloader + trackma wrapper"; - license = licenses.gpl3Plus; + description = "Popcorn anime scraper/downloader + trackma wrapper"; + license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ weathercold ]; mainProgram = "adl"; }; } diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix index f4d174474df23..d906b0d2b865f 100644 --- a/pkgs/applications/video/ani-cli/default.nix +++ b/pkgs/applications/video/ani-cli/default.nix @@ -54,7 +54,7 @@ stdenvNoCC.mkDerivation rec { meta = with lib; { homepage = "https://github.com/pystardust/ani-cli"; - description = "A cli tool to browse and play anime"; + description = "Cli tool to browse and play anime"; license = licenses.gpl3Plus; maintainers = with maintainers; [ skykanin ]; platforms = platforms.unix; diff --git a/pkgs/applications/video/anilibria-winmaclinux/default.nix b/pkgs/applications/video/anilibria-winmaclinux/default.nix index 818e3a8e15053..b9679d1fd49f6 100644 --- a/pkgs/applications/video/anilibria-winmaclinux/default.nix +++ b/pkgs/applications/video/anilibria-winmaclinux/default.nix @@ -18,13 +18,13 @@ mkDerivation rec { pname = "anilibria-winmaclinux"; - version = "1.2.16.2"; + version = "1.2.17"; src = fetchFromGitHub { owner = "anilibria"; repo = "anilibria-winmaclinux"; rev = version; - hash = "sha256-IgNYJSadGemjclh7rtY8dHz7uSfBHoWEyLlRoZ+st6k="; + hash = "sha256-Ij4F5UCt1YOB4MLTlUTAiTt2zN4TkJuf5v6sWb9pJ6k="; }; sourceRoot = "${src.name}/src"; diff --git a/pkgs/applications/video/animdl/default.nix b/pkgs/applications/video/animdl/default.nix index 3f1be6f5833ad..ebe13e8b12e26 100644 --- a/pkgs/applications/video/animdl/default.nix +++ b/pkgs/applications/video/animdl/default.nix @@ -30,6 +30,20 @@ buildPythonApplication { hash = "sha256-kn6vCCFhJNlruxoO+PTHVIwTf1E5j1aSdBhrFuGzUq4="; }; + pythonRemoveDeps = [ + "comtypes" # windows only + ]; + pythonRelaxDeps = [ + "httpx" + "lxml" + "packaging" + "pycryptodomex" + "regex" + "rich" + "tqdm" + "yarl" + ]; + nativeBuildInputs = [ poetry-core ]; @@ -53,7 +67,7 @@ buildPythonApplication { doCheck = true; meta = with lib; { - description = "A highly efficient, powerful and fast anime scraper"; + description = "Highly efficient, powerful and fast anime scraper"; homepage = "https://github.com/justfoolingaround/animdl"; license = licenses.gpl3Only; mainProgram = "animdl"; diff --git a/pkgs/applications/video/anime-downloader/default.nix b/pkgs/applications/video/anime-downloader/default.nix index 5e4f58cea1d30..99323ef960516 100644 --- a/pkgs/applications/video/anime-downloader/default.nix +++ b/pkgs/applications/video/anime-downloader/default.nix @@ -46,7 +46,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { homepage = "https://github.com/anime-dl/anime-downloader"; - description = "A simple but powerful anime downloader and streamer"; + description = "Simple but powerful anime downloader and streamer"; license = licenses.unlicense; platforms = platforms.linux; maintainers = with maintainers; [ ]; diff --git a/pkgs/applications/video/bombono/default.nix b/pkgs/applications/video/bombono/default.nix index 87545d5bceecb..73471a7564d2c 100644 --- a/pkgs/applications/video/bombono/default.nix +++ b/pkgs/applications/video/bombono/default.nix @@ -86,7 +86,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "a DVD authoring program for personal computers"; + description = "DVD authoring program for personal computers"; homepage = "https://www.bombono.org/"; license = licenses.gpl2Only; maintainers = with maintainers; [ symphorien ]; diff --git a/pkgs/applications/video/clapper/default.nix b/pkgs/applications/video/clapper/default.nix index b638bc3afd7df..78bfaa2b46373 100644 --- a/pkgs/applications/video/clapper/default.nix +++ b/pkgs/applications/video/clapper/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = "A GNOME media player built using GTK4 toolkit and powered by GStreamer with OpenGL rendering"; + description = "GNOME media player built using GTK4 toolkit and powered by GStreamer with OpenGL rendering"; longDescription = '' Clapper is a GNOME media player built using the GTK4 toolkit. The media player is using GStreamer as a media backend. diff --git a/pkgs/applications/video/cutecapture/default.nix b/pkgs/applications/video/cutecapture/default.nix index a588ddb38a8d4..238249883ef99 100644 --- a/pkgs/applications/video/cutecapture/default.nix +++ b/pkgs/applications/video/cutecapture/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = "A (3)DS capture software for Linux and Mac"; + description = "(3)DS capture software for Linux and Mac"; homepage = "https://github.com/Gotos/CuteCapture"; license = licenses.asl20; platforms = platforms.linux ++ platforms.darwin; diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix index bb631909872cf..be18304386cbd 100644 --- a/pkgs/applications/video/davinci-resolve/default.nix +++ b/pkgs/applications/video/davinci-resolve/default.nix @@ -25,6 +25,9 @@ , jq , studioVariant ? false + +, common-updater-scripts +, writeShellApplication }: let @@ -162,11 +165,11 @@ let desktopItems = [ (makeDesktopItem { - name = "davinci-resolve"; - desktopName = "Davinci Resolve"; + name = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; + desktopName = "Davinci Resolve${lib.optionalString studioVariant " Studio"}"; genericName = "Video Editor"; - exec = "resolve"; - # icon = "DV_Resolve"; + exec = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; + icon = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; comment = "Professional video editing, color, effects and audio post-processing"; categories = [ "AudioVideo" @@ -251,7 +254,34 @@ buildFHSEnv { '' }"; - passthru = { inherit davinci; }; + extraInstallCommands = '' + mkdir -p $out/share/applications $out/share/icons/hicolor/128x128/apps + ln -s ${davinci}/share/applications/*.desktop $out/share/applications/ + ln -s ${davinci}/graphics/DV_Resolve.png $out/share/icons/hicolor/128x128/apps/davinci-resolve${lib.optionalString studioVariant "-studio"}.png + ''; + + passthru = { + inherit davinci; + updateScript = lib.getExe (writeShellApplication { + name = "update-davinci-resolve"; + runtimeInputs = [ curl jq common-updater-scripts ]; + text = '' + set -o errexit + drv=pkgs/applications/video/davinci-resolve/default.nix + currentVersion=${lib.escapeShellArg davinci.version} + downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)" + + latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+\.\d+' | sort | tail -n 1)" + update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src + + # Since the standard and studio both use the same version we need to reset it before updating studio + sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv" + + latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+\.\d+' | sort | tail -n 1)" + update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src + ''; + }); + }; meta = with lib; { description = "Professional video editing, color, effects and audio post-processing"; @@ -260,6 +290,6 @@ buildFHSEnv { maintainers = with maintainers; [ amarshall jshcmpbll orivej ]; platforms = [ "x86_64-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - mainProgram = "davinci-resolve"; + mainProgram = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; }; } diff --git a/pkgs/applications/video/deface/default.nix b/pkgs/applications/video/deface/default.nix index 428275535af49..0b0a2d0859810 100644 --- a/pkgs/applications/video/deface/default.nix +++ b/pkgs/applications/video/deface/default.nix @@ -8,21 +8,23 @@ python3.pkgs.buildPythonApplication rec { pname = "deface"; - version = "1.4.0"; - format = "pyproject"; + version = "1.5.0"; + pyproject = true; + + disabled = python3.pythonOlder "3.8"; src = fetchFromGitHub { owner = "ORB-HD"; repo = "deface"; - rev = "v${version}"; - hash = "sha256-tLNTgdnKKmyYHVajz0dHIb7cvC1by5LQ5CFIbMvPEYk="; + rev = "refs/tags/v${version}"; + hash = "sha256-/mXWeL6OSgW4BMXtAZD/3UxQUGt7UE5ZvH8CXNCueJo="; }; - nativeBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ setuptools-scm ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ imageio imageio-ffmpeg numpy @@ -38,17 +40,21 @@ python3.pkgs.buildPythonApplication rec { ''--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.onnxruntime ]}"'' ]; - patchPhase = '' - substituteInPlace pyproject.toml requirements.txt --replace "opencv-python" "opencv" + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "opencv-python" "opencv" ''; pythonImportsCheck = [ "deface" "onnx" "onnxruntime" ]; - meta = with lib; { + meta = { description = "Video anonymization by face detection"; homepage = "https://github.com/ORB-HD/deface"; - license = licenses.mit; - maintainers = with maintainers; [ lurkki ]; + changelog = "https://github.com/ORB-HD/deface/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lurkki ]; mainProgram = "deface"; + # terminate called after throwing an instance of 'onnxruntime::OnnxRuntimeException' + broken = stdenv.hostPlatform.system == "aarch64-linux"; }; } diff --git a/pkgs/applications/video/dmlive/default.nix b/pkgs/applications/video/dmlive/default.nix index f36fb581a5202..03affd1e00a7a 100644 --- a/pkgs/applications/video/dmlive/default.nix +++ b/pkgs/applications/video/dmlive/default.nix @@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = "A tool to play and record videos or live streams with danmaku"; + description = "Tool to play and record videos or live streams with danmaku"; homepage = "https://github.com/THMonster/dmlive"; license = licenses.mit; mainProgram = "dmlive"; diff --git a/pkgs/applications/video/dra-cla/default.nix b/pkgs/applications/video/dra-cla/default.nix index 00bf2c642b2d1..02a4a66be9295 100644 --- a/pkgs/applications/video/dra-cla/default.nix +++ b/pkgs/applications/video/dra-cla/default.nix @@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation { meta = with lib; { homepage = "https://github.com/CoolnsX/dra-cla"; - description = "A cli tool to browse and play korean drama, chinese drama"; + description = "Cli tool to browse and play korean drama, chinese drama"; license = licenses.gpl3Only; maintainers = with maintainers; [ idlip ]; platforms = platforms.unix; diff --git a/pkgs/applications/video/dvdbackup/default.nix b/pkgs/applications/video/dvdbackup/default.nix index 523847db247f1..5e791da598a7f 100644 --- a/pkgs/applications/video/dvdbackup/default.nix +++ b/pkgs/applications/video/dvdbackup/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { })]; meta = { - description = "A tool to rip video DVDs from the command line"; + description = "Tool to rip video DVDs from the command line"; homepage = "https://dvdbackup.sourceforge.net/"; license = lib.licenses.gpl3Plus; maintainers = [ lib.maintainers.bradediger ]; diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix index e25bdf877a844..db3f6e7f9a54e 100644 --- a/pkgs/applications/video/dvdstyler/default.nix +++ b/pkgs/applications/video/dvdstyler/default.nix @@ -93,7 +93,7 @@ in stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.dvdstyler.org/"; - description = "A DVD authoring software"; + description = "DVD authoring software"; longDescription = '' DVDStyler is a cross-platform free DVD authoring application for the creation of professional-looking DVDs. It allows not only burning of video diff --git a/pkgs/applications/video/electronplayer/electronplayer.nix b/pkgs/applications/video/electronplayer/electronplayer.nix index cc26adc24780a..1cb10e65cbb95 100644 --- a/pkgs/applications/video/electronplayer/electronplayer.nix +++ b/pkgs/applications/video/electronplayer/electronplayer.nix @@ -21,7 +21,7 @@ in appimageTools.wrapType2 { ''; meta = with lib; { - description = "An electron based web video services player"; + description = "Electron based web video services player"; mainProgram = "electronplayer"; homepage = "https://github.com/oscartbeaumont/ElectronPlayer"; license = licenses.mit; diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix index 738bd9418f000..acc3e9571ca0b 100644 --- a/pkgs/applications/video/filebot/default.nix +++ b/pkgs/applications/video/filebot/default.nix @@ -52,7 +52,7 @@ in stdenv.mkDerivation (finalAttrs: { }; meta = with lib; { - description = "The ultimate TV and Movie Renamer"; + description = "Ultimate TV and Movie Renamer"; longDescription = '' FileBot is the ultimate tool for organizing and renaming your Movies, TV Shows and Anime as well as fetching subtitles and artwork. It's smart and diff --git a/pkgs/applications/video/flowblade/default.nix b/pkgs/applications/video/flowblade/default.nix index fff387881ccad..92f035ca9018d 100644 --- a/pkgs/applications/video/flowblade/default.nix +++ b/pkgs/applications/video/flowblade/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "flowblade"; - version = "2.14.0.2"; + version = "2.16.3"; src = fetchFromGitHub { owner = "jliljebl"; repo = pname; rev = "v${version}"; - sha256 = "sha256-M+M6qkgYD5zM8IOFwQsuQlK7qQsvmSjR+CXVpTW+O8k="; + sha256 = "sha256-WXB071lndw4/APTgwxNVjmYBvzMXZdLn1OaWqBXjW2Q="; }; buildInputs = [ diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix index 9c5d7f2067fee..72bdd1f97916e 100644 --- a/pkgs/applications/video/freetube/default.nix +++ b/pkgs/applications/video/freetube/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "freetube"; - version = "0.20.0"; + version = "0.21.0"; src = fetchurl { url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage"; - sha256 = "sha256-7k5hyiK3m+117AxmsoecGsgXSxs8xhyTf8+rl4oBbB8="; + sha256 = "sha256-jTDJ0oyDrgOM6T+nwiOakm3QUqKfK2UNY6AfpoaJzd0="; }; passthru.tests = nixosTests.freetube; @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "An Open Source YouTube app for privacy"; + description = "Open Source YouTube app for privacy"; homepage = "https://freetubeapp.io/"; license = licenses.agpl3Only; maintainers = with maintainers; [ ryneeverett alyaeanyx ]; diff --git a/pkgs/applications/video/glaxnimate/default.nix b/pkgs/applications/video/glaxnimate/default.nix index a50e3d15614a8..c09b2c8170d4f 100644 --- a/pkgs/applications/video/glaxnimate/default.nix +++ b/pkgs/applications/video/glaxnimate/default.nix @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://gitlab.com/mattbas/glaxnimate"; - description = "Simple vector animation program."; + description = "Simple vector animation program"; license = licenses.gpl3; maintainers = with maintainers; [ tobiasBora ]; mainProgram = "glaxnimate"; diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix index cb6e4a80510a3..37bf7baec8706 100644 --- a/pkgs/applications/video/gnomecast/default.nix +++ b/pkgs/applications/video/gnomecast/default.nix @@ -37,7 +37,7 @@ buildPythonApplication rec { doCheck = false; meta = with lib; { - description = "A native Linux GUI for Chromecasting local files"; + description = "Native Linux GUI for Chromecasting local files"; homepage = "https://github.com/keredson/gnomecast"; license = with licenses; [ gpl3 ]; broken = stdenv.isDarwin; diff --git a/pkgs/applications/video/go2tv/default.nix b/pkgs/applications/video/go2tv/default.nix index d8fc548f10b3c..6837572cd9f03 100644 --- a/pkgs/applications/video/go2tv/default.nix +++ b/pkgs/applications/video/go2tv/default.nix @@ -14,16 +14,16 @@ buildGoModule rec { pname = "go2tv" + lib.optionalString (!withGui) "-lite"; - version = "1.15.0"; + version = "1.16.1"; src = fetchFromGitHub { owner = "alexballas"; repo = "go2tv"; - rev = "v${version}"; - sha256 = "sha256-5GOhTDlUpzInMm8hVcBjbf1CXRw2GQITRtj6UaxYHtE="; + rev = "refs/tags/v${version}"; + hash = "sha256-7m5GikrdcrJyl+KYuSk1JWLW2SsHOcBJNJuq2BahxHc="; }; - vendorHash = null; + vendorHash = "sha256-na79rF/9o+s6E4i08Ocs6u98IABc19sTGFvjI6yeJFo="; nativeBuildInputs = [ pkg-config ]; @@ -39,7 +39,8 @@ buildGoModule rec { ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel UserNotifications ]; ldflags = [ - "-s" "-w" + "-s" + "-w" "-linkmode=external" ]; @@ -51,6 +52,7 @@ buildGoModule rec { meta = with lib; { description = "Cast media files to UPnP/DLNA Media Renderers and Smart TVs"; homepage = "https://github.com/alexballas/go2tv"; + changelog = "https://github.com/alexballas/go2tv/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ gdamjan ]; mainProgram = "go2tv"; diff --git a/pkgs/applications/video/gpu-screen-recorder/default.nix b/pkgs/applications/video/gpu-screen-recorder/default.nix index 052548f32f272..101cb3af49ddf 100644 --- a/pkgs/applications/video/gpu-screen-recorder/default.nix +++ b/pkgs/applications/video/gpu-screen-recorder/default.nix @@ -11,16 +11,17 @@ , libva , libglvnd , libXrandr +, libXfixes }: stdenv.mkDerivation { pname = "gpu-screen-recorder"; - version = "unstable-2023-11-18"; + version = "unstable-2024-05-21"; # printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" src = fetchurl { - url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r418.5a8900e.tar.gz"; - hash = "sha256-Dal6KxQOTqoNH6e8lYk5XEXGFG/vzbguNFZ9yk9nKe0="; + url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r594.e572073.tar.gz"; + hash = "sha256-MTBxhvkoyotmRUx1sRN/7ruXBYwIbOFQNdJHhZ3DdDk="; }; sourceRoot = "."; @@ -37,6 +38,7 @@ stdenv.mkDerivation { libdrm libva libXrandr + libXfixes ]; buildPhase = '' @@ -49,14 +51,14 @@ stdenv.mkDerivation { mv $out/bin/gpu-screen-recorder $out/bin/.wrapped/ makeWrapper "$out/bin/.wrapped/gpu-screen-recorder" "$out/bin/gpu-screen-recorder" \ --prefix LD_LIBRARY_PATH : ${libglvnd}/lib \ - --prefix PATH : $out/bin + --suffix PATH : $out/bin ''; - meta = with lib; { - description = "A screen recorder that has minimal impact on system performance by recording a window using the GPU only"; + meta = { + description = "Screen recorder that has minimal impact on system performance by recording a window using the GPU only"; homepage = "https://git.dec05eba.com/gpu-screen-recorder/about/"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ babbaj ]; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.babbaj ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix b/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix index 678881faec444..c08aabd25e530 100644 --- a/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix +++ b/pkgs/applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation { ''; meta = with lib; { - description = "GTK frontend for gpu-screen-recorder."; + description = "GTK frontend for gpu-screen-recorder"; mainProgram = "gpu-screen-recorder-gtk"; homepage = "https://git.dec05eba.com/gpu-screen-recorder-gtk/about/"; license = licenses.gpl3Only; diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index f3f6dacd4a540..f9761bd85bb56 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -26,7 +26,7 @@ , numactl , writeText # Processing, video codecs, containers -, ffmpeg-full +, ffmpeg_7-full , nv-codec-headers , libogg , x264 @@ -69,14 +69,14 @@ # for now we disable GTK GUI support on Darwin. (It may be possible to remove # this restriction later.) , useGtk ? !stdenv.isDarwin -, bzip2 +, appstream , desktop-file-utils , meson , ninja -, wrapGAppsHook3 +, wrapGAppsHook4 , intltool , glib -, gtk3 +, gtk4 , libappindicator-gtk3 , libnotify , gst_all_1 @@ -90,13 +90,14 @@ }: let - version = "1.7.3"; + version = "1.8.0"; src = fetchFromGitHub { owner = "HandBrake"; repo = "HandBrake"; - rev = version; - hash = "sha256-4Q//UU/CPgWvhtpROfNPLzBvZlB02hbFe9Z9FA7mX04="; + # uses version commit for logic in version.txt + rev = "5edf59c1da54fe1c9a487d09e8f52561fe49cb2a"; + hash = "sha256-gr2UhqPY5mZOP8KBvk9yydl4AkTlqE83hYAcLwSv1Is="; }; # Handbrake maintains a set of ffmpeg patches. In particular, these @@ -104,13 +105,11 @@ let # https://github.com/HandBrake/HandBrake/issues/4029 # base ffmpeg version is specified in: # https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs - ffmpeg-version = "6.1"; - ffmpeg-hb = ffmpeg-full.overrideAttrs (old: { + ffmpeg-version = "7.0"; + ffmpeg-hb = (ffmpeg_7-full.override { version = ffmpeg-version; - src = fetchurl { - url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2"; - hash = "sha256-632j3n3TzkiplGq0R6c0a9EaOoXm77jyws5jfn9UdhE="; - }; + hash = "sha256-RdDfv+0y90XpgjIRvTjsemKyGunzDbsh4j4WiE9rfyM="; + }).overrideAttrs (old: { patches = (old.patches or [ ]) ++ [ "${src}/contrib/ffmpeg/A01-mov-read-name-track-tag-written-by-movenc.patch" "${src}/contrib/ffmpeg/A02-movenc-write-3gpp-track-titl-tag.patch" @@ -119,22 +118,23 @@ let "${src}/contrib/ffmpeg/A05-dvdsubdec-fix-processing-of-partial-packets.patch" "${src}/contrib/ffmpeg/A06-dvdsubdec-return-number-of-bytes-used.patch" "${src}/contrib/ffmpeg/A07-dvdsubdec-use-pts-of-initial-packet.patch" - "${src}/contrib/ffmpeg/A08-ccaption_dec-fix-pts-in-real_time-mode.patch" - "${src}/contrib/ffmpeg/A09-matroskaenc-aac-extradata-updated.patch" - "${src}/contrib/ffmpeg/A10-amfenc-Add-support-for-pict_type-field.patch" - "${src}/contrib/ffmpeg/A11-amfenc-Fixes-the-color-information-in-the-ou.patch" - "${src}/contrib/ffmpeg/A12-amfenc-HDR-metadata.patch" - "${src}/contrib/ffmpeg/A13-libavcodec-amfenc-Fix-issue-with-missing-headers-in-.patch" - "${src}/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch" - "${src}/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch" - "${src}/contrib/ffmpeg/A16-videotoolbox-dec-h264.patch" + "${src}/contrib/ffmpeg/A08-dvdsubdec-do-not-discard-zero-sized-rects.patch" + "${src}/contrib/ffmpeg/A09-ccaption_dec-fix-pts-in-real_time-mode.patch" + "${src}/contrib/ffmpeg/A10-matroskaenc-aac-extradata-updated.patch" + "${src}/contrib/ffmpeg/A11-videotoolbox-disable-H.264-10-bit-on-Intel-macOS.patch" # patch to fix <https://github.com/HandBrake/HandBrake/issues/5011> # commented out because it causes ffmpeg's filter-pixdesc-p010le test to fail. - # "${src}/contrib/ffmpeg/A17-libswscale-fix-yuv420p-to-p01xle-color-conversion-bu.patch" + # "${src}/contrib/ffmpeg/A12-libswscale-fix-yuv420p-to-p01xle-color-conversion-bu.patch" - "${src}/contrib/ffmpeg/A18-qsv-fix-decode-10bit-hdr.patch" - "${src}/contrib/ffmpeg/A19-ffbuild-common-use-gzip-n-flag-for-cuda.patch" + "${src}/contrib/ffmpeg/A13-qsv-fix-decode-10bit-hdr.patch" + "${src}/contrib/ffmpeg/A14-amfenc-Add-support-for-pict_type-field.patch" + "${src}/contrib/ffmpeg/A15-amfenc-Fixes-the-color-information-in-the-ou.patch" + "${src}/contrib/ffmpeg/A16-amfenc-HDR-metadata.patch" + "${src}/contrib/ffmpeg/A17-av1dec-dovi-rpu.patch" + "${src}/contrib/ffmpeg/A18-avformat-mov-add-support-audio-fallback-track-ref.patch" + "${src}/contrib/ffmpeg/A19-mov-ignore-old-infe-box.patch" + "${src}/contrib/ffmpeg/A20-mov-free-infe-on-failure.patch" ]; }); @@ -144,24 +144,26 @@ let # patches which don't cleanly apply are commented out. postPatch = (old.postPatch or "") + '' pushd .. - # patch -p1 < ${src}/contrib/x265/A00-crosscompile-fix.patch patch -p1 < ${src}/contrib/x265/A01-threads-priority.patch patch -p1 < ${src}/contrib/x265/A02-threads-pool-adjustments.patch patch -p1 < ${src}/contrib/x265/A03-sei-length-crash-fix.patch patch -p1 < ${src}/contrib/x265/A04-ambient-viewing-enviroment-sei.patch # patch -p1 < ${src}/contrib/x265/A05-memory-leaks.patch + # patch -p1 < ${src}/contrib/x265/A06-crosscompile-fix.patch popd ''; }); versionFile = writeText "version.txt" '' - BRANCH=${versions.majorMinor version}.x - DATE=1970-01-01 00:00:01 +0000 + URL=${src.meta.homepage}.git HASH=${src.rev} - REV=${src.rev} - SHORTHASH=${src.rev} + SHORTHASH=${lib.substring 0 9 src.rev} TAG=${version} - URL=${src.meta.homepage} + TAG_HASH=${src.rev} + REV=0 + BRANCH= + REMOTE=${src.meta.homepage}.git + DATE=1970-01-01 00:00:01 +0000 ''; inherit (lib) optional optionals optionalString versions; @@ -176,9 +178,10 @@ let install -Dm444 ${versionFile} ${versionFile.name} patchShebangs scripts + patchShebangs gtk/data/ substituteInPlace libhb/hb.c \ - --replace 'return hb_version;' 'return "${version}";' + --replace-fail 'return hb_version;' 'return "${version}";' # Force using nixpkgs dependencies sed -i '/MODULES += contrib/d' make/include/main.defs @@ -186,30 +189,23 @@ let -e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \ -i make/configure.py '' + optionalString stdenv.isDarwin '' - # Use the Nix-provided libxml2 instead of the patched version available on - # the Handbrake website. - substituteInPlace libhb/module.defs \ - --replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2 - # Prevent the configure script from failing if xcodebuild isn't available, # which it isn't in the Nix context. (The actual build goes fine without # xcodebuild.) sed -e '/xcodebuild = ToolProbe/s/abort=.\+)/abort=False)/' -i make/configure.py - '' + optionalString stdenv.isLinux '' - # Use the Nix-provided libxml2 instead of the system-provided one. - substituteInPlace libhb/module.defs \ - --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2 '' + optionalString useGtk '' substituteInPlace gtk/module.rules \ --replace-fail '$(MESON.exe)' 'meson' \ --replace-fail '$(NINJA.exe)' 'ninja' \ # Force using nixpkgs dependencies substituteInPlace gtk/meson.build \ - --replace-fail "cc.find_library('bz2', dirs: hb_libdirs)" "cc.find_library('bz2')" \ - --replace-fail "cc.find_library('mp3lame', dirs: hb_libdirs)" "cc.find_library('mp3lame')" \ --replace-fail \ "hb_incdirs = include_directories(hb_dir / 'libhb', hb_dir / 'contrib/include')" \ - "hb_incdirs = include_directories(hb_dir / 'libhb')" \ + "hb_incdirs = include_directories(hb_dir / 'libhb')" + substituteInPlace gtk/ghb.spec \ + --replace-fail "gtk-update-icon-cache" "gtk4-update-icon-cache" + substituteInPlace gtk/data/post_install.py \ + --replace-fail "gtk-update-icon-cache" "gtk4-update-icon-cache" ''; nativeBuildInputs = [ @@ -220,7 +216,7 @@ let pkg-config python3 ] - ++ optionals useGtk [ desktop-file-utils intltool meson ninja wrapGAppsHook3 ]; + ++ optionals useGtk [ appstream desktop-file-utils intltool meson ninja wrapGAppsHook4 ]; buildInputs = [ a52dec @@ -255,12 +251,14 @@ let ] ++ optional (!stdenv.isDarwin) numactl ++ optionals useGtk [ - bzip2 dbus-glib glib + gst_all_1.gst-libav + gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gstreamer - gtk3 + gtk4 hicolor-icon-theme libappindicator-gtk3 libgudev @@ -319,7 +317,7 @@ let meta = with lib; { homepage = "https://handbrake.fr/"; - description = "A tool for converting video files and ripping DVDs"; + description = "Tool for converting video files and ripping DVDs"; longDescription = '' Tool for converting and remuxing video files into selection of modern and widely supported codecs diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix index 273b26808af58..8f629079f6b01 100644 --- a/pkgs/applications/video/haruna/default.nix +++ b/pkgs/applications/video/haruna/default.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation rec { pname = "haruna"; - version = "1.0.2"; + version = "1.1.2"; src = fetchFromGitLab { owner = "multimedia"; repo = "haruna"; rev = "v${version}"; - hash = "sha256-L/mTFPJPHl8A6FqkWUwICh+Yl4uIE5KnTkZVnC4kCZ8="; + hash = "sha256-PjELW0evn53gIbScrM2bYEpb9U/TE/lOCD2DiJ1aodo="; domain = "invent.kde.org"; }; diff --git a/pkgs/applications/video/hyperion-ng/default.nix b/pkgs/applications/video/hyperion-ng/default.nix index 43bd337ae5002..67df0dd420b00 100644 --- a/pkgs/applications/video/hyperion-ng/default.nix +++ b/pkgs/applications/video/hyperion-ng/default.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "An opensource Bias or Ambient Lighting implementation"; + description = "Opensource Bias or Ambient Lighting implementation"; homepage = "https://github.com/hyperion-project/hyperion.ng"; license = licenses.mit; maintainers = with maintainers; [ algram kazenyuk ]; diff --git a/pkgs/applications/video/hypnotix/default.nix b/pkgs/applications/video/hypnotix/default.nix index a3b1e25de48c0..00f8eb6b024ba 100644 --- a/pkgs/applications/video/hypnotix/default.nix +++ b/pkgs/applications/video/hypnotix/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "hypnotix"; - version = "4.3"; + version = "4.5"; src = fetchFromGitHub { owner = "linuxmint"; repo = "hypnotix"; rev = version; - hash = "sha256-nmldOziye+bSi8CA9TL0f3EKEKTeXRk3HFzf4ksE9oE="; + hash = "sha256-tcBBPJr9C+3FC8VWAM+KzETKAovfyehBvlmn7mIR7VQ="; }; patches = [ diff --git a/pkgs/applications/video/jellyfin-media-player/default.nix b/pkgs/applications/video/jellyfin-media-player/default.nix index 47afaef81a636..fef1a9ae80f08 100644 --- a/pkgs/applications/video/jellyfin-media-player/default.nix +++ b/pkgs/applications/video/jellyfin-media-player/default.nix @@ -1,6 +1,5 @@ { lib , fetchFromGitHub -, fetchzip , mkDerivation , stdenv , Cocoa @@ -22,24 +21,21 @@ , qtwebchannel , qtwebengine , qtx11extras -, jellyfin-web -, withDbus ? stdenv.isLinux, dbus +, withDbus ? stdenv.isLinux }: mkDerivation rec { pname = "jellyfin-media-player"; - version = "1.9.1"; + version = "1.11.1"; src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin-media-player"; rev = "v${version}"; - sha256 = "sha256-97/9UYXOsg8v7QoRqo5rh0UGhjjS85K9OvUwtlG249c="; + sha256 = "sha256-Jsn4kWQzUaQI9MpbsLJr6JSJk9ZSnMEcrebQ2DYegSU="; }; patches = [ - # fix the location of the jellyfin-web path - ./fix-web-path.patch # disable update notifications since the end user can't simply download the release artifacts to update ./disable-update-notifications.patch ]; @@ -78,11 +74,6 @@ mkDerivation rec { "-DLINUX_X11POWER=ON" ]; - preConfigure = '' - # link the jellyfin-web files to be copied by cmake (see fix-web-path.patch) - ln -s ${jellyfin-web}/share/jellyfin-web . - ''; - postInstall = lib.optionalString stdenv.isDarwin '' mkdir -p $out/bin $out/Applications mv "$out/Jellyfin Media Player.app" $out/Applications diff --git a/pkgs/applications/video/jellyfin-media-player/disable-update-notifications.patch b/pkgs/applications/video/jellyfin-media-player/disable-update-notifications.patch index dd56d71f90751..82978b65c677b 100644 --- a/pkgs/applications/video/jellyfin-media-player/disable-update-notifications.patch +++ b/pkgs/applications/video/jellyfin-media-player/disable-update-notifications.patch @@ -1,11 +1,11 @@ diff --git a/resources/settings/settings_description.json b/resources/settings/settings_description.json -index 20fff81..9979de5 100644 +index 3329d0d..ccd5718 100644 --- a/resources/settings/settings_description.json +++ b/resources/settings/settings_description.json -@@ -118,7 +118,7 @@ - }, - { +@@ -127,7 +127,7 @@ "value": "checkForUpdates", + "display_name": "Check For Updates", + "help": "Allows user to disable update check plugin script.", - "default": true + "default": false }, diff --git a/pkgs/applications/video/jellyfin-media-player/fix-web-path.patch b/pkgs/applications/video/jellyfin-media-player/fix-web-path.patch deleted file mode 100644 index 250a5c0695450..0000000000000 --- a/pkgs/applications/video/jellyfin-media-player/fix-web-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5abca9b..d09176b 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -107,10 +107,8 @@ endif() - set(RESOURCE_ROOT .) - if(APPLE) - set(RESOURCE_ROOT Resources) -- if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../dist/) -- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DEST ${RESOURCE_ROOT}/web-client/desktop) -- endif() -- add_resources(TARGET ${MAIN_TARGET} SOURCES ${CMAKE_SOURCE_DIR}/native/ DEST ${RESOURCE_ROOT}/web-client/extension) -+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${RESOURCE_ROOT}/web-client/desktop) -+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${RESOURCE_ROOT}/web-client/extension) - endif() - - if(NOT APPLE) -@@ -123,9 +121,7 @@ if(NOT APPLE) - install(FILES ${loc}/qtwebengine_devtools_resources.pak DESTINATION resources) - endif() - endforeach() -- if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/../dist/) -- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../dist/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop) -- endif() -+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../jellyfin-web/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/desktop) - install(DIRECTORY ${CMAKE_SOURCE_DIR}/native/ DESTINATION ${INSTALL_RESOURCE_DIR}/web-client/extension) - endif() - diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix index 70f28ab72077c..fe32c894c741a 100644 --- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix +++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix @@ -18,11 +18,11 @@ buildPythonApplication rec { pname = "jellyfin-mpv-shim"; - version = "2.6.0"; + version = "2.8.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-90Z2vgYT/9hBQZgfXeY7l6sGwT5KEY8X4rZMgrbTwrM="; + sha256 = "sha256-EANaNmvD8hcdGB2aoGemKvA9syS1VvIqGsP1jk0b+lE="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix index cf392a143d7dc..3d3349ab1bd75 100644 --- a/pkgs/applications/video/kazam/default.nix +++ b/pkgs/applications/video/kazam/default.nix @@ -53,7 +53,7 @@ python3Packages.buildPythonApplication rec { doCheck = false; meta = with lib; { - description = "A screencasting program created with design in mind"; + description = "Screencasting program created with design in mind"; homepage = "https://github.com/niknah/kazam"; license = licenses.lgpl3; platforms = platforms.linux; diff --git a/pkgs/applications/video/kodi/addons/archive_tool/default.nix b/pkgs/applications/video/kodi/addons/archive_tool/default.nix index 4788556a8793a..03372e1728589 100644 --- a/pkgs/applications/video/kodi/addons/archive_tool/default.nix +++ b/pkgs/applications/video/kodi/addons/archive_tool/default.nix @@ -21,7 +21,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/zach-morris/script.module.archive_tool"; - description = "A set of common python functions to work with the Kodi archive virtual file system (vfs) binary addons"; + description = "Set of common python functions to work with the Kodi archive virtual file system (vfs) binary addons"; license = licenses.gpl3Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix index cfaef2bb7f98e..5b55ab9d1282f 100644 --- a/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix +++ b/pkgs/applications/video/kodi/addons/controller-topology-project/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }: let - drv = stdenv.mkDerivation { + drv = stdenv.mkDerivation rec { pname = "controller-topology-project"; - version = "unstable-2022-11-19"; + version = "1.0.0"; src = fetchFromGitHub { owner = "kodi-game"; repo = "controller-topology-project"; - rev = "d96894ca68678000f26f56d14aa3ceea47b1a3a8"; - sha256 = "sha256-KfDr2bSJFey/aNO5WzoOQ8Mz0v4uitKkOesymIMZH1o="; + rev = "v${version}"; + sha256 = "sha256-6g4dyR34b0YgxlzRRS2C/gY3wjlO9MMYEB2fHLSCqC4="; }; postPatch = '' diff --git a/pkgs/applications/video/kodi/addons/formula1/default.nix b/pkgs/applications/video/kodi/addons/formula1/default.nix new file mode 100644 index 0000000000000..0d374dc65be1b --- /dev/null +++ b/pkgs/applications/video/kodi/addons/formula1/default.nix @@ -0,0 +1,29 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }: + +buildKodiAddon rec { + pname = "formula1"; + namespace = "plugin.video.formula1"; + version = "2.0.2"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-aClAgkJKvixeKzrwgEsfDhPXiFv9+ULLmb8c9QTaUgM="; + }; + + propagatedBuildInputs = [ + requests + ]; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.formula1"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/jaylinski/kodi-addon-formula1"; + description = "Videos from the Formula 1 website"; + license = licenses.mit; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/future/default.nix b/pkgs/applications/video/kodi/addons/future/default.nix index 8812fbd8f5b39..c96f28ab9037d 100644 --- a/pkgs/applications/video/kodi/addons/future/default.nix +++ b/pkgs/applications/video/kodi/addons/future/default.nix @@ -3,11 +3,11 @@ buildKodiAddon rec { pname = "future"; namespace = "script.module.future"; - version = "0.18.3+matrix.1"; + version = "1.0.0+matrix.1"; src = fetchzip { url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; - sha256 = "sha256-jKO2Qxi54z6UiCmMkxU+2pog40K2yb8/KYbNPFYuSsQ="; + sha256 = "sha256-BsDgCAZuJBRBpe6EmfSynhrXS3ktQRZsEwf9CdF0VCg="; }; passthru = { @@ -19,7 +19,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://python-future.org"; - description = "The missing compatibility layer between Python 2 and Python 3"; + description = "Missing compatibility layer between Python 2 and Python 3"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/infotagger/default.nix b/pkgs/applications/video/kodi/addons/infotagger/default.nix index da4528ed0afc5..7ac5e48071073 100644 --- a/pkgs/applications/video/kodi/addons/infotagger/default.nix +++ b/pkgs/applications/video/kodi/addons/infotagger/default.nix @@ -2,13 +2,13 @@ buildKodiAddon rec { pname = "infotagger"; namespace = "script.module.infotagger"; - version = "0.0.7"; + version = "0.0.8"; src = fetchFromGitHub { owner = "jurialmunkey"; repo = namespace; rev = "v${version}"; - hash = "sha256-Us7ud0QORGn+ALB4uyISekp0kUYY8nN8uFNg8MlxEB0="; + hash = "sha256-Ns1OjrYLKz4znXRxqUErDLcmC0HBjBFVYI9GFqDVurY="; }; passthru = { diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix index 677467d343965..1a82cd1c19b9f 100644 --- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest }: +{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest, rapidjson }: let bento4 = fetchFromGitHub { owner = "xbmc"; @@ -10,13 +10,13 @@ in buildKodiBinaryAddon rec { pname = "inputstream-adaptive"; namespace = "inputstream.adaptive"; - version = "21.4.4"; + version = "21.4.6"; src = fetchFromGitHub { owner = "xbmc"; repo = "inputstream.adaptive"; rev = "${version}-${rel}"; - sha256 = "sha256-Nzlm1AW/nW9chQAourKF0o2FSQmsr1MNhJ4gEO0/9sM="; + sha256 = "sha256-ub4ep89datfr8aZLZAfoz7zhOizGFpzgp2PVON6Ptj8="; }; extraCMakeFlags = [ @@ -26,7 +26,7 @@ buildKodiBinaryAddon rec { extraNativeBuildInputs = [ gtest ]; - extraBuildInputs = [ pugixml ]; + extraBuildInputs = [ pugixml rapidjson ]; extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ]; diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix index 97cc417e6bf1c..13b2738fdff99 100644 --- a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix +++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix @@ -18,7 +18,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/emilsvennesson/script.module.inputstreamhelper"; - description = "A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback"; + description = "Simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/invidious/default.nix b/pkgs/applications/video/kodi/addons/invidious/default.nix index 36ae8608837d2..ca688ddc0f2e8 100644 --- a/pkgs/applications/video/kodi/addons/invidious/default.nix +++ b/pkgs/applications/video/kodi/addons/invidious/default.nix @@ -1,4 +1,4 @@ -{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }: +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, infotagger, requests, inputstream-adaptive, inputstreamhelper }: buildKodiAddon rec { pname = "invidious"; @@ -11,6 +11,7 @@ buildKodiAddon rec { }; propagatedBuildInputs = [ + infotagger requests inputstream-adaptive inputstreamhelper @@ -25,7 +26,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/petterreinholdtsen/kodi-invidious-plugin"; - description = "A privacy-friendly way of watching YouTube content"; + description = "Privacy-friendly way of watching YouTube content"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/jellycon/default.nix b/pkgs/applications/video/kodi/addons/jellycon/default.nix index 88e9504f8d191..d618e58cee371 100644 --- a/pkgs/applications/video/kodi/addons/jellycon/default.nix +++ b/pkgs/applications/video/kodi/addons/jellycon/default.nix @@ -43,7 +43,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/jellyfin/jellycon"; - description = "A lightweight Kodi add-on for Jellyfin"; + description = "Lightweight Kodi add-on for Jellyfin"; longDescription = '' JellyCon is a lightweight Kodi add-on that lets you browse and play media files directly from your Jellyfin server within the Kodi interface. It can diff --git a/pkgs/applications/video/kodi/addons/jellyfin/default.nix b/pkgs/applications/video/kodi/addons/jellyfin/default.nix index 7623a3c4db136..93217122d53bf 100644 --- a/pkgs/applications/video/kodi/addons/jellyfin/default.nix +++ b/pkgs/applications/video/kodi/addons/jellyfin/default.nix @@ -5,13 +5,13 @@ in buildKodiAddon rec { pname = "jellyfin"; namespace = "plugin.video.jellyfin"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin-kodi"; rev = "v${version}"; - sha256 = "sha256-yCgsQnzmlmyYAjp1q0J9QxGDRg5JCd23H9xgVozHiGM="; + sha256 = "sha256-Uyo8GClJU2/gdk4PeFNnoyvxOhooaxeXN3Wc5YGuCiM="; }; nativeBuildInputs = [ @@ -43,7 +43,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://jellyfin.org/"; - description = "A whole new way to manage and view your media library"; + description = "Whole new way to manage and view your media library"; license = licenses.gpl3Only; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/joystick/default.nix b/pkgs/applications/video/kodi/addons/joystick/default.nix index 9da9d8bb7b599..47dbb0f5dfc0d 100644 --- a/pkgs/applications/video/kodi/addons/joystick/default.nix +++ b/pkgs/applications/video/kodi/addons/joystick/default.nix @@ -14,7 +14,7 @@ buildKodiBinaryAddon rec { extraBuildInputs = [ tinyxml udev ]; meta = with lib; { - description = "Binary addon for raw joystick input."; + description = "Binary addon for raw joystick input"; platforms = platforms.all; license = licenses.gpl2Only; maintainers = teams.kodi.members; diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix index e98e5ca2cb419..4254763d53611 100644 --- a/pkgs/applications/video/kodi/addons/keymap/default.nix +++ b/pkgs/applications/video/kodi/addons/keymap/default.nix @@ -23,7 +23,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/tamland/xbmc-keymap-editor"; - description = "A GUI for configuring mappings for remotes, keyboard and other inputs supported by Kodi"; + description = "GUI for configuring mappings for remotes, keyboard and other inputs supported by Kodi"; license = licenses.gpl3Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/orftvthek/default.nix b/pkgs/applications/video/kodi/addons/orftvthek/default.nix index 4a6b4480b0506..416cb9a30a6be 100644 --- a/pkgs/applications/video/kodi/addons/orftvthek/default.nix +++ b/pkgs/applications/video/kodi/addons/orftvthek/default.nix @@ -3,13 +3,13 @@ buildKodiAddon rec { pname = "orftvthek"; namespace = "plugin.video.orftvthek"; - version = "0.12.9"; + version = "0.12.12"; src = fetchFromGitHub { owner = "s0faking"; repo = namespace; rev = version; - sha256 = "sha256-bqGY9PPukn5/HJa3OqU5NM+ReeDJdVn60jXh1+2Qef8="; + sha256 = "sha256-4VLr4DFxioCrlq5JtiPyd7E4a+++cWgxCnRb3KPppWE="; }; propagatedBuildInputs = [ @@ -21,7 +21,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/s0faking/plugin.video.orftvthek"; - description = "An addon that gives you access to the ORF TVthek Video Platform"; + description = "Addon that gives you access to the ORF TVthek Video Platform"; license = licenses.gpl2Only; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix index 71e0e1744b787..2cf5f8784dc1f 100644 --- a/pkgs/applications/video/kodi/addons/osmc-skin/default.nix +++ b/pkgs/applications/video/kodi/addons/osmc-skin/default.nix @@ -13,7 +13,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/osmc/skin.osmc"; - description = "The default skin for OSMC"; + description = "Default skin for OSMC"; platforms = platforms.all; maintainers = with maintainers; [ ]; license = licenses.cc-by-nc-sa-30; diff --git a/pkgs/applications/video/kodi/addons/pdfreader/default.nix b/pkgs/applications/video/kodi/addons/pdfreader/default.nix index 62a5853c796b8..c2c11e92213f4 100644 --- a/pkgs/applications/video/kodi/addons/pdfreader/default.nix +++ b/pkgs/applications/video/kodi/addons/pdfreader/default.nix @@ -15,7 +15,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://forum.kodi.tv/showthread.php?tid=187421"; - description = "A comic book reader"; + description = "Comic book reader"; license = licenses.gpl2Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/plugin-cache/default.nix b/pkgs/applications/video/kodi/addons/plugin-cache/default.nix new file mode 100644 index 0000000000000..c21f5e136e41e --- /dev/null +++ b/pkgs/applications/video/kodi/addons/plugin-cache/default.nix @@ -0,0 +1,26 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "plugin-cache"; + namespace = "script.common.plugin.cache"; + version = "3.0.0"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-5QcMNmWOEw2C26OXlvAvxqDxTpjIMBhwmaIFwVgHuIU="; + }; + + passthru = { + pythonPath = "resources/lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.plugin-cache"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/anxdpanic/script.common.plugin.cache"; + description = "Common plugin cache"; + license = licenses.gpl3Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix index 6308a6470acdd..4184126842ba0 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hdhomerun/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-hdhomerun"; namespace = "pvr.hdhomerun"; - version = "20.4.0"; + version = "21.0.1"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hdhomerun"; rev = "${version}-${rel}"; - sha256 = "sha256-FKxoPD8t5JbouhvQtMVMFjk3O5zB9kVgrn0eC2RPDvQ="; + sha256 = "sha256-Hb8TcJxRUIKHbevAUgt5q6z26W3uX9NbVwYyvrLnf7U="; }; extraBuildInputs = [ jsoncpp libhdhomerun ]; diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix index 7747b9e44c0be..9b20235e8ea17 100644 --- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-hts"; namespace = "pvr.hts"; - version = "20.7.0"; + version = "21.2.3"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.hts"; rev = "${version}-${rel}"; - sha256 = "sha256-Mc540n+TfZiAV2uDSGrItsoPOkEBNyyQlW2DJZLwYA4="; + sha256 = "sha256-4jHcUjGarLHsn5CjBLWB1wQNjBBw4ftMuDY5uFAHAzY="; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix index 28dd626502e80..59f39a06fd71e 100644 --- a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix @@ -6,13 +6,13 @@ buildKodiBinaryAddon rec { pname = "pvr-iptvsimple"; namespace = "pvr.iptvsimple"; - version = "20.13.0"; + version = "21.8.4"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.iptvsimple"; rev = "${version}-${rel}"; - sha256 = "sha256-W/tFM/WpWdSvLEf0iwQoH2JVDjyfr1l8CRQkOG5q4hk="; + sha256 = "sha256-uuqk1kJnioCaRWIkC5liPSVRQPpviuaE+wmE4rq6fJw="; }; extraBuildInputs = [ diff --git a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix index 4b5e8c6a7094f..9fdbee949d8fd 100644 --- a/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix +++ b/pkgs/applications/video/kodi/addons/pvr-vdr-vnsi/default.nix @@ -2,13 +2,13 @@ buildKodiBinaryAddon rec { pname = "pvr-vdr-vnsi"; namespace = "pvr.vdr.vnsi"; - version = "20.4.1"; + version = "21.1.1"; src = fetchFromGitHub { owner = "kodi-pvr"; repo = "pvr.vdr.vnsi"; rev = "${version}-${rel}"; - sha256 = "sha256-QooWK+LwlN5RAISjAQ2YiyDAjQQMzod8fFXpI0ll+hc="; + sha256 = "sha256-Bd/21y3oAhQMmvrZzrN5Z6jLHySBd2LXNbLt/Me4jSw="; }; extraBuildInputs = [ libGL ]; diff --git a/pkgs/applications/video/kodi/addons/raiplay/default.nix b/pkgs/applications/video/kodi/addons/raiplay/default.nix new file mode 100644 index 0000000000000..ab5bcfedccfdb --- /dev/null +++ b/pkgs/applications/video/kodi/addons/raiplay/default.nix @@ -0,0 +1,30 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, inputstreamhelper, plugin-cache }: + +buildKodiAddon rec { + pname = "raiplay"; + namespace = "plugin.video.raitv"; + version = "4.1.2"; + + propagatedBuildInputs = [ + plugin-cache + inputstreamhelper + ]; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-9aR1kkl+0+nhP0bOTnaKCgSfuPvJzX5TWHU0WJZIvSM="; + }; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.raiplay"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/maxbambi/plugin.video.raitv/"; + description = "Live radio and TV channels, latest 7 days of programming, broadcast archive, news"; + license = licenses.gpl3Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/routing/default.nix b/pkgs/applications/video/kodi/addons/routing/default.nix index 9c87c69e9912e..211b87242363e 100644 --- a/pkgs/applications/video/kodi/addons/routing/default.nix +++ b/pkgs/applications/video/kodi/addons/routing/default.nix @@ -18,7 +18,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/tamland/kodi-plugin-routing"; - description = "A routing module for kodi plugins"; + description = "Routing module for kodi plugins"; license = licenses.gpl3Plus; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/simplecache/default.nix b/pkgs/applications/video/kodi/addons/simplecache/default.nix new file mode 100644 index 0000000000000..35c2cc5a1a336 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/simplecache/default.nix @@ -0,0 +1,26 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "simplecache"; + namespace = "script.module.simplecache"; + version = "2.0.2"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-xdOBIi99nspcDIKkjxcW1r/BqL8O9NxdDViTuvMtUmo="; + }; + + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.simplecache"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/kodi-community-addons/script.module.simplecache"; + description = "A simple object cache for Kodi addons"; + license = licenses.asl20; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix b/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix new file mode 100644 index 0000000000000..c791391578c70 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/skyvideoitalia/default.nix @@ -0,0 +1,31 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstreamhelper, simplecache }: + +buildKodiAddon rec { + pname = "skyvideoitalia"; + namespace = "plugin.video.skyvideoitalia"; + version = "1.0.4"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-ciLtqT++6bn7la4xRVvlRwzbbUUUPN5WU35rJpR4l+w="; + }; + + propagatedBuildInputs = [ + requests + inputstreamhelper + simplecache + ]; + + passthru = { + updateScript = addonUpdateScript { + attrPath = "kodi.packages.skyvideoitalia"; + }; + }; + + meta = with lib; { + homepage = "https://www.github.com/nixxo/plugin.video.skyvideoitalia"; + description = "Show video content from the website of Sky Italia (video.sky.it). News, sport, entertainment and much more"; + license = licenses.gpl3Plus; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/sponsorblock/default.nix b/pkgs/applications/video/kodi/addons/sponsorblock/default.nix index d174a09625e51..a0c0b04ec82e3 100644 --- a/pkgs/applications/video/kodi/addons/sponsorblock/default.nix +++ b/pkgs/applications/video/kodi/addons/sponsorblock/default.nix @@ -22,7 +22,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/siku2/script.service.sponsorblock"; - description = "A Port of SponsorBlock for Invidious and YouTube Plugin"; + description = "Port of SponsorBlock for Invidious and YouTube Plugin"; license = licenses.mit; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/steam-controller/default.nix b/pkgs/applications/video/kodi/addons/steam-controller/default.nix index 20488d8a3ffc3..387f096686587 100644 --- a/pkgs/applications/video/kodi/addons/steam-controller/default.nix +++ b/pkgs/applications/video/kodi/addons/steam-controller/default.nix @@ -14,7 +14,7 @@ buildKodiBinaryAddon rec { extraBuildInputs = [ libusb1 ]; meta = with lib; { - description = "Binary addon for steam controller."; + description = "Binary addon for steam controller"; platforms = platforms.all; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/upnext/default.nix b/pkgs/applications/video/kodi/addons/upnext/default.nix new file mode 100644 index 0000000000000..dccfce4c3f0f6 --- /dev/null +++ b/pkgs/applications/video/kodi/addons/upnext/default.nix @@ -0,0 +1,26 @@ +{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }: + +buildKodiAddon rec { + pname = "upnext"; + namespace = "service.upnext"; + version = "1.1.9+matrix.1"; + + src = fetchzip { + url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip"; + sha256 = "sha256-oNUk80MEzK6Qssn1KjT6psPTazISRoUif1IMo+BKJxo="; + }; + + passthru = { + pythonPath = "resources/lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.upnext"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/im85288/service.upnext"; + description = "Up Next - Proposes to play the next episode automatically"; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix b/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix index 8eaecd87fc47c..38ab9d308762f 100644 --- a/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix +++ b/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix @@ -3,13 +3,13 @@ buildKodiBinaryAddon rec { pname = "visualization-projectm"; namespace = "visualization.projectm"; - version = "20.2.0"; + version = "21.0.1"; src = fetchFromGitHub { owner = "xbmc"; repo = namespace; rev = "${version}-${rel}"; - hash = "sha256-Kcl1ep+RJlofFmxkrGT3T+XXdwiCofq1hggwU0PAd0E="; + hash = "sha256-wjSQmOtQb4KjY3iH3Xh7AdQwE6ked+cpW6/gdNYS+NA="; }; extraBuildInputs = [ pkg-config libGL projectm ]; diff --git a/pkgs/applications/video/kodi/addons/websocket/default.nix b/pkgs/applications/video/kodi/addons/websocket/default.nix index 6d0ecc55aa05a..40667e71392bb 100644 --- a/pkgs/applications/video/kodi/addons/websocket/default.nix +++ b/pkgs/applications/video/kodi/addons/websocket/default.nix @@ -23,7 +23,7 @@ buildKodiAddon rec { meta = with lib; { homepage = "https://github.com/websocket-client/websocket-client"; - description = "A WebSocket client for Python"; + description = "WebSocket client for Python"; license = licenses.lgpl2Only; maintainers = teams.kodi.members; }; diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix index f2f340b257dbe..efeff6350cdd1 100644 --- a/pkgs/applications/video/kodi/addons/youtube/default.nix +++ b/pkgs/applications/video/kodi/addons/youtube/default.nix @@ -1,21 +1,20 @@ -{ lib, buildKodiAddon, fetchFromGitHub, six, requests, infotagger, inputstreamhelper }: +{ lib, buildKodiAddon, fetchFromGitHub, requests, inputstream-adaptive, inputstreamhelper }: buildKodiAddon rec { pname = "youtube"; namespace = "plugin.video.youtube"; - version = "7.0.6"; + version = "7.0.7"; src = fetchFromGitHub { owner = "anxdpanic"; repo = "plugin.video.youtube"; rev = "v${version}"; - hash = "sha256-pxW45D/tppUTTgeR5wVteOP2f4TZ4wl/9A5IBhOZhTM="; + hash = "sha256-i21BCkW4WpnQY1j9Wyn3/26GaAjWNXDb+lOVpmXlNKM="; }; propagatedBuildInputs = [ - six requests - infotagger + inputstream-adaptive inputstreamhelper ]; diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix index c3eb942fed929..fe4100ebef57e 100644 --- a/pkgs/applications/video/lbry/default.nix +++ b/pkgs/applications/video/lbry/default.nix @@ -15,9 +15,7 @@ appimageTools.wrapAppImage rec { }; # At runtime, Lbry likes to have access to Ffmpeg - extraPkgs = pkgs: with pkgs; [ - ffmpeg - ]; + extraPkgs = pkgs: [ pkgs.ffmpeg ]; # General fixup extraInstallCommands = '' @@ -32,7 +30,7 @@ appimageTools.wrapAppImage rec { ''; meta = with lib; { - description = "A browser and wallet for LBRY, the decentralized, user-controlled content marketplace"; + description = "Browser and wallet for LBRY, the decentralized, user-controlled content marketplace"; longDescription = '' The LBRY app is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with a UI using Electron. diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix index f08b014273c03..ea2f0bde5e33c 100644 --- a/pkgs/applications/video/lightworks/default.nix +++ b/pkgs/applications/video/lightworks/default.nix @@ -27,15 +27,15 @@ let ]; lightworks = stdenv.mkDerivation rec { - version = "2023.1"; - rev = "141770"; + version = "2023.2"; + rev = "146240"; pname = "lightworks"; src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://cdn.lwks.com/releases/${version}/lightworks_${version}_r${rev}.deb"; - sha256 = "sha256-QRbghrZQbprl2wUBKNMJVBeW0Ek6nWvo4006jyPYIBg="; + sha256 = "sha256-sVEDCZZsY5OwuWebrhatzZiws89/tEKIdgY54PN0Ddo="; } else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}"; diff --git a/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix b/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix index 1317536f3cf55..14e4cf215e7bc 100644 --- a/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix +++ b/pkgs/applications/video/losslesscut-bin/build-from-appimage.nix @@ -29,8 +29,6 @@ appimageTools.wrapType2 { export LC_ALL=C.UTF-8 ''; - extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps; - extraInstallCommands = '' ( mkdir -p $out/share diff --git a/pkgs/applications/video/losslesscut-bin/build-from-dmg.nix b/pkgs/applications/video/losslesscut-bin/build-from-dmg.nix index 9b3a91b9d029a..12b8205eec343 100644 --- a/pkgs/applications/video/losslesscut-bin/build-from-dmg.nix +++ b/pkgs/applications/video/losslesscut-bin/build-from-dmg.nix @@ -1,7 +1,7 @@ { lib , stdenvNoCC , fetchurl -, undmg +, _7zz , pname , version , hash @@ -19,15 +19,18 @@ in stdenvNoCC.mkDerivation { inherit pname version src; - nativeBuildInputs = [ undmg ]; + nativeBuildInputs = [ _7zz ]; sourceRoot = "LosslessCut.app"; installPhase = '' - mkdir -p "$out/Applications/LosslessCut.app" - cp -R . "$out/Applications/LosslessCut.app" + runHook preInstall + mkdir -p "$out/Applications" + cd .. + mv "$sourceRoot" "$out/Applications" mkdir -p "$out/bin" - ln -s "$out/Applications/LosslessCut.app/Contents/MacOS/LosslessCut" "$out/bin/losslesscut" + ln -s "$out/Applications/$(basename "$sourceRoot")/Contents/MacOS/LosslessCut" "$out/bin/losslesscut" + runHook postInstall ''; meta = metaCommon // (with lib; { diff --git a/pkgs/applications/video/losslesscut-bin/build-from-windows.nix b/pkgs/applications/video/losslesscut-bin/build-from-windows.nix index ddaf873806448..e6520e4a54b99 100644 --- a/pkgs/applications/video/losslesscut-bin/build-from-windows.nix +++ b/pkgs/applications/video/losslesscut-bin/build-from-windows.nix @@ -19,15 +19,20 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ p7zip ]; unpackPhase = '' - 7z x $src -oLosslessCut-win-x64 + runHook preUnpack + 7z x "$src" -o"$sourceRoot" + runHook postUnpack ''; sourceRoot = "LosslessCut-win-x64"; installPhase = '' - mkdir -p $out/bin $out/libexec - (cd .. && mv LosslessCut-win-x64 $out/libexec) - ln -s "$out/libexec/LosslessCut-win-x64/LosslessCut.exe" "$out/bin/LosslessCut.exe" + runHook preInstall + mkdir -p "$out/bin" "$out/libexec" + cd .. + mv "$sourceRoot" "$out/libexec" + ln -s "$out/libexec/$(basename "$sourceRoot")/LosslessCut.exe" "$out/bin/LosslessCut.exe" + runHook postInstall ''; meta = metaCommon // (with lib; { diff --git a/pkgs/applications/video/losslesscut-bin/default.nix b/pkgs/applications/video/losslesscut-bin/default.nix index ebab149ab1a89..c3ed6b306beb3 100644 --- a/pkgs/applications/video/losslesscut-bin/default.nix +++ b/pkgs/applications/video/losslesscut-bin/default.nix @@ -6,9 +6,9 @@ let pname = "losslesscut"; - version = "3.58.0"; + version = "3.61.1"; metaCommon = with lib; { - description = "The swiss army knife of lossless video/audio editing"; + description = "Swiss army knife of lossless video/audio editing"; homepage = "https://mifi.no/losslesscut/"; license = licenses.gpl2Only; maintainers = with maintainers; [ ShamrockLee ]; @@ -17,22 +17,22 @@ let }; x86_64-appimage = callPackage ./build-from-appimage.nix { inherit pname version metaCommon; - hash = "sha256-wmOdW5LdGLs6Wrt/VBlbC1ScFZBmd5gVQaj/cYADnWc="; + hash = "sha256-wKhEB+MfOsBvZRTIt3hLofw37+YO+hWKowlSi1OxSAU="; inherit (buildPackages) makeWrapper; }; x86_64-dmg = callPackage ./build-from-dmg.nix { inherit pname version metaCommon; - hash = "sha256-ZNUkzxpFTmsFcdC4oJWDxvqunpaBKz7Fnmrsa4W12Bg="; + hash = "sha256-yZYmM533D9VzM+a0bnYz/aqocaEJVFOTgLWjbQGOQR0="; isAarch64 = false; }; aarch64-dmg = callPackage ./build-from-dmg.nix { inherit pname version metaCommon; - hash = "sha256-PpQF31qsn9TOIRVzOdDoLUqti+m1uRpBQrrqKtxFleE="; + hash = "sha256-/qa2P0R7xRzDgnPKqkeKN6lrDbPg9WuZ/Nnc51NTzaM="; isAarch64 = true; }; x86_64-windows = callPackage ./build-from-windows.nix { inherit pname version metaCommon; - hash = "sha256-AgWvLU9m2q7fxZYXgHGMgEj1WLP5XzERq7tWcin2/30="; + hash = "sha256-0awYmSGxm8M12X0WQftlapRF9m3GGCZivNwBtRjSa4E="; }; in ( diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix index 261e8008f6bc0..cb568d07cbf30 100644 --- a/pkgs/applications/video/makemkv/default.nix +++ b/pkgs/applications/video/makemkv/default.nix @@ -15,21 +15,21 @@ }: let - version = "1.17.6"; + version = "1.17.7"; # 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 = "KHZGAFAp93HTZs8OT76xf88QM0UtlVVH3q57CZm07Rs="; + hash = "sha256-jFvIMbyVKx+HPMhFDGTjktsLJHm2JtGA8P/JZWaJUdA="; }; 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 = "2dtNdyv0+QYWQrfrIu5RQKSN4scSWKuLFNlJZXpxDUM="; + hash = "sha256-di5VLUb57HWnxi3LfZfA/Z5qFRINDvb1oIDO4pHToO8="; }; in mkDerivation { diff --git a/pkgs/applications/video/media-downloader/default.nix b/pkgs/applications/video/media-downloader/default.nix deleted file mode 100644 index 761243d897ba0..0000000000000 --- a/pkgs/applications/video/media-downloader/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ aria2 -, cmake -, fetchFromGitHub -, ffmpeg -, lib -, python3 -, qtbase -, stdenv -, wrapQtAppsHook -, yt-dlp -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "media-downloader"; - version = "4.5.0"; - - src = fetchFromGitHub { - owner = "mhogomchungu"; - repo = "media-downloader"; - rev = finalAttrs.version; - hash = "sha256-n+eQjjjdZhvXFSw5D/UQhyBMSZstfI/JixiEVhmQwXs="; - }; - - nativeBuildInputs = [ - cmake - wrapQtAppsHook - ]; - - buildInputs = [ - qtbase - ]; - - qtWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ - aria2 - ffmpeg - python3 - yt-dlp - ]}" - ]; - - meta = { - description = "A Qt/C++ GUI front end for yt-dlp and others"; - homepage = "https://github.com/mhogomchungu/media-downloader"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ zendo ]; - platforms = lib.platforms.linux; - mainProgram = "media-downloader"; - }; -}) diff --git a/pkgs/applications/video/memento/default.nix b/pkgs/applications/video/memento/default.nix index cee74556eaabe..40ff061a7fea2 100644 --- a/pkgs/applications/video/memento/default.nix +++ b/pkgs/applications/video/memento/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = with lib; { - description = "An mpv-based video player for studying Japanese"; + description = "Mpv-based video player for studying Japanese"; homepage = "https://ripose-jp.github.io/Memento/"; license = licenses.gpl2; maintainers = with maintainers; [ teto ]; diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix index 3caa2b7fc56cc..557eba2b87b11 100644 --- a/pkgs/applications/video/minitube/default.nix +++ b/pkgs/applications/video/minitube/default.nix @@ -1,4 +1,4 @@ -{ mkDerivation, lib, fetchFromGitHub, fetchpatch, phonon, phonon-backend-vlc, qtbase, qmake +{ mkDerivation, lib, fetchFromGitHub, phonon, phonon-backend-vlc, qtbase, qmake , qtdeclarative, qttools, qtx11extras, mpv # "Free" key generated by pasqui23 diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 8fc656981a3ad..bba0377185963 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -8,6 +8,7 @@ , cmark , docbook_xsl , expat +, fetchpatch2 , file , flac , fmt @@ -94,6 +95,11 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ qtwayland ] ++ optionals stdenv.isDarwin [ libiconv ]; + patches = [ (fetchpatch2 { + url = "https://gitlab.com/mbunkus/mkvtoolnix/-/commit/7e1bea9527616ab6ab38425e7290579f05dd9bb1.patch"; + hash = "sha256-9UZrfwrzfKwF8XDzqYnuaDgZws7l1YAb5O1O1+nxo0g="; + }) ]; + # autoupdate is not needed but it silences a ton of pointless warnings postPatch = '' patchShebangs . > /dev/null diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index 72e53090d33c7..05c6799e4213b 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -54,9 +54,7 @@ mkDerivation rec { description = "All in one MLV processing app that is pretty great"; homepage = "https://mlv.app"; license = licenses.gpl3; - maintainers = with maintainers; [ - kiwi - ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux; mainProgram = "mlvapp"; }; diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix index 0fbfefa271988..97d1baf9c3e3f 100644 --- a/pkgs/applications/video/mplayer/default.nix +++ b/pkgs/applications/video/mplayer/default.nix @@ -202,7 +202,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A movie player that supports many video formats"; + description = "Movie player that supports many video formats"; homepage = "http://mplayerhq.hu"; license = licenses.gpl2Only; maintainers = with maintainers; [ eelco ]; diff --git a/pkgs/applications/video/mpv-shim-default-shaders/default.nix b/pkgs/applications/video/mpv-shim-default-shaders/default.nix index eb6c81f6358ba..7e1dfbae4a4d3 100644 --- a/pkgs/applications/video/mpv-shim-default-shaders/default.nix +++ b/pkgs/applications/video/mpv-shim-default-shaders/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/iwalton3/default-shader-pack"; - description = "Preconfigured set of MPV shaders and configurations for MPV Shim media clients."; + description = "Preconfigured set of MPV shaders and configurations for MPV Shim media clients"; license = with licenses; [ gpl3Plus mit diff --git a/pkgs/applications/video/mpv/0001-fix-darwin-build.patch b/pkgs/applications/video/mpv/0001-fix-darwin-build.patch new file mode 100644 index 0000000000000..c7e486a3c5d14 --- /dev/null +++ b/pkgs/applications/video/mpv/0001-fix-darwin-build.patch @@ -0,0 +1,29 @@ +--- a/osdep/mac/input_helper.swift ++++ b/osdep/mac/input_helper.swift +@@ -18,6 +18,14 @@ + import Cocoa + import Carbon.HIToolbox + ++extension NSCondition { ++ fileprivate func withLock<T>(_ body: () throws -> T) rethrows -> T { ++ self.lock() ++ defer { self.unlock() } ++ return try body() ++ } ++} ++ + class InputHelper: NSObject { + var option: OptionHelper? + var lock = NSCondition() +--- a/audio/out/ao_avfoundation.m ++++ b/audio/out/ao_avfoundation.m +@@ -312,7 +312,8 @@ + ++ #if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120000 + p->observer = [[AVObserver alloc] initWithAO:ao]; + NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; + [center addObserver:p->observer selector:@selector(handleRestartNotification:) name:AVSampleBufferAudioRendererOutputConfigurationDidChangeNotification object:p->renderer]; + [center addObserver:p->observer selector:@selector(handleRestartNotification:) name:AVSampleBufferAudioRendererWasFlushedAutomaticallyNotification object:p->renderer]; +- ++ #endif + return CONTROL_OK; diff --git a/pkgs/applications/video/mpv/darwin-sigtool-no-deep.patch b/pkgs/applications/video/mpv/darwin-sigtool-no-deep.patch deleted file mode 100644 index 74ab97db4e540..0000000000000 --- a/pkgs/applications/video/mpv/darwin-sigtool-no-deep.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/TOOLS/osxbundle.py b/TOOLS/osxbundle.py -index 98699e478b..d02ecf610e 100755 ---- a/TOOLS/osxbundle.py -+++ b/TOOLS/osxbundle.py -@@ -39,7 +39,7 @@ def apply_plist_template(plist_file, version): - print(line.rstrip().replace('${VERSION}', version)) - - def sign_bundle(binary_name): -- sh('codesign --force --deep -s - ' + bundle_path(binary_name)) -+ sh('rcodesign sign ' + bundle_path(binary_name)) - - def bundle_version(): - if os.path.exists('VERSION'): diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 163729d879b9a..0f9cec9c409bd 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,133 +1,176 @@ -{ lib -, config -, stdenv -, fetchFromGitHub -, fetchpatch -, addOpenGLRunpath -, bash -, docutils -, meson -, ninja -, pkg-config -, python3 -, ffmpeg -, freefont_ttf -, freetype -, libass -, libpthreadstubs -, nv-codec-headers-11 -, lua -, libuchardet -, libiconv -, xcbuild -, rcodesign +{ + lib, + SDL2, + addOpenGLRunpath, + alsa-lib, + bash, + buildPackages, + callPackage, + config, + darwin, + docutils, + fetchFromGitHub, + ffmpeg, + freefont_ttf, + freetype, + lcms2, + libGL, + libGLU, + libX11, + libXScrnSaver, + libXext, + libXinerama, + libXpresent, + libXrandr, + libXv, + libXxf86vm, + libarchive, + libass, + libbluray, + libbs2b, + libcaca, + libcdio, + libcdio-paranoia, + libdrm, + libdvdnav, + libiconv, + libjack2, + libplacebo, + libpng, + libpthreadstubs, + libpulseaudio, + libsixel, + libtheora, + libuchardet, + libva, + libvdpau, + libxkbcommon, + lua, + mesa, + meson, + mujs, + ninja, + nixosTests, + nv-codec-headers-11, + openalSoft, + pipewire, + pkg-config, + python3, + rubberband, + shaderc, # instead of spirv-cross + speex, + stdenv, + swift, + testers, + vapoursynth, + vulkan-headers, + vulkan-loader, + wayland, + wayland-protocols, + wayland-scanner, + xcbuild, + zimg, -, waylandSupport ? stdenv.isLinux - , wayland - , wayland-protocols - , wayland-scanner - , libxkbcommon - -, x11Support ? stdenv.isLinux - , libGLU, libGL - , libX11 - , libXext - , libXxf86vm - , libXrandr - , libXpresent - -, cddaSupport ? false - , libcdio - , libcdio-paranoia - -, vulkanSupport ? stdenv.isLinux - , libplacebo - , shaderc # instead of spirv-cross - , vulkan-headers - , vulkan-loader - -, drmSupport ? stdenv.isLinux - , libdrm - , mesa - -, alsaSupport ? stdenv.isLinux, alsa-lib -, archiveSupport ? true, libarchive -, bluraySupport ? true, libbluray -, bs2bSupport ? true, libbs2b -, cacaSupport ? true, libcaca -, cmsSupport ? true, lcms2 -, dvdnavSupport ? stdenv.isLinux, libdvdnav -, dvbinSupport ? stdenv.isLinux -, jackaudioSupport ? false, libjack2 -, javascriptSupport ? true, mujs -, libpngSupport ? true, libpng -, openalSupport ? true, openalSoft -, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio -, pipewireSupport ? stdenv.isLinux, pipewire -, rubberbandSupport ? true, rubberband -, screenSaverSupport ? true, libXScrnSaver -, sdl2Support ? true, SDL2 -, sixelSupport ? false, libsixel -, speexSupport ? true, speex -, swiftSupport ? stdenv.isDarwin, swift -, theoraSupport ? true, libtheora -, vaapiSupport ? x11Support || waylandSupport, libva -, vapoursynthSupport ? false, vapoursynth -, vdpauSupport ? true, libvdpau -, xineramaSupport ? stdenv.isLinux, libXinerama -, xvSupport ? stdenv.isLinux, libXv -, zimgSupport ? true, zimg -, darwin + # Boolean + alsaSupport ? stdenv.isLinux, + archiveSupport ? true, + bluraySupport ? true, + bs2bSupport ? true, + cacaSupport ? true, + cddaSupport ? false, + cmsSupport ? true, + drmSupport ? stdenv.isLinux, + dvbinSupport ? stdenv.isLinux, + dvdnavSupport ? stdenv.isLinux, + jackaudioSupport ? false, + javascriptSupport ? true, + libpngSupport ? true, + openalSupport ? true, + pipewireSupport ? stdenv.isLinux, + pulseSupport ? config.pulseaudio or stdenv.isLinux, + rubberbandSupport ? true, + screenSaverSupport ? true, + sdl2Support ? !stdenv.isDarwin, + sixelSupport ? false, + speexSupport ? true, + swiftSupport ? stdenv.isDarwin, + theoraSupport ? true, + vaapiSupport ? x11Support || waylandSupport, + vapoursynthSupport ? false, + vdpauSupport ? true, + vulkanSupport ? stdenv.isLinux, + waylandSupport ? stdenv.isLinux, + x11Support ? stdenv.isLinux, + xineramaSupport ? stdenv.isLinux, + xvSupport ? stdenv.isLinux, + zimgSupport ? true, }: let inherit (darwin.apple_sdk_11_0.frameworks) - AVFoundation Accelerate Cocoa CoreAudio CoreFoundation CoreMedia - MediaPlayer VideoToolbox; + AVFoundation + Accelerate + Cocoa + CoreAudio + CoreFoundation + CoreMedia + MediaPlayer + VideoToolbox + ; luaEnv = lua.withPackages (ps: with ps; [ luasocket ]); - overrideSDK = platform: version: - platform // lib.optionalAttrs (platform ? darwinMinVersion) { - darwinMinVersion = version; - }; + overrideSDK = + platform: version: + platform // lib.optionalAttrs (platform ? darwinMinVersion) { darwinMinVersion = version; }; - stdenv' = if swiftSupport && stdenv.isDarwin && stdenv.isx86_64 - then stdenv.override (old: { - buildPlatform = overrideSDK old.buildPlatform "10.15"; - hostPlatform = overrideSDK old.hostPlatform "10.15"; - targetPlatform = overrideSDK old.targetPlatform "10.15"; - }) - else stdenv; -in stdenv'.mkDerivation (finalAttrs: { + stdenv' = + if swiftSupport && stdenv.isDarwin && stdenv.isx86_64 then + stdenv.override (old: { + buildPlatform = overrideSDK old.buildPlatform "11.0"; + hostPlatform = overrideSDK old.hostPlatform "11.0"; + targetPlatform = overrideSDK old.targetPlatform "11.0"; + }) + else + stdenv; +in +stdenv'.mkDerivation (finalAttrs: { pname = "mpv"; - version = "0.37.0"; + version = "0.38.0"; - outputs = [ "out" "dev" "doc" "man" ]; + outputs = [ + "out" + "dev" + "doc" + "man" + ]; src = fetchFromGitHub { owner = "mpv-player"; repo = "mpv"; rev = "v${finalAttrs.version}"; - hash = "sha256-izAz9Iiam7tJAWIQkmn2cKOfoaog8oPKq4sOUtp1nvU="; + hash = "sha256-dFajnCpGlNqUv33A8eFEn8kjtzIPkcBY5j0gNVlaiIY="; }; - patches = [ ./darwin-sigtool-no-deep.patch ]; + patches = [ + # Fix build with Darwin SDK 11 + ./0001-fix-darwin-build.patch + ]; postPatch = lib.concatStringsSep "\n" [ # Don't reference compile time dependencies or create a build outputs cycle # between out and dev '' - substituteInPlace meson.build \ - --replace-fail "conf_data.set_quoted('CONFIGURATION', configuration)" \ - "conf_data.set_quoted('CONFIGURATION', '<ommited>')" + substituteInPlace meson.build \ + --replace-fail "conf_data.set_quoted('CONFIGURATION', configuration)" \ + "conf_data.set_quoted('CONFIGURATION', '<ommited>')" '' # A trick to patchShebang everything except mpv_identify.sh '' - pushd TOOLS - mv mpv_identify.sh mpv_identify - patchShebangs *.py *.sh - mv mpv_identify mpv_identify.sh - popd + pushd TOOLS + mv mpv_identify.sh mpv_identify + patchShebangs *.py *.sh + mv mpv_identify mpv_identify.sh + popd '' ]; @@ -136,81 +179,124 @@ in stdenv'.mkDerivation (finalAttrs: { export SWIFT_LIB_DYNAMIC="${lib.getLib swift.swift}/lib/swift/macosx" ''; - mesonFlags = [ - (lib.mesonOption "default_library" "shared") - (lib.mesonBool "libmpv" true) - (lib.mesonEnable "libarchive" archiveSupport) - (lib.mesonEnable "manpage-build" true) - (lib.mesonEnable "cdda" cddaSupport) - (lib.mesonEnable "dvbin" dvbinSupport) - (lib.mesonEnable "dvdnav" dvdnavSupport) - (lib.mesonEnable "openal" openalSupport) - (lib.mesonEnable "sdl2" sdl2Support) - # Disable whilst Swift isn't supported - (lib.mesonEnable "swift-build" swiftSupport) - (lib.mesonEnable "macos-cocoa-cb" swiftSupport) - ] ++ lib.optionals stdenv.isDarwin [ - # Toggle explicitly because it fails on darwin - (lib.mesonEnable "videotoolbox-pl" vulkanSupport) - ]; + mesonFlags = + [ + (lib.mesonOption "default_library" "shared") + (lib.mesonBool "libmpv" true) + (lib.mesonEnable "libarchive" archiveSupport) + (lib.mesonEnable "manpage-build" true) + (lib.mesonEnable "cdda" cddaSupport) + (lib.mesonEnable "dvbin" dvbinSupport) + (lib.mesonEnable "dvdnav" dvdnavSupport) + (lib.mesonEnable "openal" openalSupport) + (lib.mesonEnable "sdl2" sdl2Support) + # Disable whilst Swift isn't supported + (lib.mesonEnable "swift-build" swiftSupport) + (lib.mesonEnable "macos-cocoa-cb" swiftSupport) + ] + ++ lib.optionals stdenv.isDarwin [ + # Toggle explicitly because it fails on darwin + (lib.mesonEnable "videotoolbox-pl" vulkanSupport) + ]; mesonAutoFeatures = "auto"; - nativeBuildInputs = [ - addOpenGLRunpath - docutils # for rst2man - meson - ninja - pkg-config - ] - ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun rcodesign ] - ++ lib.optionals swiftSupport [ swift ] - ++ lib.optionals waylandSupport [ wayland-scanner ]; + nativeBuildInputs = + [ + addOpenGLRunpath + docutils # for rst2man + meson + ninja + pkg-config + ] + ++ lib.optionals stdenv.isDarwin [ + buildPackages.darwin.sigtool + xcbuild.xcrun + ] + ++ lib.optionals swiftSupport [ swift ] + ++ lib.optionals waylandSupport [ wayland-scanner ]; - buildInputs = [ - bash - ffmpeg - freetype - libass - libplacebo - libpthreadstubs - libuchardet - luaEnv - python3 - ] ++ lib.optionals alsaSupport [ alsa-lib ] - ++ lib.optionals archiveSupport [ libarchive ] - ++ lib.optionals bluraySupport [ libbluray ] - ++ lib.optionals bs2bSupport [ libbs2b ] - ++ lib.optionals cacaSupport [ libcaca ] - ++ lib.optionals cddaSupport [ libcdio libcdio-paranoia ] - ++ lib.optionals cmsSupport [ lcms2 ] - ++ lib.optionals drmSupport [ libdrm mesa ] - ++ lib.optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] - ++ lib.optionals jackaudioSupport [ libjack2 ] - ++ lib.optionals javascriptSupport [ mujs ] - ++ lib.optionals libpngSupport [ libpng ] - ++ lib.optionals openalSupport [ openalSoft ] - ++ lib.optionals pipewireSupport [ pipewire ] - ++ lib.optionals pulseSupport [ libpulseaudio ] - ++ lib.optionals rubberbandSupport [ rubberband ] + buildInputs = + [ + bash + ffmpeg + freetype + libass + libplacebo + libpthreadstubs + libuchardet + luaEnv + python3 + ] + ++ lib.optionals alsaSupport [ alsa-lib ] + ++ lib.optionals archiveSupport [ libarchive ] + ++ lib.optionals bluraySupport [ libbluray ] + ++ lib.optionals bs2bSupport [ libbs2b ] + ++ lib.optionals cacaSupport [ libcaca ] + ++ lib.optionals cddaSupport [ + libcdio + libcdio-paranoia + ] + ++ lib.optionals cmsSupport [ lcms2 ] + ++ lib.optionals drmSupport [ + libdrm + mesa + ] + ++ lib.optionals dvdnavSupport [ + libdvdnav + libdvdnav.libdvdread + ] + ++ lib.optionals jackaudioSupport [ libjack2 ] + ++ lib.optionals javascriptSupport [ mujs ] + ++ lib.optionals libpngSupport [ libpng ] + ++ lib.optionals openalSupport [ openalSoft ] + ++ lib.optionals pipewireSupport [ pipewire ] + ++ lib.optionals pulseSupport [ libpulseaudio ] + ++ lib.optionals rubberbandSupport [ rubberband ] ++ lib.optionals screenSaverSupport [ libXScrnSaver ] - ++ lib.optionals sdl2Support [ SDL2 ] - ++ lib.optionals sixelSupport [ libsixel ] - ++ lib.optionals speexSupport [ speex ] - ++ lib.optionals theoraSupport [ libtheora ] - ++ lib.optionals vaapiSupport [ libva ] + ++ lib.optionals sdl2Support [ SDL2 ] + ++ lib.optionals sixelSupport [ libsixel ] + ++ lib.optionals speexSupport [ speex ] + ++ lib.optionals theoraSupport [ libtheora ] + ++ lib.optionals vaapiSupport [ libva ] ++ lib.optionals vapoursynthSupport [ vapoursynth ] - ++ lib.optionals vdpauSupport [ libvdpau ] - ++ lib.optionals vulkanSupport [ shaderc vulkan-headers vulkan-loader ] - ++ lib.optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] - ++ lib.optionals x11Support [ libX11 libXext libGLU libGL libXxf86vm libXrandr libXpresent ] - ++ lib.optionals xineramaSupport [ libXinerama ] - ++ lib.optionals xvSupport [ libXv ] - ++ lib.optionals zimgSupport [ zimg ] - ++ lib.optionals stdenv.isLinux [ nv-codec-headers-11 ] - ++ lib.optionals stdenv.isDarwin [ libiconv ] - ++ lib.optionals stdenv.isDarwin [ Accelerate CoreFoundation Cocoa CoreAudio MediaPlayer VideoToolbox ] - ++ lib.optionals (stdenv.isDarwin && swiftSupport) [ AVFoundation CoreMedia ]; + ++ lib.optionals vdpauSupport [ libvdpau ] + ++ lib.optionals vulkanSupport [ + shaderc + vulkan-headers + vulkan-loader + ] + ++ lib.optionals waylandSupport [ + wayland + wayland-protocols + libxkbcommon + ] + ++ lib.optionals x11Support [ + libX11 + libXext + libGLU + libGL + libXxf86vm + libXrandr + libXpresent + ] + ++ lib.optionals xineramaSupport [ libXinerama ] + ++ lib.optionals xvSupport [ libXv ] + ++ lib.optionals zimgSupport [ zimg ] + ++ lib.optionals stdenv.isLinux [ nv-codec-headers-11 ] + ++ lib.optionals stdenv.isDarwin [ libiconv ] + ++ lib.optionals stdenv.isDarwin [ + Accelerate + CoreFoundation + Cocoa + CoreAudio + MediaPlayer + VideoToolbox + ] + ++ lib.optionals (stdenv.isDarwin && swiftSupport) [ + AVFoundation + CoreMedia + ]; postBuild = lib.optionalString stdenv.isDarwin '' pushd .. # Must be run from the source dir because it uses relative paths @@ -218,27 +304,29 @@ in stdenv'.mkDerivation (finalAttrs: { popd ''; - postInstall = '' - # Use a standard font - mkdir -p $out/share/mpv - ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf + postInstall = + '' + # Use a standard font + mkdir -p $out/share/mpv + ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf - pushd ../TOOLS - cp mpv_identify.sh umpv $out/bin/ - popd - pushd $out/share/applications + pushd ../TOOLS + cp mpv_identify.sh umpv $out/bin/ + popd + pushd $out/share/applications - # patch out smb protocol reference, since our ffmpeg can't handle it - substituteInPlace mpv.desktop --replace-fail "smb," "" + # patch out smb protocol reference, since our ffmpeg can't handle it + substituteInPlace mpv.desktop --replace-fail "smb," "" - sed -e '/Icon=/ ! s|mpv|umpv|g; s|^Exec=.*|Exec=umpv %U|' \ - mpv.desktop > umpv.desktop - printf "NoDisplay=true\n" >> umpv.desktop - popd - '' + lib.optionalString stdenv.isDarwin '' - mkdir -p $out/Applications - cp -r mpv.app $out/Applications - ''; + sed -e '/Icon=/ ! s|mpv|umpv|g; s|^Exec=.*|Exec=umpv %U|' \ + mpv.desktop > umpv.desktop + printf "NoDisplay=true\n" >> umpv.desktop + popd + '' + + lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications + cp -r mpv.app $out/Applications + ''; # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found. # See the explanation in addOpenGLRunpath. @@ -249,16 +337,29 @@ in stdenv'.mkDerivation (finalAttrs: { 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 - ; + # 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 + ; + + wrapper = callPackage ./wrapper.nix { }; + scripts = callPackage ./scripts { }; + + tests = { + inherit (nixosTests) mpv; + + version = testers.testVersion { package = finalAttrs.finalPackage; }; + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + moduleNames = [ "mpv" ]; + }; + }; }; meta = { @@ -272,7 +373,11 @@ in stdenv'.mkDerivation (finalAttrs: { license = lib.licenses.gpl2Plus; mainProgram = "mpv"; maintainers = with lib.maintainers; [ - AndersonTorres fpletz globin ma27 tadeokondrak + AndersonTorres + fpletz + globin + ma27 + tadeokondrak ]; platforms = lib.platforms.unix; }; diff --git a/pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix b/pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix new file mode 100644 index 0000000000000..d162da18c018a --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/autosubsync-mpv.nix @@ -0,0 +1,38 @@ +{ + lib, + fetchFromGitHub, + buildLua, + alass, +}: + +buildLua { + pname = "autosubsync-mpv"; + version = "0-unstable-2022-12-26"; + + src = fetchFromGitHub { + owner = "joaquintorres"; + repo = "autosubsync-mpv"; + rev = "22cb928ecd94cc8cadaf8c354438123c43e0c70d"; + sha256 = "sha256-XQPFC7l9MTZAW5FfULRQJfu/7FuGj9bbjQUZhNv0rlc="; + }; + + # While nixpkgs only packages alass, we might as well make that the default + patchPhase = '' + runHook prePatch + substituteInPlace autosubsync.lua \ + --replace-warn 'alass_path = ""' 'alass_path = "${alass}/bin/alass-cli"' \ + --replace-warn 'audio_subsync_tool = "ask"' 'audio_subsync_tool = "alass"' \ + --replace-warn 'altsub_subsync_tool = "ask"' 'altsub_subsync_tool = "alass"' + runHook postPatch + ''; + + scriptPath = "./"; + passthru.scriptName = "autosubsync-mpv"; + + meta = with lib; { + description = "Automatically sync subtitles in mpv using the `n` button"; + homepage = "https://github.com/joaquintorres/autosubsync-mpv"; + maintainers = with maintainers; [ kovirobi ]; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/buildLua.nix b/pkgs/applications/video/mpv/scripts/buildLua.nix index 8db7d4b1aa3c9..2e25ee55b28a0 100644 --- a/pkgs/applications/video/mpv/scripts/buildLua.nix +++ b/pkgs/applications/video/mpv/scripts/buildLua.nix @@ -1,5 +1,4 @@ -{ lib -, stdenvNoCC }: +{ lib, stdenvNoCC }: let # Escape strings for embedding in shell scripts @@ -10,74 +9,90 @@ let scriptsDir = "$out/share/mpv/scripts"; # similar to `lib.extends`, but with inverted precedence and recursive update - extendedBy = args: orig: self: - let super = args self; - in lib.recursiveUpdate (orig super) super - ; + extendedBy = + args: orig: self: + let + super = args self; + in + lib.recursiveUpdate (orig super) super; in -lib.makeOverridable (args: stdenvNoCC.mkDerivation (extendedBy - (if lib.isFunction args then args else (_: args)) ( - { pname - , extraScripts ? [] - , ... }@args: - let - strippedName = with builtins; - let groups = match "mpv[-_](.*)" pname; in - if groups != null - then head groups - else pname - ; - # either passthru.scriptName, inferred from scriptPath, or from pname - scriptName = (args.passthru or {}).scriptName or ( - if args ? scriptPath - then fileName args.scriptPath - else "${strippedName}.lua" - ); - scriptPath = args.scriptPath or "./${scriptName}"; - in { - dontBuild = true; - preferLocalBuild = true; +lib.makeOverridable ( + args: + stdenvNoCC.mkDerivation ( + extendedBy (if lib.isFunction args then args else (_: args)) ( + { + pname, + extraScripts ? [ ], + ... + }@args: + let + strippedName = + with builtins; + let + groups = match "mpv[-_](.*)" pname; + in + if groups != null then head groups else pname; + # either passthru.scriptName, inferred from scriptPath, or from pname + scriptName = + (args.passthru or { }).scriptName + or (if args ? scriptPath then fileName args.scriptPath else "${strippedName}.lua"); + scriptPath = args.scriptPath or "./${scriptName}"; + in + { + dontBuild = true; + preferLocalBuild = true; - # Prevent `patch` from emitting `.orig` files (that end up in the output) - patchFlags = [ "--no-backup-if-mismatch" "-p1" ]; + # Prevent `patch` from emitting `.orig` files (that end up in the output) + patchFlags = [ + "--no-backup-if-mismatch" + "-p1" + ]; - outputHashMode = "recursive"; - installPhase = '' - runHook preInstall + outputHashMode = "recursive"; + installPhase = '' + runHook preInstall - if [ -d "${scriptPath}" ]; then - [ -f "${scriptPath}/main.lua" ] || { - echo "Script directory '${scriptPath}' does not contain 'main.lua'" >&2 - exit 1 - } - [ ${with builtins; toString (length extraScripts)} -eq 0 ] || { - echo "mpvScripts.buildLua does not support 'extraScripts'" \ - "when 'scriptPath' is a directory" >&2 - exit 1 - } - mkdir -p "${scriptsDir}" - cp -a "${scriptPath}" "${scriptsDir}/${scriptName}" - else - install -m644 -Dt "${scriptsDir}" ${escaped scriptPath} - ${lib.optionalString (extraScripts != []) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}''} - fi + if [ -d "${scriptPath}" ]; then + [ -f "${scriptPath}/main.lua" ] || { + echo "Script directory '${scriptPath}' does not contain 'main.lua'" >&2 + exit 1 + } + [ ${with builtins; toString (length extraScripts)} -eq 0 ] || { + echo "mpvScripts.buildLua does not support 'extraScripts'" \ + "when 'scriptPath' is a directory" >&2 + exit 1 + } + mkdir -p "${scriptsDir}" + cp -a "${scriptPath}" "${scriptsDir}/${scriptName}" + else + install -m644 -Dt "${scriptsDir}" ${escaped scriptPath} + ${ + lib.optionalString (extraScripts != [ ]) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}'' + } + fi - runHook postInstall - ''; + runHook postInstall + ''; - passthru = { inherit scriptName; }; - meta = { - platforms = lib.platforms.all; - } // ( - let pos = - if (args.meta or {}) ? description then - builtins.unsafeGetAttrPos "description" args.meta - else - builtins.unsafeGetAttrPos "pname" args; - in lib.optionalAttrs - (pos != null) - { position = "${pos.file}:${toString pos.line}"; } - ); - }) -)) + passthru = { + inherit scriptName; + }; + meta = + { + platforms = lib.platforms.all; + } + // ( + let + pos = + if (args.meta or { }) ? description then + builtins.unsafeGetAttrPos "description" args.meta + else + builtins.unsafeGetAttrPos "pname" args; + in + lib.optionalAttrs (pos != null) { position = "${pos.file}:${toString pos.line}"; } + ); + } + ) + ) +) diff --git a/pkgs/applications/video/mpv/scripts/chapterskip.nix b/pkgs/applications/video/mpv/scripts/chapterskip.nix index 6c6fc4ba51fee..b1b993df3692a 100644 --- a/pkgs/applications/video/mpv/scripts/chapterskip.nix +++ b/pkgs/applications/video/mpv/scripts/chapterskip.nix @@ -1,7 +1,9 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, buildLua }: +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + buildLua, +}: buildLua { pname = "chapterskip"; @@ -9,20 +11,20 @@ buildLua { version = "0-unstable-2022-09-08"; src = fetchFromGitHub { owner = "po5"; - repo = "chapterskip"; - rev = "b26825316e3329882206ae78dc903ebc4613f039"; - hash = "sha256-OTrLQE3rYvPQamEX23D6HttNjx3vafWdTMxTiWpDy90="; + repo = "chapterskip"; + rev = "b26825316e3329882206ae78dc903ebc4613f039"; + hash = "sha256-OTrLQE3rYvPQamEX23D6HttNjx3vafWdTMxTiWpDy90="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = { description = "Automatically skips chapters based on title"; longDescription = '' - MPV script that skips chapters based on their title, categorized using regexes. - The set of skipped categories can be configured globally, or by an auto-profile. + MPV script that skips chapters based on their title, categorized using regexes. + The set of skipped categories can be configured globally, or by an auto-profile. ''; homepage = "https://github.com/po5/chapterskip"; - license = lib.licenses.unfree; # https://github.com/po5/chapterskip/issues/10 + license = lib.licenses.unfree; # https://github.com/po5/chapterskip/issues/10 maintainers = with lib.maintainers; [ nicoo ]; }; } diff --git a/pkgs/applications/video/mpv/scripts/convert.nix b/pkgs/applications/video/mpv/scripts/convert.nix index 2505be15da544..1df83df46d8c4 100644 --- a/pkgs/applications/video/mpv/scripts/convert.nix +++ b/pkgs/applications/video/mpv/scripts/convert.nix @@ -1,11 +1,12 @@ -{ lib -, fetchgit -, unstableGitUpdater +{ + lib, + fetchgit, + unstableGitUpdater, -, buildLua -, libnotify -, mkvtoolnix-cli -, yad + buildLua, + libnotify, + mkvtoolnix-cli, + yad, }: buildLua { @@ -16,7 +17,7 @@ buildLua { rev = "f95cee43e390e843a47e8ec9d1711a12a8cd343d"; sha256 = "13m7l4sy2r8jv2sfrb3vvqvnim4a9ilnv28q5drlg09v298z3mck"; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; patches = [ ./convert.patch ]; diff --git a/pkgs/applications/video/mpv/scripts/cutter.nix b/pkgs/applications/video/mpv/scripts/cutter.nix index c58d0a81da633..b051c08a85470 100644 --- a/pkgs/applications/video/mpv/scripts/cutter.nix +++ b/pkgs/applications/video/mpv/scripts/cutter.nix @@ -1,4 +1,10 @@ -{ lib, buildLua, fetchFromGitHub, makeWrapper, unstableGitUpdater }: +{ + lib, + buildLua, + fetchFromGitHub, + makeWrapper, + unstableGitUpdater, +}: buildLua { pname = "video-cutter"; @@ -10,7 +16,7 @@ buildLua { rev = "01a0396c075d5f8bbd1de5b571e6231f8899ab65"; sha256 = "sha256-veoRFzUCRH8TrvR7x+WWoycpDyxqrJZ/bnp61dVc0pE="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix index ce5188c09d294..c9e433e6fe00d 100644 --- a/pkgs/applications/video/mpv/scripts/default.nix +++ b/pkgs/applications/video/mpv/scripts/default.nix @@ -1,111 +1,147 @@ -{ lib -, config -, newScope -, runCommand +{ + lib, + config, + newScope, + runCommand, }: let - unionOfDisjoints = lib.fold lib.attrsets.unionOfDisjoint {}; + unionOfDisjoints = lib.fold lib.attrsets.unionOfDisjoint { }; - addTests = name: drv: - if ! lib.isDerivation drv then + addTests = + name: drv: + if !lib.isDerivation drv then drv - else let - inherit (drv) scriptName; - scriptPath = "share/mpv/scripts/${scriptName}"; - fullScriptPath = "${drv}/${scriptPath}"; - in drv.overrideAttrs (old: { passthru = (old.passthru or {}) // { tests = unionOfDisjoints [ - (old.passthru.tests or {}) + else + let + inherit (drv) scriptName; + scriptPath = "share/mpv/scripts/${scriptName}"; + fullScriptPath = "${drv}/${scriptPath}"; + in + drv.overrideAttrs (old: { + passthru = (old.passthru or { }) // { + tests = unionOfDisjoints [ + (old.passthru.tests or { }) - { - scriptName-is-valid = runCommand "mpvScripts.${name}.passthru.tests.scriptName-is-valid" { - meta.maintainers = with lib.maintainers; [ nicoo ]; - preferLocalBuild = true; - } '' - if [ -e "${fullScriptPath}" ]; then - touch $out - else - echo "mpvScripts.\"${name}\" does not contain a script named \"${scriptName}\"" >&2 - exit 1 - fi - ''; - } + { + scriptName-is-valid = + runCommand "mpvScripts.${name}.passthru.tests.scriptName-is-valid" + { + meta.maintainers = with lib.maintainers; [ nicoo ]; + preferLocalBuild = true; + } + '' + if [ -e "${fullScriptPath}" ]; then + touch $out + else + echo "mpvScripts.\"${name}\" does not contain a script named \"${scriptName}\"" >&2 + exit 1 + fi + ''; + } - # can't check whether `fullScriptPath` is a directory, in pure-evaluation mode - (with lib; optionalAttrs (! any (s: hasSuffix s drv.passthru.scriptName) [ ".js" ".lua" ".so" ]) { - single-main-in-script-dir = runCommand "mpvScripts.${name}.passthru.tests.single-main-in-script-dir" { - meta.maintainers = with lib.maintainers; [ nicoo ]; - preferLocalBuild = true; - } '' - die() { - echo "$@" >&2 - exit 1 - } + # can't check whether `fullScriptPath` is a directory, in pure-evaluation mode + ( + with lib; + optionalAttrs + ( + !any (s: hasSuffix s drv.passthru.scriptName) [ + ".js" + ".lua" + ".so" + ] + ) + { + single-main-in-script-dir = + runCommand "mpvScripts.${name}.passthru.tests.single-main-in-script-dir" + { + meta.maintainers = with lib.maintainers; [ nicoo ]; + preferLocalBuild = true; + } + '' + die() { + echo "$@" >&2 + exit 1 + } - cd "${drv}/${scriptPath}" # so the glob expands to filenames only - mains=( main.* ) - if [ "''${#mains[*]}" -eq 1 ]; then - touch $out - elif [ "''${#mains[*]}" -eq 0 ]; then - die "'${scriptPath}' contains no 'main.*' file" - else - die "'${scriptPath}' contains multiple 'main.*' files:" "''${mains[*]}" - fi - ''; - }) - ]; }; }); + cd "${drv}/${scriptPath}" # so the glob expands to filenames only + mains=( main.* ) + if [ "''${#mains[*]}" -eq 1 ]; then + touch $out + elif [ "''${#mains[*]}" -eq 0 ]; then + die "'${scriptPath}' contains no 'main.*' file" + else + die "'${scriptPath}' contains multiple 'main.*' files:" "''${mains[*]}" + fi + ''; + } + ) + ]; + }; + }); - scope = self: let - inherit (self) callPackage; - in lib.mapAttrs addTests { - inherit (callPackage ./mpv.nix { }) - acompressor autocrop autodeint autoload; - inherit (callPackage ./occivink.nix { }) - blacklistExtensions seekTo; + scope = + self: + let + inherit (self) callPackage; + in + lib.mapAttrs addTests { + inherit (callPackage ./mpv.nix { }) + acompressor + autocrop + autodeint + autoload + ; + inherit (callPackage ./occivink.nix { }) blacklistExtensions seekTo; - buildLua = callPackage ./buildLua.nix { }; - chapterskip = callPackage ./chapterskip.nix { }; - convert = callPackage ./convert.nix { }; - cutter = callPackage ./cutter.nix { }; - dynamic-crop = callPackage ./dynamic-crop.nix { }; - inhibit-gnome = callPackage ./inhibit-gnome.nix { }; - memo = callPackage ./memo.nix { }; - manga-reader = callPackage ./manga-reader.nix { }; - modernx = callPackage ./modernx.nix { }; - modernx-zydezu = callPackage ./modernx-zydezu.nix { }; - mpris = callPackage ./mpris.nix { }; - mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { }; - mpv-notify-send = callPackage ./mpv-notify-send.nix { }; - mpv-osc-modern = callPackage ./mpv-osc-modern.nix { }; - mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { }; - mpv-slicing = callPackage ./mpv-slicing.nix { }; - mpv-webm = callPackage ./mpv-webm.nix { }; - mpvacious = callPackage ./mpvacious.nix { }; - quack = callPackage ./quack.nix { }; - quality-menu = callPackage ./quality-menu.nix { }; - reload = callPackage ./reload.nix { }; - simple-mpv-webui = callPackage ./simple-mpv-webui.nix { }; - sponsorblock = callPackage ./sponsorblock.nix { }; - sponsorblock-minimal = callPackage ./sponsorblock-minimal.nix { }; - thumbfast = callPackage ./thumbfast.nix { }; - thumbnail = callPackage ./thumbnail.nix { }; - uosc = callPackage ./uosc.nix { }; - videoclip = callPackage ./videoclip.nix { }; - visualizer = callPackage ./visualizer.nix { }; - vr-reversal = callPackage ./vr-reversal.nix { }; - webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { }; - youtube-upnext = callPackage ./youtube-upnext.nix { }; - }; + buildLua = callPackage ./buildLua.nix { }; + autosubsync-mpv = callPackage ./autosubsync-mpv.nix { }; + chapterskip = callPackage ./chapterskip.nix { }; + convert = callPackage ./convert.nix { }; + cutter = callPackage ./cutter.nix { }; + dynamic-crop = callPackage ./dynamic-crop.nix { }; + evafast = callPackage ./evafast.nix { }; + inhibit-gnome = callPackage ./inhibit-gnome.nix { }; + memo = callPackage ./memo.nix { }; + manga-reader = callPackage ./manga-reader.nix { }; + modernx = callPackage ./modernx.nix { }; + modernx-zydezu = callPackage ./modernx-zydezu.nix { }; + mpris = callPackage ./mpris.nix { }; + mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { }; + mpv-notify-send = callPackage ./mpv-notify-send.nix { }; + mpv-osc-modern = callPackage ./mpv-osc-modern.nix { }; + mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { }; + mpv-slicing = callPackage ./mpv-slicing.nix { }; + mpv-webm = callPackage ./mpv-webm.nix { }; + mpvacious = callPackage ./mpvacious.nix { }; + quack = callPackage ./quack.nix { }; + quality-menu = callPackage ./quality-menu.nix { }; + reload = callPackage ./reload.nix { }; + simple-mpv-webui = callPackage ./simple-mpv-webui.nix { }; + sponsorblock = callPackage ./sponsorblock.nix { }; + sponsorblock-minimal = callPackage ./sponsorblock-minimal.nix { }; + thumbfast = callPackage ./thumbfast.nix { }; + thumbnail = callPackage ./thumbnail.nix { }; + uosc = callPackage ./uosc.nix { }; + videoclip = callPackage ./videoclip.nix { }; + visualizer = callPackage ./visualizer.nix { }; + vr-reversal = callPackage ./vr-reversal.nix { }; + webtorrent-mpv-hook = callPackage ./webtorrent-mpv-hook.nix { }; + youtube-upnext = callPackage ./youtube-upnext.nix { }; + }; aliases = { youtube-quality = throw "'youtube-quality' is no longer maintained, use 'quality-menu' instead"; # added 2023-07-14 }; in -with lib; pipe scope [ +with lib; +pipe scope [ (makeScope newScope) - (self: - assert builtins.intersectAttrs self aliases == {}; - self // optionalAttrs config.allowAliases aliases) + ( + self: + assert builtins.intersectAttrs self aliases == { }; + self // optionalAttrs config.allowAliases aliases + ) recurseIntoAttrs ] diff --git a/pkgs/applications/video/mpv/scripts/dynamic-crop.nix b/pkgs/applications/video/mpv/scripts/dynamic-crop.nix index f2cd7dc070166..541c83d5258ff 100644 --- a/pkgs/applications/video/mpv/scripts/dynamic-crop.nix +++ b/pkgs/applications/video/mpv/scripts/dynamic-crop.nix @@ -1,17 +1,18 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, buildLua +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + buildLua, }: buildLua { pname = "dynamic-crop"; - version = "0-unstable-2023-12-22"; + version = "0-unstable-2024-06-22"; src = fetchFromGitHub { owner = "Ashyni"; repo = "mpv-scripts"; - rev = "c79a46ba03631eb2a9b4f598aab0b723f03fc531"; - hash = "sha256-W4Dj2tyJHeHLqAndrzllKs4iwMe3Tu8rfzEGBHuke6s="; + rev = "1fadd5ea3e31818db33c9372c40161db6fc1bdd3"; + hash = "sha256-nC0Iw+9PSGxc3OdYhEmFVa49Sw+rIbuFhgZvAphP4cM="; }; passthru.scriptName = "dynamic-crop.lua"; diff --git a/pkgs/applications/video/mpv/scripts/evafast.nix b/pkgs/applications/video/mpv/scripts/evafast.nix new file mode 100644 index 0000000000000..5260adb1a8efd --- /dev/null +++ b/pkgs/applications/video/mpv/scripts/evafast.nix @@ -0,0 +1,28 @@ +{ + fetchFromGitHub, + buildLua, + lib, + unstableGitUpdater, +}: + +buildLua { + pname = "evafast"; + version = "0-unstable-2024-02-09"; + + src = fetchFromGitHub { + owner = "po5"; + repo = "evafast"; + rev = "92af3e2e1c756ce83f9d0129c780caeef1131a0b"; + hash = "sha256-BGWD2XwVu8zOSiDJ+9oWi8aPN2Wkw0Y0gF58X4f+tdI="; + }; + + # Drop the `branch` parameter once upstream merges `rewrite` back into `master` + passthru.updateScript = unstableGitUpdater { branch = "rewrite"; }; + + meta = with lib; { + description = "Seeking and hybrid fastforwarding like VHS"; + homepage = "https://github.com/po5/evafast"; + license = licenses.unfree; # no license; see https://github.com/po5/evafast/issues/15 + maintainers = with lib.maintainers; [ purrpurrn ]; + }; +} diff --git a/pkgs/applications/video/mpv/scripts/inhibit-gnome.nix b/pkgs/applications/video/mpv/scripts/inhibit-gnome.nix index 618c74adea930..02a54a2cf4751 100644 --- a/pkgs/applications/video/mpv/scripts/inhibit-gnome.nix +++ b/pkgs/applications/video/mpv/scripts/inhibit-gnome.nix @@ -1,4 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, gitUpdater, pkg-config, dbus, mpv-unwrapped }: +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + pkg-config, + dbus, + mpv-unwrapped, +}: stdenv.mkDerivation rec { pname = "mpv-inhibit-gnome"; @@ -10,13 +18,14 @@ stdenv.mkDerivation rec { rev = "v${version}"; hash = "sha256-LSGg5gAQE2JpepBqhz6D6d3NlqYaU4bjvYf1F+oLphQ="; }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus mpv-unwrapped ]; + buildInputs = [ + dbus + mpv-unwrapped + ]; passthru.scriptName = "mpv_inhibit_gnome.so"; diff --git a/pkgs/applications/video/mpv/scripts/manga-reader.nix b/pkgs/applications/video/mpv/scripts/manga-reader.nix index 9a9621cb34d0e..4d8007d98d8d7 100644 --- a/pkgs/applications/video/mpv/scripts/manga-reader.nix +++ b/pkgs/applications/video/mpv/scripts/manga-reader.nix @@ -22,7 +22,7 @@ buildLua rec { longDescription = '' mpv-manga-reader is a script aimed at making mpv a usable manga reader. ''; - homepage = "https://github.com//mpv-manga-reader"; + homepage = "https://github.com/Dudemanguy/mpv-manga-reader"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ idlip ]; }; diff --git a/pkgs/applications/video/mpv/scripts/memo.nix b/pkgs/applications/video/mpv/scripts/memo.nix index 5361b796268e1..5d9e2b50fae27 100644 --- a/pkgs/applications/video/mpv/scripts/memo.nix +++ b/pkgs/applications/video/mpv/scripts/memo.nix @@ -1,7 +1,8 @@ -{ fetchFromGitHub -, buildLua -, lib -, unstableGitUpdater +{ + fetchFromGitHub, + buildLua, + lib, + unstableGitUpdater, }: buildLua { @@ -15,10 +16,10 @@ buildLua { hash = "sha256-m8ikXuw7PM4Btg8w7ufLneKA4fnYjMyfVJYueZILMw8="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { - description = "A recent files menu for mpv"; + description = "Recent files menu for mpv"; homepage = "https://github.com/po5/memo"; license = licenses.gpl3Only; maintainers = with lib.maintainers; [ purrpurrn ]; diff --git a/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix b/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix index 36b20fe11205c..3ef673ab518f3 100644 --- a/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix +++ b/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix @@ -1,19 +1,20 @@ -{ lib -, buildLua -, fetchFromGitHub -, makeFontsConf -, nix-update-script +{ + lib, + buildLua, + fetchFromGitHub, + makeFontsConf, + nix-update-script, }: buildLua (finalAttrs: { pname = "modernx-zydezu"; - version = "0.2.9"; + version = "0.3.5.5"; scriptPath = "modernx.lua"; src = fetchFromGitHub { owner = "zydezu"; repo = "ModernX"; rev = finalAttrs.version; - hash = "sha256-Tq/v8EbojvOSSwbu8kdbLVxZWZNi1UH6zAPTcsUcgog"; + hash = "sha256-sPpVwI8w5JsP/jML0viOSqhyYBVKfxWuKbxHkX3GVug="; }; postInstall = '' @@ -31,9 +32,12 @@ buildLua (finalAttrs: { passthru.updateScript = nix-update-script { }; meta = with lib; { - description = "A modern OSC UI replacement for MPV that retains the functionality of the default OSC"; + description = "Modern OSC UI replacement for MPV that retains the functionality of the default OSC"; homepage = "https://github.com/zydezu/ModernX"; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ Guanran928 ]; + maintainers = with maintainers; [ + luftmensch-luftmensch + Guanran928 + ]; }; }) diff --git a/pkgs/applications/video/mpv/scripts/modernx.nix b/pkgs/applications/video/mpv/scripts/modernx.nix index 340b169a0c03d..28a50e15d5d83 100644 --- a/pkgs/applications/video/mpv/scripts/modernx.nix +++ b/pkgs/applications/video/mpv/scripts/modernx.nix @@ -1,8 +1,9 @@ -{ lib -, buildLua -, fetchFromGitHub -, makeFontsConf -, nix-update-script +{ + lib, + buildLua, + fetchFromGitHub, + makeFontsConf, + nix-update-script, }: buildLua (finalAttrs: { pname = "modernx"; @@ -31,7 +32,7 @@ buildLua (finalAttrs: { passthru.updateScript = nix-update-script { }; meta = with lib; { - description = "A modern OSC UI replacement for MPV that retains the functionality of the default OSC"; + description = "Modern OSC UI replacement for MPV that retains the functionality of the default OSC"; homepage = "https://github.com/cyl0/ModernX"; license = licenses.lgpl21Plus; maintainers = with maintainers; [ Guanran928 ]; diff --git a/pkgs/applications/video/mpv/scripts/mpris.nix b/pkgs/applications/video/mpv/scripts/mpris.nix index 7caaf24a8c9dc..fbb1a8f685838 100644 --- a/pkgs/applications/video/mpv/scripts/mpris.nix +++ b/pkgs/applications/video/mpv/scripts/mpris.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, gitUpdater, pkg-config, glib, mpv-unwrapped, ffmpeg }: +{ + lib, + stdenv, + fetchFromGitHub, + gitUpdater, + pkg-config, + glib, + mpv-unwrapped, + ffmpeg, +}: stdenv.mkDerivation rec { pname = "mpv-mpris"; @@ -10,11 +19,15 @@ stdenv.mkDerivation rec { rev = version; hash = "sha256-vZIO6ILatIWa9nJYOp4AMKwvaZLahqYWRLMDOizyBI0="; }; - passthru.updateScript = gitUpdater {}; + passthru.updateScript = gitUpdater { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib mpv-unwrapped ffmpeg ]; + buildInputs = [ + glib + mpv-unwrapped + ffmpeg + ]; postPatch = '' substituteInPlace Makefile --replace-fail 'PKG_CONFIG =' 'PKG_CONFIG ?=' diff --git a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix b/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix index a15f54d01ef22..c0c62867c1ee2 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-cheatsheet.nix @@ -1,8 +1,9 @@ -{ lib -, fetchFromGitHub -, gitUpdater -, nodePackages -, stdenvNoCC +{ + lib, + fetchFromGitHub, + gitUpdater, + nodePackages, + stdenvNoCC, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "mpv-cheatsheet"; @@ -16,9 +17,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; - nativeBuildInputs = [ - nodePackages.browserify - ]; + nativeBuildInputs = [ nodePackages.browserify ]; buildPhase = '' runHook preBuild @@ -36,7 +35,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru.scriptName = "cheatsheet.js"; meta = with lib; { diff --git a/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix b/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix index 04b03670b79f2..b103a45d275bf 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-notify-send.nix @@ -1,9 +1,11 @@ -{ lib -, buildLua -, fetchFromGitHub -, fetchpatch -, unstableGitUpdater -, libnotify }: +{ + lib, + buildLua, + fetchFromGitHub, + fetchpatch, + unstableGitUpdater, + libnotify, +}: buildLua rec { pname = "mpv-notify-send"; @@ -19,19 +21,23 @@ buildLua rec { patches = [ # show title of online videos instead of url (fetchpatch { - url = "https://github.com/emilazy/mpv-notify-send/pull/6.patch"; + name = "6.patch"; # https://github.com/emilazy/mpv-notify-send/pull/6 + url = "https://github.com/emilazy/mpv-notify-send/commit/948347e14890e15e89cd1e069beb1140e2d01dce.patch"; hash = "sha256-7aXQ8qeqG4yX0Uyn09xCIESnwPZsb6Frd7C49XgbpFw="; }) ]; passthru.extraWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath libnotify) + "--prefix" + "PATH" + ":" + (lib.makeBinPath libnotify) ]; passthru.updateScript = unstableGitUpdater { }; meta = with lib; { - description = "A Lua script for mpv to send notifications with notify-send"; + description = "Lua script for mpv to send notifications with notify-send"; homepage = "https://github.com/emilazy/mpv-notify-send"; license = licenses.wtfpl; maintainers = with maintainers; [ r3n3gad3p3arl ]; diff --git a/pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix b/pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix index ce32622d64d8f..0d2c292d702a0 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-osc-modern.nix @@ -1,8 +1,9 @@ -{ lib -, buildLua -, fetchFromGitHub -, makeFontsConf -, nix-update-script +{ + lib, + buildLua, + fetchFromGitHub, + makeFontsConf, + nix-update-script, }: buildLua (finalAttrs: { pname = "mpv-osc-modern"; diff --git a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix b/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix index ffc1e81eed5d0..00e44d1f94474 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix @@ -1,4 +1,10 @@ -{ lib, buildLua, fetchFromGitHub, unstableGitUpdater, yt-dlp }: +{ + lib, + buildLua, + fetchFromGitHub, + unstableGitUpdater, + yt-dlp, +}: buildLua rec { pname = "mpv-playlistmanager"; @@ -10,7 +16,7 @@ buildLua rec { rev = "1911dc053951169c98cfcfd9f44ef87d9122ca80"; hash = "sha256-pcdOMhkivLF5B86aNuHrqj77DuYLAFGlwFwY7jxkDkE="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; postPatch = '' substituteInPlace playlistmanager.lua \ diff --git a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix index cf66a6c78a297..c46388f7ebea4 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-slicing.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-slicing.nix @@ -26,7 +26,7 @@ buildLua { passthru.scriptName = "slicing.lua"; meta = { - description = "A lua script to cut fragments of the video in uncompressed RGB format"; + description = "Lua script to cut fragments of the video in uncompressed RGB format"; homepage = "https://github.com/Kagami/mpv_slicing"; license = lib.licenses.cc0; maintainers = with lib.maintainers; [ tomasajt ]; diff --git a/pkgs/applications/video/mpv/scripts/mpv-webm.nix b/pkgs/applications/video/mpv/scripts/mpv-webm.nix index efff9fa8ee169..409d86c193f42 100644 --- a/pkgs/applications/video/mpv/scripts/mpv-webm.nix +++ b/pkgs/applications/video/mpv/scripts/mpv-webm.nix @@ -1,19 +1,20 @@ -{ lib -, buildLua -, fetchFromGitHub -, luaPackages -, unstableGitUpdater +{ + lib, + buildLua, + fetchFromGitHub, + luaPackages, + unstableGitUpdater, }: buildLua { pname = "mpv-webm"; - version = "0-unstable-2024-04-22"; + version = "0-unstable-2024-05-13"; src = fetchFromGitHub { owner = "ekisu"; repo = "mpv-webm"; - rev = "225e8e53842f7da6f77034309c1e54293dc629a4"; - hash = "sha256-82xWiuOChxfzX6e0+cGFxTqyuiPefyVwpvLM5ka7nPk="; + rev = "8d4902b2aec92f40e4595ec9a411ab90488dcf4e"; + hash = "sha256-aPPVAZu9reDdyovSpDklYZYLaapKBclAx3lCYUMJt+w="; }; passthru.updateScript = unstableGitUpdater { # only "latest" tag pointing at HEAD diff --git a/pkgs/applications/video/mpv/scripts/mpv.nix b/pkgs/applications/video/mpv/scripts/mpv.nix index 06e9ccb4d74a8..ddf22e5dd03cf 100644 --- a/pkgs/applications/video/mpv/scripts/mpv.nix +++ b/pkgs/applications/video/mpv/scripts/mpv.nix @@ -1,24 +1,31 @@ -{ lib -, buildLua -, mpv-unwrapped +{ + lib, + buildLua, + mpv-unwrapped, }: -let mkBuiltin = name: args: - let srcPath = "TOOLS/lua/${name}.lua"; - in buildLua (lib.attrsets.recursiveUpdate rec { - inherit (mpv-unwrapped) src version; - pname = "mpv-${name}"; +let + mkBuiltin = + name: args: + let + srcPath = "TOOLS/lua/${name}.lua"; + in + buildLua ( + lib.attrsets.recursiveUpdate rec { + inherit (mpv-unwrapped) src version; + pname = "mpv-${name}"; - dontUnpack = true; - scriptPath = "${src}/${srcPath}"; + dontUnpack = true; + scriptPath = "${src}/${srcPath}"; - meta = with lib; { - inherit (mpv-unwrapped.meta) license; - homepage = "https://github.com/mpv-player/mpv/blob/v${version}/${srcPath}"; - }; - } args); - -in lib.mapAttrs (name: lib.makeOverridable (mkBuiltin name)) { + meta = with lib; { + inherit (mpv-unwrapped.meta) license; + homepage = "https://github.com/mpv-player/mpv/blob/v${version}/${srcPath}"; + }; + } args + ); +in +lib.mapAttrs (name: lib.makeOverridable (mkBuiltin name)) { acompressor.meta = { description = "Script to toggle and control ffmpeg's dynamic range compression filter."; maintainers = with lib.maintainers; [ nicoo ]; diff --git a/pkgs/applications/video/mpv/scripts/mpvacious.nix b/pkgs/applications/video/mpv/scripts/mpvacious.nix index abbe2ba747dbb..34776679aa257 100644 --- a/pkgs/applications/video/mpv/scripts/mpvacious.nix +++ b/pkgs/applications/video/mpv/scripts/mpvacious.nix @@ -1,25 +1,24 @@ -{ lib -, buildLua -, fetchFromGitHub -, gitUpdater -, curl -, wl-clipboard -, xclip +{ + lib, + buildLua, + fetchFromGitHub, + gitUpdater, + curl, + wl-clipboard, + xclip, }: buildLua rec { pname = "mpvacious"; - version = "0.33"; + version = "0.35"; src = fetchFromGitHub { owner = "Ajatt-Tools"; repo = "mpvacious"; rev = "v${version}"; - sha256 = "sha256-VHMXW2AzgX88EDnNshxo9Gh8mpXzRoTAq+58HKasUdo="; - }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; + sha256 = "sha256-LcO17zkGkXWqSjWPTA3cVwRnmSrhTlS3W4RhhYaKgY4="; }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; postPatch = '' substituteInPlace utils/forvo.lua \ diff --git a/pkgs/applications/video/mpv/scripts/occivink.nix b/pkgs/applications/video/mpv/scripts/occivink.nix index be3bdb07db8da..948a90c0d89b3 100644 --- a/pkgs/applications/video/mpv/scripts/occivink.nix +++ b/pkgs/applications/video/mpv/scripts/occivink.nix @@ -1,45 +1,49 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, buildLua +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + buildLua, }: let - camelToKebab = let - inherit (lib.strings) match stringAsChars toLower; - isUpper = match "[A-Z]"; - in stringAsChars (c: if isUpper c != null then "-${toLower c}" else c); + camelToKebab = + let + inherit (lib.strings) match stringAsChars toLower; + isUpper = match "[A-Z]"; + in + stringAsChars (c: if isUpper c != null then "-${toLower c}" else c); - mkScript = name: args: - let self = rec { - pname = camelToKebab name; - version = "0-unstable-2024-01-11"; - src = fetchFromGitHub { - owner = "occivink"; - repo = "mpv-scripts"; - rev = "d0390c8e802c2e888ff4a2e1d5e4fb040f855b89"; - hash = "sha256-pc2aaO7lZaoYMEXv5M0WI7PtmqgkNbdtNiLZZwVzppM="; - }; - passthru.updateScript = unstableGitUpdater {}; - - scriptPath = "scripts/${pname}.lua"; + mkScript = + name: args: + let + self = rec { + pname = camelToKebab name; + version = "0-unstable-2024-01-11"; + src = fetchFromGitHub { + owner = "occivink"; + repo = "mpv-scripts"; + rev = "d0390c8e802c2e888ff4a2e1d5e4fb040f855b89"; + hash = "sha256-pc2aaO7lZaoYMEXv5M0WI7PtmqgkNbdtNiLZZwVzppM="; + }; + passthru.updateScript = unstableGitUpdater { }; - meta = with lib; { - homepage = "https://github.com/occivink/mpv-scripts"; - license = licenses.unlicense; - maintainers = with maintainers; [ nicoo ]; - }; + scriptPath = "scripts/${pname}.lua"; - # Sadly needed to make `common-updaters` work here - pos = builtins.unsafeGetAttrPos "version" self; - }; - in buildLua (lib.attrsets.recursiveUpdate self args); + meta = with lib; { + homepage = "https://github.com/occivink/mpv-scripts"; + license = licenses.unlicense; + maintainers = with maintainers; [ nicoo ]; + }; + # Sadly needed to make `common-updaters` work here + pos = builtins.unsafeGetAttrPos "version" self; + }; + in + buildLua (lib.attrsets.recursiveUpdate self args); in lib.mapAttrs (name: lib.makeOverridable (mkScript name)) { # Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.seekTo ]; }` seekTo.meta.description = "Mpv script for seeking to a specific position"; - blacklistExtensions.meta.description = - "Automatically remove playlist entries based on their extension."; + blacklistExtensions.meta.description = "Automatically remove playlist entries based on their extension."; } diff --git a/pkgs/applications/video/mpv/scripts/quack.nix b/pkgs/applications/video/mpv/scripts/quack.nix index 646a7a524d18f..a1b32f2911811 100644 --- a/pkgs/applications/video/mpv/scripts/quack.nix +++ b/pkgs/applications/video/mpv/scripts/quack.nix @@ -1,7 +1,9 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, buildLua }: +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + buildLua, +}: buildLua rec { pname = "mpv-quack"; @@ -9,11 +11,11 @@ buildLua rec { version = "0-unstable-2020-05-27"; src = fetchFromGitHub { owner = "CounterPillow"; - repo = "mpv-quack"; - rev = "1c87f36f9726d462dd112188c04be54d85692cf3"; - hash = "sha256-dEnJbS8RJoAxpKINdoMHN4l7vpEdf7+C5JVWpK0VXMw="; + repo = "mpv-quack"; + rev = "1c87f36f9726d462dd112188c04be54d85692cf3"; + hash = "sha256-dEnJbS8RJoAxpKINdoMHN4l7vpEdf7+C5JVWpK0VXMw="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = { description = "Reduce audio volume after seeking"; diff --git a/pkgs/applications/video/mpv/scripts/quality-menu.nix b/pkgs/applications/video/mpv/scripts/quality-menu.nix index c75e810687132..36e5024b6aa8e 100644 --- a/pkgs/applications/video/mpv/scripts/quality-menu.nix +++ b/pkgs/applications/video/mpv/scripts/quality-menu.nix @@ -1,8 +1,9 @@ -{ lib -, buildLua -, fetchFromGitHub -, gitUpdater -, oscSupport ? false +{ + lib, + buildLua, + fetchFromGitHub, + gitUpdater, + oscSupport ? false, }: buildLua rec { @@ -15,14 +16,12 @@ buildLua rec { rev = "v${version}"; hash = "sha256-yrcTxqpLnOI1Tq3khhflO3wzhyeTPuvKifyH5/P57Ns="; }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; extraScripts = lib.optional oscSupport "quality-menu-osc.lua"; meta = with lib; { - description = "A userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly"; + description = "Userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly"; homepage = "https://github.com/christoph-heinrich/mpv-quality-menu"; license = licenses.gpl2Only; maintainers = with maintainers; [ lunik1 ]; diff --git a/pkgs/applications/video/mpv/scripts/reload.nix b/pkgs/applications/video/mpv/scripts/reload.nix index 426aabd7fe495..b9d9b4c43b05d 100644 --- a/pkgs/applications/video/mpv/scripts/reload.nix +++ b/pkgs/applications/video/mpv/scripts/reload.nix @@ -1,7 +1,9 @@ -{ lib -, fetchFromGitHub -, unstableGitUpdater -, buildLua }: +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + buildLua, +}: buildLua rec { pname = "mpv-reload"; @@ -9,11 +11,11 @@ buildLua rec { version = "0-unstable-2024-03-22"; src = fetchFromGitHub { owner = "4e6"; - repo = pname; - rev = "1a6a9383ba1774708fddbd976e7a9b72c3eec938"; - hash = "sha256-BshxCjec/UNGyiC0/g1Rai2NvG2qOIHXDDEUYwwdij0="; + repo = pname; + rev = "1a6a9383ba1774708fddbd976e7a9b72c3eec938"; + hash = "sha256-BshxCjec/UNGyiC0/g1Rai2NvG2qOIHXDDEUYwwdij0="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = { description = "Manual & automatic reloading of videos"; diff --git a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix index bf973c9206c71..55d55fdf59f83 100644 --- a/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix +++ b/pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix @@ -1,6 +1,8 @@ -{ lib, buildLua -, fetchFromGitHub -, gitUpdater +{ + lib, + buildLua, + fetchFromGitHub, + gitUpdater, }: buildLua rec { pname = "simple-mpv-ui"; @@ -11,19 +13,23 @@ buildLua rec { repo = "simple-mpv-webui"; rev = "v${version}"; hash = "sha256-I8lwpo3Hfpy3UnPMmHEJCdArVQnNL245NkxsYVmnMF0="; - sparseCheckout = [ "main.lua" "webui-page" ]; - }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; + sparseCheckout = [ + "main.lua" + "webui-page" + ]; }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; scriptPath = "."; passthru.scriptName = "webui"; meta = with lib; { - description = "A web based user interface with controls for the mpv mediaplayer"; + description = "Web based user interface with controls for the mpv mediaplayer"; homepage = "https://github.com/open-dynaMIX/simple-mpv-webui"; - maintainers = with maintainers; [ cript0nauta zopieux ]; + maintainers = with maintainers; [ + cript0nauta + zopieux + ]; longDescription = '' You can access the webui when accessing http://127.0.0.1:8080 or http://[::1]:8080 in your webbrowser. By default it listens on diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix b/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix index 2557db8313d6d..6818154590917 100644 --- a/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix +++ b/pkgs/applications/video/mpv/scripts/sponsorblock-minimal.nix @@ -1,4 +1,11 @@ -{ lib, buildLua, fetchFromGitea, unstableGitUpdater, curl, coreutils }: +{ + lib, + buildLua, + fetchFromGitea, + unstableGitUpdater, + curl, + coreutils, +}: buildLua { pname = "mpv_sponsorblock_minimal"; @@ -21,8 +28,7 @@ buildLua { ''; meta = with lib; { - description = - "A minimal script to skip sponsored segments of YouTube videos"; + description = "Minimal script to skip sponsored segments of YouTube videos"; homepage = "https://codeberg.org/jouni/mpv_sponsorblock_minimal"; license = licenses.gpl3Only; platforms = platforms.all; diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix index 6caa10045c484..16e8841abf5b6 100644 --- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix +++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix @@ -1,4 +1,11 @@ -{ lib, buildLua, fetchFromGitHub, fetchpatch, python3, nix-update-script }: +{ + lib, + buildLua, + fetchFromGitHub, + fetchpatch, + python3, + nix-update-script, +}: # Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }` buildLua { @@ -34,9 +41,7 @@ buildLua { extraScripts = [ "sponsorblock_shared" ]; - passthru.updateScript = nix-update-script { - extraArgs = [ "--version=branch" ]; - }; + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; meta = with lib; { description = "Script for mpv to skip sponsored segments of YouTube videos"; diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/applications/video/mpv/scripts/thumbfast.nix index f5595f637b080..158e1f38b32b3 100644 --- a/pkgs/applications/video/mpv/scripts/thumbfast.nix +++ b/pkgs/applications/video/mpv/scripts/thumbfast.nix @@ -1,4 +1,10 @@ -{ lib, fetchFromGitHub, unstableGitUpdater, buildLua, mpv-unwrapped }: +{ + lib, + fetchFromGitHub, + unstableGitUpdater, + buildLua, + mpv-unwrapped, +}: buildLua { pname = "mpv-thumbfast"; @@ -10,10 +16,13 @@ buildLua { rev = "03e93feee5a85bf7c65db953ada41b4826e9f905"; hash = "sha256-5u5WBvWOEydJrnr/vilEgW4+fxkxM6wNjb9Fyyxx/1c="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; passthru.extraWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ mpv-unwrapped ]) + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ mpv-unwrapped ]) ]; meta = { diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix index 40c4fa8776d84..fc37b1a50dea8 100644 --- a/pkgs/applications/video/mpv/scripts/thumbnail.nix +++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix @@ -1,16 +1,22 @@ -{ lib, buildLua, fetchFromGitHub, gitUpdater, python3 }: +{ + lib, + buildLua, + fetchFromGitHub, + gitUpdater, + python3, +}: buildLua rec { pname = "mpv-thumbnail-script"; - version = "0.5.3"; + version = "0.5.4"; src = fetchFromGitHub { owner = "marzzzello"; repo = "mpv_thumbnail_script"; rev = version; - sha256 = "sha256-J24Rou7BTE7zoiPlBkWuO9dtYJiuzkuwB4FROuzXzag="; + sha256 = "sha256-nflavx25skLj9kitneL6Uz3zI2DyMMhQC595npofzbQ="; }; - passthru.updateScript = gitUpdater {}; + passthru.updateScript = gitUpdater { }; nativeBuildInputs = [ python3 ]; postPatch = "patchShebangs concat_files.py"; @@ -21,7 +27,7 @@ buildLua rec { passthru.scriptName = "mpv_thumbnail_script_{client_osc,server}.lua"; meta = with lib; { - description = "A lua script to show preview thumbnails in mpv's OSC seekbar"; + description = "Lua script to show preview thumbnails in mpv's OSC seekbar"; homepage = "https://github.com/marzzzello/mpv_thumbnail_script"; changelog = "https://github.com/marzzzello/mpv_thumbnail_script/releases/tag/${version}"; license = licenses.gpl3Plus; diff --git a/pkgs/applications/video/mpv/scripts/uosc.nix b/pkgs/applications/video/mpv/scripts/uosc.nix index 61eb65f9bf9f3..45b359a42a83d 100644 --- a/pkgs/applications/video/mpv/scripts/uosc.nix +++ b/pkgs/applications/video/mpv/scripts/uosc.nix @@ -1,10 +1,10 @@ -{ lib -, fetchFromGitHub -, fetchpatch -, gitUpdater -, makeFontsConf -, buildLua -, buildGoModule +{ + lib, + fetchFromGitHub, + gitUpdater, + makeFontsConf, + buildLua, + buildGoModule, }: buildLua (finalAttrs: { @@ -18,7 +18,7 @@ buildLua (finalAttrs: { rev = finalAttrs.version; hash = "sha256-0GPDna9uOuhFDhA9A1fbkoKkgSB76qiDzJVQ9gjGcWo="; }; - passthru.updateScript = gitUpdater {}; + passthru.updateScript = gitUpdater { }; tools = buildGoModule { pname = "uosc-bin"; diff --git a/pkgs/applications/video/mpv/scripts/videoclip.nix b/pkgs/applications/video/mpv/scripts/videoclip.nix index fff5b788b0286..82f912677f14c 100644 --- a/pkgs/applications/video/mpv/scripts/videoclip.nix +++ b/pkgs/applications/video/mpv/scripts/videoclip.nix @@ -1,30 +1,33 @@ -{ lib -, fetchFromGitHub -, curl -, xclip -, wl-clipboard -, stdenv -, buildLua -, unstableGitUpdater +{ + lib, + fetchFromGitHub, + curl, + xclip, + wl-clipboard, + stdenv, + buildLua, + unstableGitUpdater, }: buildLua { pname = "videoclip"; - version = "0-unstable-2024-03-08"; + version = "0-unstable-2024-05-26"; src = fetchFromGitHub { owner = "Ajatt-Tools"; repo = "videoclip"; - rev = "0e3f2245b03e888c14c093a50261e0f54ecdf8e8"; - hash = "sha256-Sg6LHU9OVmVx3cTs8Y0WL8wACb5BlVyeBRccoX+7BXY="; + rev = "4fd40d66c95905ed828ca77b7120732014b93ac5"; + hash = "sha256-Q40a7BBY4c7I5g9HkeV6Twv/PDPBDKTlnxkILw99pxU="; }; - patchPhase = '' - substituteInPlace platform.lua \ - --replace \'curl\' \'${lib.getExe curl}\' \ - '' + lib.optionalString stdenv.isLinux '' - --replace xclip ${lib.getExe xclip} \ - --replace wl-copy ${lib.getExe' wl-clipboard "wl-copy"} - ''; + patchPhase = + '' + substituteInPlace platform.lua \ + --replace \'curl\' \'${lib.getExe curl}\' \ + '' + + lib.optionalString stdenv.isLinux '' + --replace xclip ${lib.getExe xclip} \ + --replace wl-copy ${lib.getExe' wl-clipboard "wl-copy"} + ''; scriptPath = "."; passthru.scriptName = "videoclip"; diff --git a/pkgs/applications/video/mpv/scripts/visualizer.nix b/pkgs/applications/video/mpv/scripts/visualizer.nix index 332604286847a..0308e6477d79f 100644 --- a/pkgs/applications/video/mpv/scripts/visualizer.nix +++ b/pkgs/applications/video/mpv/scripts/visualizer.nix @@ -14,11 +14,11 @@ buildLua { rev = "b4246984ba6dc6820adef5c8bbf793af85c9ab8e"; sha256 = "ZNUzw4OW7z+yGTxim7CCWJdWmihDFOQAQk3bC5Ijcbs="; }; - passthru.updateScript = unstableGitUpdater {}; + passthru.updateScript = unstableGitUpdater { }; meta = with lib; { description = "various audio visualization"; homepage = "https://github.com/mfcc64/mpv-scripts"; - maintainers = with maintainers; [kmein]; + maintainers = with maintainers; [ kmein ]; }; } diff --git a/pkgs/applications/video/mpv/scripts/vr-reversal.nix b/pkgs/applications/video/mpv/scripts/vr-reversal.nix index f68e4566f9210..6fb91e9ad780a 100644 --- a/pkgs/applications/video/mpv/scripts/vr-reversal.nix +++ b/pkgs/applications/video/mpv/scripts/vr-reversal.nix @@ -1,4 +1,10 @@ -{ lib, stdenvNoCC, fetchFromGitHub, gitUpdater, ffmpeg }: +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, + ffmpeg, +}: stdenvNoCC.mkDerivation rec { pname = "vr-reversal"; @@ -10,9 +16,7 @@ stdenvNoCC.mkDerivation rec { rev = "v${version}"; sha256 = "1wn2ngcvn7wcsl3kmj782x5q9130qw951lj6ilrkafp6q6zscpqr"; }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; dontBuild = true; @@ -29,7 +33,7 @@ stdenvNoCC.mkDerivation rec { passthru.scriptName = "360plugin.lua"; meta = with lib; { - description = "Script for mpv to play VR video with optional saving of head tracking data."; + description = "Script for mpv to play VR video with optional saving of head tracking data"; homepage = "https://github.com/dfaker/VR-reversal"; license = licenses.unlicense; platforms = platforms.all; diff --git a/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix b/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix index 08967c3f28451..b423281a3ba38 100644 --- a/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix +++ b/pkgs/applications/video/mpv/scripts/webtorrent-mpv-hook.nix @@ -1,4 +1,11 @@ -{ lib, buildNpmPackage, fetchFromGitHub, gitUpdater, nodejs, python3 }: +{ + lib, + buildNpmPackage, + fetchFromGitHub, + gitUpdater, + nodejs, + python3, +}: buildNpmPackage rec { pname = "webtorrent-mpv-hook"; @@ -10,9 +17,7 @@ buildNpmPackage rec { rev = "v${version}"; hash = "sha256-/dMtXcIyfAs++Zgz2CxRW0tkzn5QjS+WVGChlCyrU0U="; }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - }; + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; postPatch = '' substituteInPlace src/webtorrent.ts --replace-fail "node_path: 'node'" "node_path: '${lib.getExe nodejs}'" diff --git a/pkgs/applications/video/mpv/scripts/youtube-upnext.nix b/pkgs/applications/video/mpv/scripts/youtube-upnext.nix index ec5da9161a036..ecd71353d6a3b 100644 --- a/pkgs/applications/video/mpv/scripts/youtube-upnext.nix +++ b/pkgs/applications/video/mpv/scripts/youtube-upnext.nix @@ -1,4 +1,10 @@ -{ buildLua, fetchFromGitHub, curl, unstableGitUpdater, lib }: +{ + buildLua, + fetchFromGitHub, + curl, + unstableGitUpdater, + lib, +}: buildLua rec { pname = "youtube-upnext"; @@ -19,7 +25,7 @@ buildLua rec { passthru.updateScript = unstableGitUpdater { }; meta = with lib; { - description = "A userscript that allows you to play 'up next'/recommended youtube videos"; + description = "Userscript that allows you to play 'up next'/recommended youtube videos"; homepage = "https://github.com/cvzi/mpv-youtube-upnext"; maintainers = with maintainers; [ bddvlpr ]; license = licenses.unfree; diff --git a/pkgs/applications/video/mpv/wrapper.nix b/pkgs/applications/video/mpv/wrapper.nix index b427318121ef0..533ede74f8744 100644 --- a/pkgs/applications/video/mpv/wrapper.nix +++ b/pkgs/applications/video/mpv/wrapper.nix @@ -7,21 +7,23 @@ , symlinkJoin , writeTextDir , yt-dlp +# the unwrapped mpv derivation +, mpv }: -# the unwrapped mpv derivation - 1st argument to `wrapMpv` -mpv: - let - # arguments to the function (exposed as `wrapMpv` in all-packages.nix) + # arguments to the function (exposed as `mpv-unwrapped.wrapper` in top-level) wrapper = { + mpv, 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 + # 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/`. - # A script can optionally also provide an `extraWrapperArgs` passthru attribute. + # + # A script can optionally also provide `passthru.extraWrapperArgs` + # attribute. scripts ? [], extraUmpvWrapperArgs ? [] }: diff --git a/pkgs/applications/video/multiviewer-for-f1/default.nix b/pkgs/applications/video/multiviewer-for-f1/default.nix index 46e425992c155..1274009ba707e 100644 --- a/pkgs/applications/video/multiviewer-for-f1/default.nix +++ b/pkgs/applications/video/multiviewer-for-f1/default.nix @@ -23,15 +23,15 @@ , xorg }: let - id = "154421934"; + id = "168727396"; in stdenvNoCC.mkDerivation rec { pname = "multiviewer-for-f1"; - version = "1.31.3"; + version = "1.32.1"; src = fetchurl { url = "https://releases.multiviewer.dev/download/${id}/multiviewer-for-f1_${version}_amd64.deb"; - sha256 = "sha256-lFES+ukkI/GqKQdZwtaB+ov0hqAyFZ2N533LBKJ9oXg="; + sha256 = "sha256-cnfye5c3+ZYZLjlZ6F4OD90tXhxDbgbNBn98mgmZ+Hs="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix index 07e8be2bea719..ce3ae604e7d1f 100644 --- a/pkgs/applications/video/mythtv/default.nix +++ b/pkgs/applications/video/mythtv/default.nix @@ -1,4 +1,4 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch, which, qtbase, qtwebkit, qtscript +{ lib, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript , libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsa-lib, freetype , perl, pkg-config , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index ea379e6ffc51f..ec19f26e8a156 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "advanced-scene-switcher"; - version = "1.25.5"; + version = "1.26.4"; src = fetchFromGitHub { owner = "WarmUpTill"; repo = "SceneSwitcher"; rev = version; - hash = "sha256-ROR+R1Zak8XkhFk1+Pyi0lB+JZI4SVtKGin4vem7NEE="; + hash = "sha256-qUKywOfUiGKBmyREns2LnWECGeFhdA4ecpgGJQAIKpU="; }; nativeBuildInputs = [ @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { env.NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow"; meta = with lib; { - description = "An automated scene switcher for OBS Studio"; + description = "Automated scene switcher for OBS Studio"; homepage = "https://github.com/WarmUpTill/SceneSwitcher"; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix index df4ec89316b33..8a0f9adcca067 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-command-source.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "OBS Studio plugin that provides a dummy source to execute arbitrary commands when a scene is switched."; + description = "OBS Studio plugin that provides a dummy source to execute arbitrary commands when a scene is switched"; homepage = "https://github.com/norihiro/command-source"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix b/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix index c1f2073ae6e14..16b4b2c34fbf6 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing"; + description = "Comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing"; homepage = "https://github.com/FiniteSingularity/obs-composite-blur"; license = licenses.gpl2Only; maintainers = with maintainers; [ GaetanLepage ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix index c34f821d7c6ad..d6341eba53425 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "An OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio"; + description = "OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio"; homepage = "https://github.com/fzwoch/obs-gstreamer"; maintainers = with maintainers; [ ahuzik pedrohlc ]; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix index f9a09b450bbb2..e464079da93c7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "obs-move-transition"; - version = "2.12.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-move-transition"; rev = version; - sha256 = "sha256-Y0FTNxwpCOp/3XkHxZ4H0ja840R7/c2dTDImUf5iZQE="; + sha256 = "sha256-LZL9f/pX74rKW+wnNHGKwGuuISOTcFVr6W9h/JEK0U4="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix index 0a98afde99f0f..fd683f3a4ccf7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-mute-filter.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "obs-mute-filter"; - version = "0.2.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "norihiro"; repo = "obs-mute-filter"; rev = version; - sha256 = "sha256-SiutSmp+DnzMU62kxtBUL0xgMXTe0k+nKwSU3wQe4+g="; + sha256 = "sha256-UVYN9R7TnwD3a+KIYTXvxOQWfNUtR8cSWUoKZuNoBJc="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix index 037eda100611f..f58d81e9b706b 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-ndi/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "obs-ndi"; - version = "4.13.0"; + version = "4.13.2"; nativeBuildInputs = [ cmake qtbase ]; buildInputs = [ obs-studio qtbase ndi ]; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { owner = "Palakis"; repo = "obs-ndi"; rev = version; - sha256 = "sha256-ugAMSTXbbIZ61oWvoggVJ5kZEgp/waEcWt89AISrSdE="; + sha256 = "sha256-DVUoLV2jCdD8qXSpmGvqjrQh02dCLroKsUAb5+lYTog="; }; patches = [ diff --git a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix index 7e2bd12581df7..aff227211e4d7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-rgb-levels-filter.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "A simple OBS Studio filter to adjust RGB levels."; + description = "Simple OBS Studio filter to adjust RGB levels"; homepage = "https://github.com/wimpysworld/obs-rgb-levels-filter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix index f400fced2ac08..b76b6e9d7f2b7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "OBS Studio filter for applying an arbitrary shader to a source."; + description = "OBS Studio filter for applying an arbitrary shader to a source"; homepage = "https://github.com/exeldro/obs-shaderfilter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix b/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix index 246729639e40a..a057b88dbfc55 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-teleport/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "obs-teleport"; - version = "0.7.1"; + version = "0.7.2"; src = fetchFromGitHub { owner = "fzwoch"; repo = "obs-teleport"; rev = version; - sha256 = "sha256-vT5GhZQFunQURgnFI3RSGVlwvcWEW588MuJ+Ev7IZ7w="; + sha256 = "sha256-71fvaqjesLhCdK3dHodAtMNYhU6LGX4wkHSPgQJPYqo="; }; - vendorHash = "sha256-Po7Oj+wdBOOFI2Ws9MLZQxk4N6mE58M+3q+qNlUrqOY="; + vendorHash = "sha256-INJvecUwHMauoqqyd6S2JvZ/oqnwonbdbGhV8hdqiH8="; buildInputs = [ libjpeg @@ -45,7 +45,7 @@ buildGoModule rec { passthru.updateScript = nix-update-script { }; meta = { - description = "An OBS Studio plugin for an open NDI-like replacement"; + description = "OBS Studio plugin for an open NDI-like replacement"; homepage = "https://github.com/fzwoch/obs-teleport"; maintainers = [ ]; license = lib.licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix b/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix index 3fcc893b0d347..8819f4f53779d 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "obs-text-pthread"; - version = "2.0.3"; + version = "2.0.4"; src = fetchFromGitHub { owner = "norihiro"; repo = "obs-text-pthread"; rev = version; - sha256 = "sha256-iwPoFbXkWzwE3smWJ+//ZUayD5OO/3iMSoYUTR3LVks="; + sha256 = "sha256-3Y++zpy5TEp8AtyRw+1fZDEFY9AuN7JpUNqUhM7h04U="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix b/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix index 61165bbf6cbbf..ed8aadb52ae7b 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-transition-table.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Plugin for OBS Studio to add a Transition Table to the tools menu."; + description = "Plugin for OBS Studio to add a Transition Table to the tools menu"; homepage = "https://github.com/exeldro/obs-transition-table"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix b/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix index 82767da10d998..7b6f98c2b63d7 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-vertical-canvas.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "obs-vertical-canvas"; - version = "1.4.2"; + version = "1.4.3"; src = fetchFromGitHub { owner = "Aitum"; repo = "obs-vertical-canvas"; rev = version; - sha256 = "sha256-3lFM7bOzsKex6JUdbcw8MNS4PRzaN/E/vngdukgfV0s="; + sha256 = "sha256-nzuPjVwtWGPSNLnWNT4D03j1xZp37HH77t1DnilSQ8E="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix index 6c5e97cc1588a..9c3278a3c34ed 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-vintage-filter.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "An OBS Studio filter where the source can be set to be black & white or sepia."; + description = "OBS Studio filter where the source can be set to be black & white or sepia"; homepage = "https://github.com/cg2121/obs-vintage-filter"; maintainers = with maintainers; [ flexiondotorg ]; license = licenses.gpl2Plus; diff --git a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix index 360b3fb349f68..d6017a649362b 100644 --- a/pkgs/applications/video/obs-studio/plugins/wlrobs.nix +++ b/pkgs/applications/video/obs-studio/plugins/wlrobs.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { buildInputs = [ wayland obs-studio libX11 ]; meta = with lib; { - description = "An obs-studio plugin that allows you to screen capture on wlroots based wayland compositors"; + description = "Obs-studio plugin that allows you to screen capture on wlroots based wayland compositors"; homepage = "https://hg.sr.ht/~scoopta/wlrobs"; maintainers = with maintainers; [ grahamc ]; license = licenses.gpl3Plus; diff --git a/pkgs/applications/video/omxplayer/default.nix b/pkgs/applications/video/omxplayer/default.nix index e01d0a2f49c7a..c9c77c1bbcb95 100644 --- a/pkgs/applications/video/omxplayer/default.nix +++ b/pkgs/applications/video/omxplayer/default.nix @@ -64,7 +64,7 @@ let meta = { homepage = "http://www.ffmpeg.org/"; - description = "A complete, cross-platform solution to record, convert and stream audio and video"; + description = "Complete, cross-platform solution to record, convert and stream audio and video"; }; }; in diff --git a/pkgs/applications/video/open-in-mpv/default.nix b/pkgs/applications/video/open-in-mpv/default.nix index e6f820528882e..855af79e964e8 100644 --- a/pkgs/applications/video/open-in-mpv/default.nix +++ b/pkgs/applications/video/open-in-mpv/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "open-in-mpv"; - version = "2.2.0"; + version = "2.2.2"; src = fetchFromGitHub { owner = "Baldomo"; repo = "open-in-mpv"; rev = "v${version}"; - hash = "sha256-+sP8/wILBkT3NnhENDYZbOwqOufkFyMJFpQxquuUBEs="; + hash = "sha256-dmsI4ea9L50djT/vwjswWDZ7uwMzc2q84i0T82LGjxs="; }; vendorHash = "sha256-G6GZO2+CfEAYcf7zBcqDa808A0eJjM8dq7+4VGZ+P4c="; diff --git a/pkgs/applications/video/p2pvc/default.nix b/pkgs/applications/video/p2pvc/default.nix index ec2f0c95f8998..703676b4615d9 100644 --- a/pkgs/applications/video/p2pvc/default.nix +++ b/pkgs/applications/video/p2pvc/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { }; meta = { - description = "A point to point color terminal video chat"; + description = "Point to point color terminal video chat"; homepage = "https://github.com/mofarrell/p2pvc"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ trino ]; diff --git a/pkgs/applications/video/pipe-viewer/default.nix b/pkgs/applications/video/pipe-viewer/default.nix index 3f7f89a7b30cd..854e4c6ba4bc3 100644 --- a/pkgs/applications/video/pipe-viewer/default.nix +++ b/pkgs/applications/video/pipe-viewer/default.nix @@ -38,13 +38,13 @@ let in buildPerlModule rec { pname = "pipe-viewer"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "trizen"; repo = "pipe-viewer"; rev = version; - hash = "sha256-tNIAGvv3dCPd7MA27yd2AHMSgs+1D2uiJJTQgTsEVNU="; + hash = "sha256-GTmva1pDG1g2wZoS3ABYxhWdbARdlcS0rxGjkdJL7js="; }; nativeBuildInputs = [ makeWrapper ] diff --git a/pkgs/applications/video/prism/default.nix b/pkgs/applications/video/prism/default.nix index 68ef965ec1ab1..a2f42aa00c4e3 100644 --- a/pkgs/applications/video/prism/default.nix +++ b/pkgs/applications/video/prism/default.nix @@ -14,7 +14,7 @@ buildGoModule rec { vendorHash = "sha256-uKtVifw4dxJdVvHxytL+9qjXHEdTyiz8U8n/95MObdY="; meta = with lib; { - description = "An RTMP stream recaster/splitter"; + description = "RTMP stream recaster/splitter"; homepage = "https://github.com/muesli/prism"; license = licenses.mit; maintainers = with maintainers; [ paperdigits ]; diff --git a/pkgs/applications/video/pyca/default.nix b/pkgs/applications/video/pyca/default.nix index 88ae198936539..5ca1e59d107bb 100644 --- a/pkgs/applications/video/pyca/default.nix +++ b/pkgs/applications/video/pyca/default.nix @@ -73,7 +73,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { broken = stdenv.isDarwin; - description = "A fully functional Opencast capture agent written in Python"; + description = "Fully functional Opencast capture agent written in Python"; mainProgram = "pyca"; homepage = "https://github.com/opencast/pyCA"; license = licenses.lgpl3; diff --git a/pkgs/applications/video/qarte/default.nix b/pkgs/applications/video/qarte/default.nix index cbbf1f3076201..60b773d3aede5 100644 --- a/pkgs/applications/video/qarte/default.nix +++ b/pkgs/applications/video/qarte/default.nix @@ -38,7 +38,7 @@ in mkDerivation { meta = with lib; { homepage = "https://launchpad.net/qarte"; - description = "A recorder for Arte TV Guide and Arte Concert"; + description = "Recorder for Arte TV Guide and Arte Concert"; license = licenses.gpl3; maintainers = with maintainers; [ vbgl ]; platforms = platforms.linux; diff --git a/pkgs/applications/video/qmediathekview/default.nix b/pkgs/applications/video/qmediathekview/default.nix index 3596791034979..0e8f3bfb584bc 100644 --- a/pkgs/applications/video/qmediathekview/default.nix +++ b/pkgs/applications/video/qmediathekview/default.nix @@ -32,7 +32,7 @@ mkDerivation rec { installFlags = [ "INSTALL_ROOT=$(out)" ]; meta = with lib; { - description = "An alternative Qt-based front-end for the database maintained by the MediathekView project"; + description = "Alternative Qt-based front-end for the database maintained by the MediathekView project"; inherit (src.meta) homepage; license = licenses.gpl3Plus; platforms = platforms.linux; diff --git a/pkgs/applications/video/rtabmap/default.nix b/pkgs/applications/video/rtabmap/default.nix index b44389045187c..3b457530fbf29 100644 --- a/pkgs/applications/video/rtabmap/default.nix +++ b/pkgs/applications/video/rtabmap/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , pkg-config , cmake , opencv @@ -27,13 +26,13 @@ stdenv.mkDerivation rec { pname = "rtabmap"; - version = "0.21.4"; + version = "0.21.4.1"; src = fetchFromGitHub { owner = "introlab"; repo = "rtabmap"; rev = "refs/tags/${version}"; - hash = "sha256-HrIATYRuhFfTlO4oTRZo7CM30LFVyatZJON31Fe4HTQ="; + hash = "sha256-y/p1uFSxVQNXO383DLGCg4eWW7iu1esqpWlyPMF3huk="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook wrapGAppsHook3 ]; diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix index 301fc3e30f82c..59e53f3ccdc85 100644 --- a/pkgs/applications/video/screenkey/default.nix +++ b/pkgs/applications/video/screenkey/default.nix @@ -60,7 +60,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { homepage = "https://www.thregr.org/~wavexx/software/screenkey/"; - description = "A screencast tool to display your keys inspired by Screenflick"; + description = "Screencast tool to display your keys inspired by Screenflick"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.rasendubi ]; diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix index 87732ad75b8cc..5427594b1e40b 100644 --- a/pkgs/applications/video/shotcut/default.nix +++ b/pkgs/applications/video/shotcut/default.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { }; meta = with lib; { - description = "A free, open source, cross-platform video editor"; + description = "Free, open source, cross-platform video editor"; longDescription = '' An official binary for Shotcut, which includes all the dependencies pinned to specific versions, is provided on diff --git a/pkgs/applications/video/showmethekey/default.nix b/pkgs/applications/video/showmethekey/default.nix deleted file mode 100644 index ef30ed13784c0..0000000000000 --- a/pkgs/applications/video/showmethekey/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, libevdev -, json-glib -, libinput -, gtk4 -, libadwaita -, wrapGAppsHook4 -, libxkbcommon -, pkg-config -}: - -stdenv.mkDerivation rec { - pname = "showmethekey"; - version = "1.13.0"; - - src = fetchFromGitHub { - owner = "AlynxZhou"; - repo = "showmethekey"; - rev = "refs/tags/v${version}"; - hash = "sha256-pVFkO/+a7GAOXbYBfU0zcO/uD26PX+y02bEZa3f1ZP8="; - }; - - nativeBuildInputs = [ - meson - ninja - json-glib - pkg-config - wrapGAppsHook4 - ]; - - buildInputs = [ - gtk4 - libadwaita - libevdev - libinput - libxkbcommon - ]; - - meta = with lib; { - description = "Show keys you typed on screen"; - homepage = "https://showmethekey.alynx.one/"; - changelog = "https://github.com/AlynxZhou/showmethekey/releases/tag/v${version}"; - license = licenses.asl20; - platforms = platforms.linux; - maintainers = with maintainers; [ ocfox ]; - }; -} diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index cbeb325e7ce09..8e30dc3e6358c 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,16 +1,16 @@ { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_4, libjack2, libX11, libXext, libXinerama, qtx11extras -, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja +, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja, nix-update-script }: mkDerivation rec { pname = "simplescreenrecorder"; - version = "0.4.3"; + version = "0.4.4"; src = fetchFromGitHub { owner = "MaartenBaert"; repo = "ssr"; rev = version; - sha256 = "0mrx8wprs8bi42fwwvk6rh634ic9jnn0gkfpd6q9pcawnnbz3vq8"; + sha256 = "sha256-cVjQmyk+rCqmDJzdnDk7bQ8kpyD3HtTw3wLVx2thHok="; }; cmakeFlags = [ @@ -18,14 +18,13 @@ mkDerivation rec { "-DWITH_GLINJECT=${if stdenv.hostPlatform.isx86 then "TRUE" else "FALSE"}" ]; - patches = [ ./fix-paths.patch ]; - postPatch = '' - for i in scripts/ssr-glinject src/AV/Input/GLInjectInput.cpp; do - substituteInPlace $i \ - --subst-var out \ - --subst-var-by sh ${stdenv.shell} - done + substituteInPlace scripts/ssr-glinject \ + --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" + + substituteInPlace src/AV/Input/GLInjectInput.cpp \ + --replace-fail "/bin/sh" "${stdenv.shell}" \ + --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so" ''; nativeBuildInputs = [ pkg-config cmake ninja ]; @@ -34,8 +33,10 @@ mkDerivation rec { libpulseaudio libv4l qtbase qttools qtx11extras ]; + passthru.updateScript = nix-update-script { }; + meta = with lib; { - description = "A screen recorder for Linux"; + description = "Screen recorder for Linux"; homepage = "https://www.maartenbaert.be/simplescreenrecorder"; license = licenses.gpl3Plus; platforms = platforms.linux; diff --git a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch deleted file mode 100644 index 9cf634285fcbf..0000000000000 --- a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/scripts/ssr-glinject b/scripts/ssr-glinject -index 48be48d..5038d4c 100755 ---- a/scripts/ssr-glinject -+++ b/scripts/ssr-glinject -@@ -59,6 +59,6 @@ do - fi - done - --echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:libssr-glinject.so" -+echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:@out@/lib/libssr-glinject.so" - echo "ssr-glinject: command = $@" --LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@" -+LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@" -diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp -index fc98f31..18f5196 100644 ---- a/src/AV/Input/GLInjectInput.cpp -+++ b/src/AV/Input/GLInjectInput.cpp -@@ -113,7 +113,7 @@ bool ExecuteDetached(const char* command, const char* working_directory) { - - // try to execute command - do { -- res = execl("/bin/sh", "/bin/sh", "-c", command, (char*) NULL); -+ res = execl("@sh@", "@sh@", "-c", command, (char*) NULL); - } while(res == -1 and errno == EINTR); - - // failed, send feedback -@@ -207,7 +207,7 @@ void GLInjectInput::SetCapturing(bool capturing) { - bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) { - - // prepare command -- QString full_command = "LD_PRELOAD=\"libssr-glinject.so\" "; -+ QString full_command = "LD_PRELOAD=\"@out@/lib/libssr-glinject.so\" "; - full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" "; - if(relax_permissions) - full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 "; diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix deleted file mode 100644 index 513468cb16cf0..0000000000000 --- a/pkgs/applications/video/smplayer/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, qmake -, qtscript -, wrapQtAppsHook -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "smplayer"; - version = "23.12.0"; - - src = fetchFromGitHub { - owner = "smplayer-dev"; - repo = "smplayer"; - rev = "v${finalAttrs.version}"; - hash = "sha256-ip4y9GF2u1yl1Ts8T9XcFg9wdXVTYXfDrrPuHLz6oSs="; - }; - - nativeBuildInputs = [ - qmake - wrapQtAppsHook - ]; - - buildInputs = [ - qtscript - ]; - - dontUseQmakeConfigure = true; - - makeFlags = [ - "PREFIX=${placeholder "out"}" - ]; - - meta = { - homepage = "https://www.smplayer.info"; - description = "A complete front-end for MPlayer"; - longDescription = '' - SMPlayer is a free media player for Windows and Linux with built-in codecs - that can play virtually all video and audio formats. It doesn't need any - external codecs. Just install SMPlayer and you'll be able to play all - formats without the hassle to find and install codec packs. - - One of the most interesting features of SMPlayer: it remembers the - settings of all files you play. So you start to watch a movie but you have - to leave... don't worry, when you open that movie again it will be resumed - at the same point you left it, and with the same settings: audio track, - subtitles, volume... - - SMPlayer is a graphical user interface (GUI) for the award-winning - MPlayer, which is capable of playing almost all known video and audio - formats. But apart from providing access for the most common and useful - options of MPlayer, SMPlayer adds other interesting features like the - possibility to play Youtube videos or download subtitles. - ''; - changelog = "https://github.com/smplayer-dev/smplayer/releases/tag/v${finalAttrs.version}"; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = lib.platforms.linux; - }; -}) -# TODO [ AndersonTorres ]: create a wrapper including mplayer/mpv diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index b6522aef23975..e5f0cac20b523 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -7,12 +7,12 @@ python3Packages.buildPythonApplication rec { pname = "streamlink"; - version = "6.7.3"; + version = "6.7.4"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Da+J+NOXW+n55LvaPQw6XiRhJJQ4Pc4Z1p21qMym/Xw="; + hash = "sha256-kzdTerEZ/ndSSl1mWq7Ou/sG4suN8o0SYNkodkJXUc4="; }; patches = [ @@ -42,6 +42,7 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ certifi + exceptiongroup isodate lxml pycountry @@ -55,7 +56,7 @@ python3Packages.buildPythonApplication rec { websocket-client ]; - meta = with lib; { + meta = { changelog = "https://github.com/streamlink/streamlink/raw/${version}/CHANGELOG.md"; description = "CLI for extracting streams from various websites to video player of your choosing"; homepage = "https://streamlink.github.io/"; @@ -66,8 +67,8 @@ python3Packages.buildPythonApplication rec { Streamlink is a fork of the livestreamer project. ''; - license = licenses.bsd2; + license = lib.licenses.bsd2; mainProgram = "streamlink"; - maintainers = with maintainers; [ dezgeg zraexy DeeUnderscore ]; + maintainers = with lib.maintainers; [ dezgeg zraexy DeeUnderscore ]; }; } diff --git a/pkgs/applications/video/stremio/default.nix b/pkgs/applications/video/stremio/default.nix index a967a872cd997..0aa5ab26e653c 100644 --- a/pkgs/applications/video/stremio/default.nix +++ b/pkgs/applications/video/stremio/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { meta = with lib; { mainProgram = "stremio"; - description = "A modern media center that gives you the freedom to watch everything you want."; + description = "Modern media center that gives you the freedom to watch everything you want"; homepage = "https://www.stremio.com/"; # (Server-side) web UI is closed source now, apparently they work on open-sourcing it. # server.js appears to be MIT-licensed, but I can't find how they actually build it. diff --git a/pkgs/applications/video/subdl/default.nix b/pkgs/applications/video/subdl/default.nix index 773d1f1ad4237..61b5af2f0b57b 100644 --- a/pkgs/applications/video/subdl/default.nix +++ b/pkgs/applications/video/subdl/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { meta = { homepage = "https://github.com/alexanderwink/subdl"; - description = "A command-line tool to download subtitles from opensubtitles.org"; + description = "Command-line tool to download subtitles from opensubtitles.org"; platforms = lib.platforms.all; license = lib.licenses.gpl3; maintainers = [ lib.maintainers.exfalso ]; diff --git a/pkgs/applications/video/subtitleedit/default.nix b/pkgs/applications/video/subtitleedit/default.nix index 924f0fc44e0eb..b192edbffa0e9 100644 --- a/pkgs/applications/video/subtitleedit/default.nix +++ b/pkgs/applications/video/subtitleedit/default.nix @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { pname = "subtitleedit"; - version = "4.0.5"; + version = "4.0.6"; src = fetchzip { url = "https://github.com/SubtitleEdit/subtitleedit/releases/download/${version}/SE${lib.replaceStrings [ "." ] [ "" ] version}.zip"; - hash = "sha256-qYDLUqC5adzpmlQIq/EKmrkN8D8/EHZmP8QUGAaYf+s="; + hash = "sha256-ipAqnF7rpSXccWkyTysUBrD0/mnv5AEA5GuxMJjW9Dg="; stripRoot = false; }; diff --git a/pkgs/applications/video/tartube/default.nix b/pkgs/applications/video/tartube/default.nix index 73f6946f6baaf..057484d379e84 100644 --- a/pkgs/applications/video/tartube/default.nix +++ b/pkgs/applications/video/tartube/default.nix @@ -69,7 +69,7 @@ python3Packages.buildPythonApplication rec { ]; meta = with lib; { - description = "A GUI front-end for youtube-dl"; + description = "GUI front-end for youtube-dl"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ mkg20001 luc65r ]; diff --git a/pkgs/applications/video/timelens/default.nix b/pkgs/applications/video/timelens/default.nix index c5d2ff7c4c5ad..b80d1c3c447b8 100644 --- a/pkgs/applications/video/timelens/default.nix +++ b/pkgs/applications/video/timelens/default.nix @@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec { ]; meta = { - description = "A open source project for creating visual timelines"; + description = "Open source project for creating visual timelines"; homepage = "https://timelens.blinry.org"; changelog = "https://github.com/timelens/timelens/blob/${src.rev}/CHANGELOG.md"; license = lib.licenses.gpl2Plus; diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix index 294e250f7c8e1..b612584d8b0f3 100644 --- a/pkgs/applications/video/ustreamer/default.nix +++ b/pkgs/applications/video/ustreamer/default.nix @@ -1,19 +1,55 @@ -{ lib, stdenv, fetchFromGitHub, libbsd, libevent, libjpeg }: - +{ lib +, stdenv +, fetchFromGitHub +, libbsd +, libevent +, libjpeg +, libdrm +, pkg-config +, janus-gateway +, glib +, alsa-lib +, speex +, jansson +, libopus +, withJanus ? true +}: stdenv.mkDerivation rec { pname = "ustreamer"; - version = "6.4"; + version = "6.12"; src = fetchFromGitHub { owner = "pikvm"; repo = "ustreamer"; rev = "v${version}"; - hash = "sha256-pTfct+nki1t7ltCUnxSyOkDocSr2pkoqOldkECtNfDU="; + hash = "sha256-iaCgPHgklk7tbhJhQmyjKggb1bMWBD+Zurgfk9sCQ3E="; }; - buildInputs = [ libbsd libevent libjpeg ]; + buildInputs = [ + libbsd + libevent + libjpeg + libdrm + ] ++ lib.optionals withJanus [ + janus-gateway + glib + alsa-lib + jansson + speex + libopus + ]; + + nativeBuildInputs = [ pkg-config ]; - makeFlags = [ "PREFIX=${placeholder "out"}" ]; + makeFlags = [ + "PREFIX=${placeholder "out"}" + "WITH_V4P=1" + ] ++ lib.optionals withJanus [ + "WITH_JANUS=1" + # Workaround issues with Janus C Headers + # https://github.com/pikvm/ustreamer/blob/793f24c4/docs/h264.md#fixing-janus-c-headers + "CFLAGS=-I${lib.getDev janus-gateway}/include/janus" + ]; enableParallelBuilding = true; @@ -28,7 +64,7 @@ stdenv.mkDerivation rec { screencast hardware data with the highest resolution and FPS possible. ''; license = licenses.gpl3Plus; - maintainers = with maintainers; [ tfc ]; + maintainers = with maintainers; [ tfc matthewcroughan ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix index 4063f4108fa06..6890df0bdca6d 100644 --- a/pkgs/applications/video/vdr/plugins.nix +++ b/pkgs/applications/video/vdr/plugins.nix @@ -124,7 +124,7 @@ in { meta = with lib; { inherit (src.meta) homepage; - description = "VDR plugin to handle KODI clients."; + description = "VDR plugin to handle KODI clients"; maintainers = [ maintainers.ck3d ]; license = licenses.gpl2; inherit (vdr.meta) platforms; @@ -186,7 +186,7 @@ in { meta = with lib; { inherit (src.meta) homepage; - description = "A plugin for VDR to access AVMs Fritz Box routers"; + description = "Plugin for VDR to access AVMs Fritz Box routers"; maintainers = [ maintainers.ck3d ]; license = licenses.gpl2; inherit (vdr.meta) platforms; diff --git a/pkgs/applications/video/vdr/softhddevice/default.nix b/pkgs/applications/video/vdr/softhddevice/default.nix index caccdc6ed39a8..e04af11dfe0d9 100644 --- a/pkgs/applications/video/vdr/softhddevice/default.nix +++ b/pkgs/applications/video/vdr/softhddevice/default.nix @@ -14,12 +14,12 @@ }: stdenv.mkDerivation rec { pname = "vdr-softhddevice"; - version = "2.2.0"; + version = "2.3.3"; src = fetchFromGitHub { owner = "ua0lnj"; repo = "vdr-plugin-softhddevice"; - sha256 = "sha256-1yCDNfUdQLgJ0WWyx0q3Hi0yxb6zxaK7wMzLD9jXweI="; + sha256 = "sha256-PvSo5qiDMVrL6ylts5leR/3YAqIpIZcmnAqnGopPG94="; rev = "v${version}"; }; diff --git a/pkgs/applications/video/vdr/streamdev/default.nix b/pkgs/applications/video/vdr/streamdev/default.nix index de45b31d86904..248f06538393f 100644 --- a/pkgs/applications/video/vdr/streamdev/default.nix +++ b/pkgs/applications/video/vdr/streamdev/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { meta = with lib;{ inherit (src.meta) homepage; - description = "This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol) Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol."; + description = "This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol) Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol"; maintainers = [ maintainers.ck3d ]; license = licenses.gpl2; inherit (vdr.meta) platforms; diff --git a/pkgs/applications/video/vivictpp/default.nix b/pkgs/applications/video/vivictpp/default.nix index e2fc34340fc5b..114718177afec 100644 --- a/pkgs/applications/video/vivictpp/default.nix +++ b/pkgs/applications/video/vivictpp/default.nix @@ -64,7 +64,7 @@ in stdenv.mkDerivation rec { ''; meta = with lib; { - description = "An easy to use tool for subjective comparison of the visual quality of different encodings of the same video source"; + description = "Easy to use tool for subjective comparison of the visual quality of different encodings of the same video source"; homepage = "https://github.com/vivictorg/vivictpp"; license = licenses.gpl2Plus; platforms = platforms.unix; diff --git a/pkgs/applications/video/w_scan2/default.nix b/pkgs/applications/video/w_scan2/default.nix index d4d21a26025d0..e20330d0ea3b8 100644 --- a/pkgs/applications/video/w_scan2/default.nix +++ b/pkgs/applications/video/w_scan2/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { }; meta = { - description = "A small channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T/T2 channels.conf files"; + description = "Small channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T/T2 channels.conf files"; homepage = "https://github.com/stefantalpalaru/w_scan2"; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ _0x4A6F ] ; diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix index 75a8d9f5c639f..9fd34a1eed1fc 100644 --- a/pkgs/applications/video/webtorrent_desktop/default.nix +++ b/pkgs/applications/video/webtorrent_desktop/default.nix @@ -2,26 +2,22 @@ buildNpmPackage { pname = "webtorrent-desktop"; - version = "0.25-pre-1eb612"; + version = "0.25-pre-ac7f16"; src = fetchFromGitHub { owner = "webtorrent"; repo = "webtorrent-desktop"; - rev = "1eb61201d6360698a2cc4ea72bf0fa7ee78b457c"; - sha256 = "sha256-DBEFOamncyidMXypvKNnUmDIPUq1LzYjDgox7fa4+Gg="; + rev = "ac7f16e71c96c5ad670bfcb8728df5af78ae21a1"; + sha256 = "sha256-UEN5NhLVSQEO8rsiTW1hJPjNFL9KobW/Bho98FzKaf4="; }; patches = [ - # electron 27 fix - (fetchpatch { - url = "https://github.com/webtorrent/webtorrent-desktop/pull/2388.patch"; - hash = "sha256-gam5oAZtsaiCNFwecA5ff0nhraySLx3SOHlb/js+cPM="; - }) # startup fix (fetchpatch { - url = "https://github.com/webtorrent/webtorrent-desktop/pull/2389.patch"; + name = "2389.patch"; # https://github.com/webtorrent/webtorrent-desktop/pull/2389 + url = "https://github.com/webtorrent/webtorrent-desktop/commit/407046d150ed7ff876a5e1978f68630e9c8f0074.patch"; hash = "sha256-hBJGLNNjcGRhYOFlLm/RL0po+70tEeJtR6Y/CfacPAI="; }) ]; - npmDepsHash = "sha256-tqhp3jDb1xtyV/n9kJtzkiznLQfqeYWeZiTnTVV0ibE="; + npmDepsHash = "sha256-otAes6GkqoAVvfeWhWgyY4IVZIZxw3WtkrVdEWIk1Lk="; makeCacheWritable = true; npmRebuildFlags = [ "--ignore-scripts" ]; installPhase = '' diff --git a/pkgs/applications/video/xine/lib.nix b/pkgs/applications/video/xine/lib.nix index ec3a642082674..641243ee77c6d 100644 --- a/pkgs/applications/video/xine/lib.nix +++ b/pkgs/applications/video/xine/lib.nix @@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://xine.sourceforge.net/"; - description = "A high-performance, portable and reusable multimedia playback engine"; + description = "High-performance, portable and reusable multimedia playback engine"; license = with lib.licenses; [ gpl2Plus lgpl2Plus ]; maintainers = with lib.maintainers; [ AndersonTorres ]; platforms = lib.platforms.linux; diff --git a/pkgs/applications/video/xine/ui.nix b/pkgs/applications/video/xine/ui.nix index 2437705ceac9a..84631a8c45793 100644 --- a/pkgs/applications/video/xine/ui.nix +++ b/pkgs/applications/video/xine/ui.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchurl -, fetchpatch , autoreconfHook , curl , libXext diff --git a/pkgs/applications/video/xplayer/default.nix b/pkgs/applications/video/xplayer/default.nix index 929d9d2952c48..d697ff2020043 100644 --- a/pkgs/applications/video/xplayer/default.nix +++ b/pkgs/applications/video/xplayer/default.nix @@ -88,7 +88,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A generic media player from Linux Mint"; + description = "Generic media player from Linux Mint"; license = with licenses; [ gpl2Plus lgpl21Plus ]; homepage = "https://github.com/linuxmint/xplayer"; maintainers = with maintainers; [ tu-maurice bobby285271 ]; diff --git a/pkgs/applications/video/youtube-tui/default.nix b/pkgs/applications/video/youtube-tui/default.nix index 63e9f51304edb..89d32f6f9a70f 100644 --- a/pkgs/applications/video/youtube-tui/default.nix +++ b/pkgs/applications/video/youtube-tui/default.nix @@ -56,7 +56,7 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = "An aesthetically pleasing YouTube TUI written in Rust"; + description = "Aesthetically pleasing YouTube TUI written in Rust"; homepage = "https://siriusmart.github.io/youtube-tui"; license = licenses.gpl3Only; maintainers = with maintainers; [ Ruixi-rebirth ]; |