gnu: emacspeak: Fix Tclx and espeak server loading.
[jackhill/guix/guix.git] / gnu / packages / rdesktop.scm
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, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
5 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
6 ;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
7 ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
8 ;;;
9 ;;; This file is part of GNU Guix.
10 ;;;
11 ;;; GNU Guix is free software; you can redistribute it and/or modify it
12 ;;; under the terms of the GNU General Public License as published by
13 ;;; the Free Software Foundation; either version 3 of the License, or (at
14 ;;; your option) any later version.
15 ;;;
16 ;;; GNU Guix is distributed in the hope that it will be useful, but
17 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;;; GNU General Public License for more details.
20 ;;;
21 ;;; You should have received a copy of the GNU General Public License
22 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24 (define-module (gnu packages rdesktop)
25 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (guix packages)
27 #:use-module (guix download)
28 #:use-module (guix git-download)
29 #:use-module (guix build-system cmake)
30 #:use-module (guix build-system gnu)
31 #:use-module (gnu packages compression)
32 #:use-module (gnu packages cups)
33 #:use-module (gnu packages docbook)
34 #:use-module (gnu packages freedesktop)
35 #:use-module (gnu packages glib)
36 #:use-module (gnu packages gstreamer)
37 #:use-module (gnu packages image)
38 #:use-module (gnu packages libusb)
39 #:use-module (gnu packages linux)
40 #:use-module (gnu packages nettle)
41 #:use-module (gnu packages pkg-config)
42 #:use-module (gnu packages pulseaudio)
43 #:use-module (gnu packages tls)
44 #:use-module (gnu packages video)
45 #:use-module (gnu packages xdisorg)
46 #:use-module (gnu packages xorg)
47 #:use-module (gnu packages xml))
48
49 (define-public rdesktop
50 (package
51 (name "rdesktop")
52 (version "1.9.0")
53 (source (origin
54 (method url-fetch)
55 (uri (string-append "https://github.com/rdesktop/rdesktop/"
56 "releases/download/v" version "/rdesktop-"
57 version ".tar.gz"))
58 (sha256
59 (base32
60 "1222f2srlq16bydhy44gph997iajg39sl774xxh9jdwi4cqjyg27"))))
61 (build-system gnu-build-system)
62 (arguments
63 `(#:configure-flags (list ;; XXX: optional dependencies missing
64 "--disable-credssp"
65 "--disable-smartcard")
66 #:tests? #f)) ; No 'check' target
67 (native-inputs
68 `(("pkg-config" ,pkg-config)))
69 (inputs
70 `(("gnutls" ,gnutls)
71 ("libx11" ,libx11)
72 ("libxcursor" ,libxcursor)
73 ("nettle" ,nettle)))
74 (home-page "https://www.rdesktop.org/")
75 (synopsis "Client for Windows Terminal Services")
76 (description
77 "rdesktop is a client for Microsoft's Windows Remote Desktop Services,
78 capable of natively speaking Remote Desktop Protocol (RDP). It allows users
79 to remotely control a user's Windows desktop.")
80 (license license:gpl3+)))
81
82 (define-public freerdp
83 (package
84 (name "freerdp")
85 (version "2.2.0")
86 (source
87 (origin
88 (method git-fetch)
89 (uri (git-reference
90 (url "git://github.com/FreeRDP/FreeRDP")
91 (commit version)))
92 (file-name (git-file-name name version))
93 (sha256
94 (base32 "02zlg5r704zbryx09a5rjjf7q137kj16i9qh25dw9q1y69ri619n"))))
95 (build-system cmake-build-system)
96 (native-inputs
97 `(("docbook-xml" ,docbook-xml)
98 ("docbook-xsl" ,docbook-xsl)
99 ("glib" ,glib)
100 ("libxml2" ,libxml2)
101 ("libxslt" ,libxslt)
102 ("pkg-config" ,pkg-config)
103 ("xmlto" ,xmlto)))
104 (inputs
105 `(("alsa-lib" ,alsa-lib)
106 ("cups" ,cups)
107 ("ffmpeg" ,ffmpeg)
108 ("libjpeg" ,libjpeg-turbo)
109 ("libusb" ,libusb)
110 ("libx11" ,libx11)
111 ("libxkbcommon" ,libxkbcommon)
112 ("libxkbfile" ,libxkbfile)
113 ("libxcursor" ,libxcursor)
114 ("libxext" ,libxext)
115 ("libxi" ,libxi)
116 ("libxv" ,libxv)
117 ("libxrandr" ,libxrandr)
118 ("libxrender" ,libxrender)
119 ("libxinerama" ,libxinerama)
120 ("libxshmfence" ,libxshmfence)
121 ("openssl" ,openssl)
122 ("pulseaudio" ,pulseaudio)
123 ("wayland" ,wayland)
124 ("zlib" ,zlib)))
125 (arguments
126 `(#:build-type "RELEASE"
127 #:configure-flags
128 (list "-DWITH_JPEG=ON"
129 ,@(if (string-prefix? "x86_64"
130 (or (%current-target-system)
131 (%current-system)))
132 '("-DWITH_SSE2=ON")
133 '())
134 (string-append "-DDOCBOOKXSL_DIR="
135 (assoc-ref %build-inputs "docbook-xsl")
136 "/xml/xsl/docbook-xsl-"
137 ,(package-version docbook-xsl))
138 "-DWITH_PULSE=ON"
139 "-DWITH_CUPS=ON"
140 "-DBUILD_TESTING=ON")))
141 (home-page "https://www.freerdp.com")
142 (synopsis "Remote Desktop Protocol implementation")
143 (description "FreeRDP implements Microsoft's Remote Desktop Protocol.
144 It consists of the @code{xfreerdp} client, libraries for client and server
145 functionality, and Windows Portable Runtime (WinPR), a portable implementation
146 of parts of the Windows API.")
147 (license license:asl2.0)))