From 83efe794883232b43c13a25f5383022456062cc7 Mon Sep 17 00:00:00 2001 From: Michaili K Date: Tue, 12 Aug 2025 16:19:11 +0200 Subject: [PATCH 1/5] libtas: 1.4.5 -> 1.4.6 Bumps libtas to 1.4.6. The new version depends now on Lua 5.4. --- pkgs/by-name/li/libtas/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/li/libtas/package.nix b/pkgs/by-name/li/libtas/package.nix index f4ca0fb87aa3..de6040ba8a93 100644 --- a/pkgs/by-name/li/libtas/package.nix +++ b/pkgs/by-name/li/libtas/package.nix @@ -7,7 +7,7 @@ SDL2, alsa-lib, ffmpeg, - lua5_3, + lua5_4, qt5, file, binutils, @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libtas"; - version = "1.4.5"; + version = "1.4.6"; src = fetchFromGitHub { owner = "clementgallet"; repo = "libTAS"; rev = "v${finalAttrs.version}"; - hash = "sha256-n4iaJG9k+/TFfGMDCYL83Z6paxpm/gY3thP9T84GeQU="; + hash = "sha256-/hyKJ8HGLN7hT+9If/lcp0C7GnhJMRpc7EKDgA1kQcI="; }; nativeBuildInputs = [ @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { SDL2 alsa-lib ffmpeg - lua5_3 + lua5_4 qt5.qtbase ]; From f76a7e7ed5287b152e6ee77bc4ab020c7cbfb28d Mon Sep 17 00:00:00 2001 From: Michaili K Date: Tue, 12 Aug 2025 16:19:58 +0200 Subject: [PATCH 2/5] libtas: Fix "undefined symbol: SDL_Log" errors --- pkgs/by-name/li/libtas/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/li/libtas/package.nix b/pkgs/by-name/li/libtas/package.nix index de6040ba8a93..4cf7e7943462 100644 --- a/pkgs/by-name/li/libtas/package.nix +++ b/pkgs/by-name/li/libtas/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchurl, autoreconfHook, pkg-config, SDL2, @@ -24,6 +25,13 @@ stdenv.mkDerivation (finalAttrs: { rev = "v${finalAttrs.version}"; hash = "sha256-/hyKJ8HGLN7hT+9If/lcp0C7GnhJMRpc7EKDgA1kQcI="; }; + patches = [ + # Fixes `undefined symbol: SDL_Log` errors + (fetchurl { + url = "https://github.com/clementgallet/libTAS/commit/779ff0fb0f3accfc62949680d85ecf96b28d18ef.patch"; + hash = "sha256-xAaTWIXt8FkMu6GE5mBWtLypROFZ1aEqmBTtG+6rTWk="; + }) + ]; nativeBuildInputs = [ autoreconfHook From 6664ef393b5b513d03a157179127df06784e4f2f Mon Sep 17 00:00:00 2001 From: Michaili K Date: Tue, 12 Aug 2025 16:47:12 +0200 Subject: [PATCH 3/5] libtas: Fix "Could not import symbol XIGetSelectedEvents" error on X11 --- pkgs/by-name/li/libtas/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/li/libtas/package.nix b/pkgs/by-name/li/libtas/package.nix index 4cf7e7943462..bf2ec36e9cf9 100644 --- a/pkgs/by-name/li/libtas/package.nix +++ b/pkgs/by-name/li/libtas/package.nix @@ -10,6 +10,7 @@ ffmpeg, lua5_4, qt5, + xorg, file, binutils, makeDesktopItem, @@ -66,6 +67,11 @@ stdenv.mkDerivation (finalAttrs: { ffmpeg ] } \ + --suffix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + xorg.libXi + ] + } \ --set-default LIBTAS_SO_PATH $out/lib/libtas.so ''; From 4c90a4483206cc09d5ea11eb44448689e9c9ab0f Mon Sep 17 00:00:00 2001 From: Michaili K Date: Tue, 12 Aug 2025 16:48:51 +0200 Subject: [PATCH 4/5] libtas: Fix movie encode failing to capture audio libTAS requires libswresample to capture & encode audio of an application. Otherwise, the end result would be a silent recording. --- pkgs/by-name/li/libtas/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/li/libtas/package.nix b/pkgs/by-name/li/libtas/package.nix index bf2ec36e9cf9..2394665fef29 100644 --- a/pkgs/by-name/li/libtas/package.nix +++ b/pkgs/by-name/li/libtas/package.nix @@ -70,6 +70,7 @@ stdenv.mkDerivation (finalAttrs: { --suffix LD_LIBRARY_PATH : ${ lib.makeLibraryPath [ xorg.libXi + ffmpeg.lib ] } \ --set-default LIBTAS_SO_PATH $out/lib/libtas.so From e300b37aecd531173307a09787c33f416142fd56 Mon Sep 17 00:00:00 2001 From: Michaili K Date: Tue, 12 Aug 2025 18:29:08 +0200 Subject: [PATCH 5/5] libtas: Add withForceX11 option libTAS needs to be run under X11 to capture inputs. Since libTAS is a QT app, it can launch in Wayland though. Thus, add an override option (enabled by default) which passes a `QT_QPA_PLATFORM=xcb` environment variable to force QT to run on X11. --- pkgs/by-name/li/libtas/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/li/libtas/package.nix b/pkgs/by-name/li/libtas/package.nix index 2394665fef29..18c8dfa25b23 100644 --- a/pkgs/by-name/li/libtas/package.nix +++ b/pkgs/by-name/li/libtas/package.nix @@ -14,6 +14,10 @@ file, binutils, makeDesktopItem, + + # Forces libTAS to run in X11. + # Enabled by default because libTAS does not support Wayland. + withForceX11 ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -73,6 +77,7 @@ stdenv.mkDerivation (finalAttrs: { ffmpeg.lib ] } \ + ${lib.optionalString withForceX11 "--set QT_QPA_PLATFORM xcb"} \ --set-default LIBTAS_SO_PATH $out/lib/libtas.so '';