summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2026-01-17 18:39:48 +0000
committerGitHub <noreply@github.com>2026-01-17 18:39:48 +0000
commit0f31dff9c3c8b4b1487c1e7ad4950564b5c38c78 (patch)
tree3e48cd7f15fb4204a163014d1e703edf7958d925
parent3d5fa5547a4d6325d1463ba4c53c1bb82b01700a (diff)
parenta7216e0f8e3febf03e767adec0cc7780fbf71bb1 (diff)
[Backport release-25.11] freerpd: SLD2 -> SDL3, Option for UWAC, 3.18.0 -> 3.19.1, add updateScript, Assign maintainer (#481111)
-rw-r--r--pkgs/by-name/fr/freerdp/package.nix84
1 files changed, 55 insertions, 29 deletions
diff --git a/pkgs/by-name/fr/freerdp/package.nix b/pkgs/by-name/fr/freerdp/package.nix
index b46f5d2ebc7d..6372d6e676f1 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,23 +56,27 @@
buildServer ? true,
nocaps ? false,
withUnfree ? false,
+ withWaylandSupport ? false,
+ withSDL2 ? false,
+ makeWrapper,
# tries to compile and run generate_argument_docbook.c
withManPages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
gnome-remote-desktop,
remmina,
+ nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "freerdp";
- version = "3.18.0";
+ version = "3.20.0";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = finalAttrs.version;
- hash = "sha256-+/nZulRjZ/Sc2x9WkKVxyrRX/8F/qDc+2B4QGTPWAmw=";
+ hash = "sha256-/v6M3r0qELpKvDmM8p3SnOmstyqfYNzyS7gw6HBOSd0=";
};
postPatch = ''
@@ -99,6 +106,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config
wayland-scanner
writableTmpDirAsHomeHook
+ makeWrapper
];
buildInputs = [
@@ -134,9 +142,9 @@ stdenv.mkDerivation (finalAttrs: {
pcre2
pcsclite
pkcs11helper
- SDL2
- SDL2_ttf
- SDL2_image
+ sdl3
+ sdl3-ttf
+ sdl3-image
uriparser
zlib
]
@@ -147,6 +155,11 @@ stdenv.mkDerivation (finalAttrs: {
wayland
wayland-scanner
]
+ ++ lib.optionals withSDL2 [
+ SDL2
+ SDL2_ttf
+ SDL2_image
+ ]
++ lib.optionals withUnfree [
faac
];
@@ -157,26 +170,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)
];
@@ -190,9 +209,16 @@ stdenv.mkDerivation (finalAttrs: {
]
);
- passthru.tests = {
- inherit remmina;
- inherit gnome-remote-desktop;
+ postFixup = lib.optionalString (withWaylandSupport && withSDL2) ''
+ wrapProgram $out/bin/sdl2-freerdp \
+ --set SDL_VIDEODRIVER wayland
+ '';
+
+ passthru = {
+ tests = {
+ inherit gnome-remote-desktop remmina;
+ };
+ updateScript = nix-update-script { };
};
meta = {
@@ -203,7 +229,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;
};
})