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