1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
3 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
4 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
5 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
6 ;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
8 ;;; This file is part of GNU Guix.
10 ;;; GNU Guix is free software; you can redistribute it and/or modify it
11 ;;; under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or (at
13 ;;; your option) any later version.
15 ;;; GNU Guix is distributed in the hope that it will be useful, but
16 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 (define-module (gnu packages rdesktop)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix git-download)
28 #:use-module (guix build-system cmake)
29 #:use-module (guix build-system gnu)
30 #:use-module (gnu packages compression)
31 #:use-module (gnu packages cups)
32 #:use-module (gnu packages docbook)
33 #:use-module (gnu packages freedesktop)
34 #:use-module (gnu packages glib)
35 #:use-module (gnu packages gstreamer)
36 #:use-module (gnu packages image)
37 #:use-module (gnu packages linux)
38 #:use-module (gnu packages pkg-config)
39 #:use-module (gnu packages pulseaudio)
40 #:use-module (gnu packages tls)
41 #:use-module (gnu packages video)
42 #:use-module (gnu packages xdisorg)
43 #:use-module (gnu packages xorg)
44 #:use-module (gnu packages xml))
46 (define-public rdesktop
52 (uri (string-append "https://github.com/rdesktop/rdesktop/"
53 "releases/download/v" version "/rdesktop-"
57 "0bfd9nl2dfr1931fv6bpnrj5yf88ikijrs4s3nm96gm87bkvi64v"))))
58 (build-system gnu-build-system)
60 `(#:configure-flags (list (string-append "--with-openssl="
61 (assoc-ref %build-inputs
64 ;; XXX: optional dependencies missing
66 "--disable-smartcard")
69 (modify-phases %standard-phases
70 (add-after 'install-license-files 'delete-extraneous-files
71 (lambda* (#:key outputs #:allow-other-keys)
72 (let* ((out (assoc-ref outputs "out"))
73 (license-dir (string-append out "/share/doc/"
75 ;; XXX These files are installed erroneously.
76 (delete-file (string-append license-dir "/licence.c"))
77 (delete-file (string-append license-dir "/licence.o")))
79 #:tests? #f)) ;no 'check' target
82 ("openssl" ,openssl)))
83 (home-page "https://www.rdesktop.org/")
84 (synopsis "Client for Windows Terminal Services")
86 "rdesktop is a client for Microsoft's Windows Remote Desktop Services,
87 capable of natively speaking Remote Desktop Protocol (RDP). It allows users
88 to remotely control a user's Windows desktop.")
89 (license license:gpl3+)))
91 (define-public freerdp
98 (url "git://github.com/FreeRDP/FreeRDP.git")
100 (file-name (git-file-name name version))
102 (base32 "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da"))))
103 (build-system cmake-build-system)
105 `(("docbook-xml" ,docbook-xml)
106 ("docbook-xsl" ,docbook-xsl)
110 ("pkg-config" ,pkg-config)
113 `(("alsa-lib" ,alsa-lib)
118 ("libxkbcommon" ,libxkbcommon)
119 ("libxkbfile" ,libxkbfile)
120 ("libxcursor" ,libxcursor)
124 ("libxrandr" ,libxrandr)
125 ("libxrender" ,libxrender)
126 ("libxinerama" ,libxinerama)
127 ("libxshmfence" ,libxshmfence)
129 ("pulseaudio" ,pulseaudio)
133 `(#:build-type "RELEASE"
135 (list "-DWITH_JPEG=ON"
136 "-DWITH_LIBSYSTEMD=OFF"
137 ,@(if (string-prefix? "x86_64"
138 (or (%current-target-system)
142 (string-append "-DDOCBOOKXSL_DIR="
143 (assoc-ref %build-inputs "docbook-xsl")
144 "/xml/xsl/docbook-xsl-"
145 ,(package-version docbook-xsl))
148 "-DBUILD_TESTING=ON")))
149 (home-page "https://www.freerdp.com")
150 (synopsis "Remote Desktop Protocol implementation")
151 (description "FreeRDP implements Microsoft's Remote Desktop Protocol.
152 It consists of the @code{xfreerdp} client, libraries for client and server
153 functionality, and Windows Portable Runtime (WinPR), a portable implementation
154 of parts of the Windows API.")
155 (license license:asl2.0)))