~ruther/guix-local

52649552aae0d686a09be876c4b9a1e92bf80f30 — Danny Milosavljevic 1 year, 3 months ago c64aad5
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
3 files changed, 75 insertions(+), 0 deletions(-)

M gnu/local.mk
A gnu/packages/patches/freerdp-3.16.0-rpath.patch
M gnu/packages/rdesktop.scm
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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		\

A gnu/packages/patches/freerdp-3.16.0-rpath.patch => gnu/packages/patches/freerdp-3.16.0-rpath.patch +21 -0
@@ 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

M gnu/packages/rdesktop.scm => gnu/packages/rdesktop.scm +53 -0
@@ 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")