gnu: freerdp: Update to 3.16.0.

* gnu/packages/patches/freerdp-3.16.0-rpath.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/rdesktop.scm (freerdp-3): New variable.

Change-Id: Iaf706ea6df5fd5593326513da284d9223fada3d1
This commit is contained in:
Danny Milosavljevic 2025-07-17 00:41:01 +02:00
parent c64aad5e8c
commit 52649552aa
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5
3 changed files with 75 additions and 0 deletions

View file

@ -1338,6 +1338,7 @@ dist_patch_DATA = \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/freeimage-CVE-2020-21428.patch \
%D%/packages/patches/freeimage-CVE-2020-22524.patch \
%D%/packages/patches/freerdp-3.16.0-rpath.patch \
%D%/packages/patches/freesolid-automake.patch \
%D%/packages/patches/freesolid-autotools.patch \
%D%/packages/patches/freesolid-configure.patch \

View file

@ -0,0 +1,21 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2025-07-17
License: Apache Software License 2.0
diff -ru orig/FreeRDP/cmake/ConfigureRPATH.cmake FreeRDP/cmake/ConfigureRPATH.cmake
--- orig/FreeRDP/cmake/ConfigureRPATH.cmake 2025-07-17 10:42:17.557667810 +0200
+++ FreeRDP/cmake/ConfigureRPATH.cmake 2025-07-17 11:32:13.692935801 +0200
@@ -15,10 +15,10 @@
option(WITH_ADD_PLUGIN_TO_RPATH "Add extension and plugin path to RPATH" OFF)
if(WITH_ADD_PLUGIN_TO_RPATH)
set(CFG_INSTALL_RPATH
- "\$ORIGIN/../${FREERDP_EXTENSION_REL_PATH}:\$ORIGIN/../${FREERDP_PLUGIN_PATH}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/.."
+ "\$ORIGIN/../${FREERDP_EXTENSION_REL_PATH}:\$ORIGIN/../${FREERDP_PLUGIN_PATH}:\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..:\$ORIGIN/../.."
)
else()
- set(CFG_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..")
+ set(CFG_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:\$ORIGIN/..:\$ORIGIN/../..")
endif()
endif()
endif(APPLE)
Only in FreeRDP/: LIBS

View file

@ -32,6 +32,7 @@
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
@ -46,7 +47,9 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
@ -56,6 +59,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages sdl)
#:use-module (gnu packages security-token)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
@ -171,6 +175,55 @@ functionality, and Windows Portable Runtime (WinPR), a portable implementation
of parts of the Windows API.")
(license license:asl2.0)))
(define-public freerdp-3
(package
(inherit freerdp)
(name "freerdp")
(version "3.16.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FreeRDP/FreeRDP")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "093yyfd3lbbavg0scqka2m64xkn8y1hirfjsv01pdnm4fsrhhphw"))
(patches
(search-patches "freerdp-3.16.0-rpath.patch"))))
(inputs
(modify-inputs (package-inputs freerdp)
(prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf)))
(arguments
(list #:build-type "Release"
#:configure-flags
#~(list
;; Relax gcc-14's strictness.
(string-append "-DCMAKE_C_FLAGS="
" -Wno-error=incompatible-pointer-types"
" -Wno-error=int-conversion")
"-DWITH_JPEG=ON"
#$@(if (target-x86-64?)
#~("-DWITH_SSE2=ON")
#~())
"-DWITH_PULSE=ON"
"-DWITH_CAIRO=ON"
"-DWITH_CUPS=ON"
"-DBUILD_TESTING=ON"
"-DWITH_SERVER=ON" ;build servers
"-DWITH_SHADOW=ON" ;build shadow server
"-DWITH_PROXY=ON"
"-DWITH_OPENH264=ON") ; could also use ffmpeg instead
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-dlopen-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "winpr/libwinpr/smartcard/smartcard_pcsc.c"
(("\"libpcsclite[.]so[.]1\"")
(string-append "\""
(search-input-file inputs "/lib/libpcsclite.so.1")
"\""))))))))))
(define-public xrdp
(package
(name "xrdp")