[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] gnu: Add freerdp.
From: |
Thomas Danckaert |
Subject: |
Re: [PATCH 1/2] gnu: Add freerdp. |
Date: |
Tue, 07 Feb 2017 08:46:39 +0100 (CET) |
Hi Ricardo,
From: Ricardo Wurmus <address@hidden>
Subject: Re: [PATCH 1/2] gnu: Add freerdp.
Date: Mon, 06 Feb 2017 21:11:34 +0100
+ (arguments
+ `(#:configure-flags
+ '("-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DWITH_PULSE=ON"
+ "-DWITH_CUPS=ON" "-DWITH_SSE2=ON")
Is WITH_SSE2 used to ensure that this won’t use uncommon CPU
features?
Actually I don't know... why it is used, and it works just fine
without it. I got it from the (possibly outdated) build instructions
at https://github.com/FreeRDP/FreeRDP/wiki/Compilation (which also
suggest to make a “debug” build without explaining why...?).
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+ (lambda _
+ (substitute* "channels/client/CMakeLists.txt"
+ (("list\\(REMOVE_DUPLICATES
CHANNEL_STATIC_CLIENT_ENTRIES\\)")
+ "")))))
Please add a comment that explains why this is needed. Also make
sure
to end the phase with “#t” because “substitute*” does not (yet)
return a
truthy value.
I've added a comment. It's just that this list is somehow empty, and
CMake complains that it can't remove duplicates from an empty list
(...). (This fix is no longer needed when building freerdp's current
master, but it seems I can't use freerdp master in current vinagre)
+ #:tests? #f)) ; no 'test' target
Actually, the usual target is “check” :) The comment should
probably
either say “no tests” or “no ’check’ target”. But this is
nitpicking.
Actually, in a cmake-generated Makefile, it's 'make test' :-) But
I'm happy with 'no tests', too. I was just aiming for absolute
clarity.
[...]
Okay with the above changes. Thanks!
Thanks for reviewing so quickly.
Thomas
From bcca85478a273789043f46e9574a58d26591bf56 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <address@hidden>
Date: Mon, 6 Feb 2017 17:19:06 +0100
Subject: [PATCH] gnu: Add freerdp.
* gnu/packages/rdesktop.scm (freerdp): New variable.
---
gnu/packages/rdesktop.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index e40852b..f98ad35 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2017 Thomas Danckaert <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,9 +21,19 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cups)
+ #:use-module (gnu packages gstreamer)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages tls)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages xml))
(define-public rdesktop
(package
@@ -57,3 +68,61 @@
capable of natively speaking Remote Desktop Protocol (RDP). It allows users
to remotely control a user's Windows desktop.")
(license license:gpl3+)))
+
+(define-public freerdp
+ (package
+ (name "freerdp")
+ (version "1.2.0-beta1+android9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://github.com/FreeRDP/FreeRDP.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
"1m0lzrr7hkxfvc5f9p8snimv0rmin2463zhg25mv36wig8g5k7l3"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("xmlto" ,xmlto)))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxkbfile" ,libxkbfile)
+ ("libxcursor" ,libxcursor)
+ ("libxext" ,libxext)
+ ("libxi" ,libxi)
+ ("libxv" ,libxv)
+ ("libxrandr" ,libxrandr)
+ ("libxrender" ,libxrender)
+ ("libxinerama" ,libxinerama)
+ ("libxshmfence" ,libxshmfence)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("cups" ,cups)
+ ("ffmpeg" ,ffmpeg)
+ ("pulseaudio" ,pulseaudio)
+ ("alsa-lib" ,alsa-lib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("zlib" ,zlib)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:configure-flags
+ '("-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DWITH_PULSE=ON"
+ "-DWITH_CUPS=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+ (lambda _ ; CMake returns an error on REMOVE_DUPLICATES because
this list is empty.
+ (substitute* "channels/client/CMakeLists.txt"
+ (("list\\(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES\\)")
+ "")))))
+ #:tests? #f)) ; no 'test' target
+ (home-page "https://www.freerdp.com")
+ (synopsis "Remote Desktop Protocol implementation")
+ (description "FreeRDP implements Microsoft's Remote Desktop Protocol. It
+consists of the @code{xfreerdp} client, libraries for client and server
+functionality, and Windows Portable Runtime (WinPR), a portable implementation
+of parts of the Windows API.")
+ (license license:asl2.0)))
--
2.7.4