From 413b9b11c27dcd3bf2a801f026cc8f38dc866f9b Mon Sep 17 00:00:00 2001 From: DeimElias Date: Sun, 7 Dec 2025 23:24:49 -0600 Subject: [PATCH 1/6] freerdp: update default from SDL2 to SDL3 SDL2 version has been deprecated https://github.com/FreeRDP/FreeRDP/pull/11223 --- pkgs/by-name/fr/freerdp/package.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index b46f5d2ebc7d..201ecbb7b6be 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -46,6 +46,9 @@ SDL2, SDL2_ttf, SDL2_image, + sdl3, + sdl3-ttf, + sdl3-image, systemd, libjpeg_turbo, libkrb5, @@ -53,6 +56,7 @@ buildServer ? true, nocaps ? false, withUnfree ? false, + withSDL2 ? false, # tries to compile and run generate_argument_docbook.c withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, @@ -134,9 +138,9 @@ stdenv.mkDerivation (finalAttrs: { pcre2 pcsclite pkcs11helper - SDL2 - SDL2_ttf - SDL2_image + sdl3 + sdl3-ttf + sdl3-image uriparser zlib ] @@ -147,6 +151,11 @@ stdenv.mkDerivation (finalAttrs: { wayland wayland-scanner ] + ++ lib.optionals withSDL2 [ + SDL2 + SDL2_ttf + SDL2_image + ] ++ lib.optionals withUnfree [ faac ]; From 27bd47bd5ba3885b701fe5b290c5070b87f2a49b Mon Sep 17 00:00:00 2001 From: DeimElias Date: Sun, 7 Dec 2025 23:24:49 -0600 Subject: [PATCH 2/6] freerdp: add wayland flag option --- pkgs/by-name/fr/freerdp/package.nix | 47 +++++++++++++++++------------ 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index 201ecbb7b6be..abd837005833 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -56,6 +56,7 @@ buildServer ? true, nocaps ? false, withUnfree ? false, + withWaylandSupport ? false, withSDL2 ? false, # tries to compile and run generate_argument_docbook.c @@ -166,26 +167,32 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") (lib.cmakeFeature "DOCBOOKXSL_DIR" "${docbook-xsl-nons}/xml/xsl/docbook") ] - ++ lib.mapAttrsToList lib.cmakeBool { - BUILD_TESTING = false; # false is recommended by upstream - WITH_CAIRO = cairo != null; - WITH_CUPS = cups != null; - WITH_FAAC = withUnfree && faac != null; - WITH_FAAD2 = faad2 != null; - WITH_FUSE = stdenv.hostPlatform.isLinux && fuse3 != null; - WITH_JPEG = libjpeg_turbo != null; - WITH_KRB5 = libkrb5 != null; - WITH_OPENH264 = openh264 != null; - WITH_OPUS = libopus != null; - WITH_OSS = false; - WITH_MANPAGES = withManPages; - WITH_PCSC = pcsclite != null; - WITH_PULSE = libpulseaudio != null; - WITH_SERVER = buildServer; - WITH_WEBVIEW = false; # avoid introducing webkit2gtk-4.0 - WITH_VAAPI = false; # false is recommended by upstream - WITH_X11 = true; - } + ++ lib.mapAttrsToList lib.cmakeBool ( + { + BUILD_TESTING = false; # false is recommended by upstream + WITH_CAIRO = cairo != null; + WITH_CUPS = cups != null; + WITH_FAAC = withUnfree && faac != null; + WITH_FAAD2 = faad2 != null; + WITH_FUSE = stdenv.hostPlatform.isLinux && fuse3 != null; + WITH_JPEG = libjpeg_turbo != null; + WITH_KRB5 = libkrb5 != null; + WITH_OPENH264 = openh264 != null; + WITH_OPUS = libopus != null; + WITH_OSS = false; + WITH_MANPAGES = withManPages; + WITH_PCSC = pcsclite != null; + WITH_PULSE = libpulseaudio != null; + WITH_SERVER = buildServer; + WITH_WEBVIEW = false; # avoid introducing webkit2gtk-4.0 + WITH_VAAPI = false; # false is recommended by upstream + } + // lib.filterAttrs (name: value: value) { + # Only select one + WITH_X11 = !withWaylandSupport; + WITH_WAYLAND = withWaylandSupport; + } + ) ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ (lib.cmakeBool "SDL_USE_COMPILED_RESOURCES" false) ]; From 045fecff99630ec381f8c271356aa04ac622c64e Mon Sep 17 00:00:00 2001 From: DeimElias Date: Tue, 9 Dec 2025 00:24:53 -0600 Subject: [PATCH 3/6] freerdp: wrap SDL2 client to use native wayland Since X11 is the default https://wiki.libsdl.org/SDL2/FAQUsingSDL --- pkgs/by-name/fr/freerdp/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index abd837005833..ed58757fa33f 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -58,6 +58,7 @@ withUnfree ? false, withWaylandSupport ? false, withSDL2 ? false, + makeWrapper, # tries to compile and run generate_argument_docbook.c withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, @@ -104,6 +105,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config wayland-scanner writableTmpDirAsHomeHook + makeWrapper ]; buildInputs = [ @@ -206,6 +208,11 @@ stdenv.mkDerivation (finalAttrs: { ] ); + postFixup = lib.optionalString (withWaylandSupport && withSDL2) '' + wrapProgram $out/bin/sdl2-freerdp \ + --set SDL_VIDEODRIVER wayland + ''; + passthru.tests = { inherit remmina; inherit gnome-remote-desktop; From 443f2e7234147583ecbfbcf754f2697e8280a479 Mon Sep 17 00:00:00 2001 From: DeimElias Date: Sat, 13 Dec 2025 22:13:31 -0600 Subject: [PATCH 4/6] freerdp: change maintainers Peterhoeg wanted to step down as mantainer https://github.com/NixOS/nixpkgs/pull/393673#issuecomment-2760847769, I added myself as a maintainer. --- pkgs/by-name/fr/freerdp/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index ed58757fa33f..b8bfd2e52c9f 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -226,7 +226,7 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://www.freerdp.com/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ peterhoeg ]; + maintainers = with lib.maintainers; [ deimelias ]; platforms = lib.platforms.unix; }; }) From ba7989a483eb91a5d677410080b68bb45618ed6d Mon Sep 17 00:00:00 2001 From: DeimElias Date: Sat, 13 Dec 2025 23:43:14 -0600 Subject: [PATCH 5/6] freerdp: 3.18.0 -> 3.19.1, set updateScript release notes: https://www.freerdp.com/2025/12/12/3_19_1-release --- pkgs/by-name/fr/freerdp/package.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index b8bfd2e52c9f..55b0bceb3c6c 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -65,11 +65,12 @@ gnome-remote-desktop, remmina, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "freerdp"; - version = "3.18.0"; + version = "3.19.1"; src = fetchFromGitHub { owner = "FreeRDP"; @@ -213,9 +214,11 @@ stdenv.mkDerivation (finalAttrs: { --set SDL_VIDEODRIVER wayland ''; - passthru.tests = { - inherit remmina; - inherit gnome-remote-desktop; + passthru = { + tests = { + inherit gnome-remote-desktop remmina; + }; + updateScript = nix-update-script { }; }; meta = { From 2ad6ddaa962924df3bbdacca2f414fb98f113111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 19 Dec 2025 02:14:32 +0100 Subject: [PATCH 6/6] freerdp: 3.19.1 -> 3.20.0 Diff: https://github.com/FreeRDP/FreeRDP/compare/3.19.1...3.20.0 --- pkgs/by-name/fr/freerdp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix index 55b0bceb3c6c..6372d6e676f1 100644 --- a/pkgs/by-name/fr/freerdp/package.nix +++ b/pkgs/by-name/fr/freerdp/package.nix @@ -70,13 +70,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "freerdp"; - version = "3.19.1"; + version = "3.20.0"; src = fetchFromGitHub { owner = "FreeRDP"; repo = "FreeRDP"; rev = finalAttrs.version; - hash = "sha256-+/nZulRjZ/Sc2x9WkKVxyrRX/8F/qDc+2B4QGTPWAmw="; + hash = "sha256-/v6M3r0qELpKvDmM8p3SnOmstyqfYNzyS7gw6HBOSd0="; }; postPatch = ''