projects/guix·blob kernel-updates · refs

287 lines · 9.7 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Ludovic Courtès <[email protected]>
3;;; Copyright © 2017 Thomas Danckaert <[email protected]>
4;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <[email protected]>
5;;; Copyright © 2018, 2024, 2026 Efraim Flashner <[email protected]>
6;;; Copyright © 2019 Leo Famulari <[email protected]>
7;;; Copyright © 2019 Eric Bavier <[email protected]>
8;;; Copyright © 2023, 2026 Maxim Cournoyer <[email protected]>
9;;; Copyright © 2025 Janneke Nieuwenhuizen <[email protected]>
10;;;
11;;; This file is part of GNU Guix.
12;;;
13;;; GNU Guix is free software; you can redistribute it and/or modify it
14;;; under the terms of the GNU General Public License as published by
15;;; the Free Software Foundation; either version 3 of the License, or (at
16;;; your option) any later version.
17;;;
18;;; GNU Guix is distributed in the hope that it will be useful, but
19;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21;;; GNU General Public License for more details.
22;;;
23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25
26(define-module (gnu packages rdesktop)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages)
29 #:use-module (guix download)
30 #:use-module (guix gexp)
31 #:use-module (guix git-download)
32 #:use-module (guix utils)
33 #:use-module (guix build-system cmake)
34 #:use-module (guix build-system gnu)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages assembly)
37 #:use-module (gnu packages audio)
38 #:use-module (gnu packages autotools)
39 #:use-module (gnu packages bison)
40 #:use-module (gnu packages check)
41 #:use-module (gnu packages compression)
42 #:use-module (gnu packages cups)
43 #:use-module (gnu packages docbook)
44 #:use-module (gnu packages compiler-tools)
45 #:use-module (gnu packages freedesktop)
46 #:use-module (gnu packages gettext)
47 #:use-module (gnu packages glib)
48 #:use-module (gnu packages gstreamer)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages icu4c)
51 #:use-module (gnu packages image)
52 #:use-module (gnu packages kerberos)
53 #:use-module (gnu packages libusb)
54 #:use-module (gnu packages linux)
55 #:use-module (gnu packages mp3)
56 #:use-module (gnu packages nettle)
57 #:use-module (gnu packages opencl)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages python)
60 #:use-module (gnu packages python-xyz)
61 #:use-module (gnu packages pulseaudio)
62 #:use-module (gnu packages sdl)
63 #:use-module (gnu packages security-token)
64 #:use-module (gnu packages tls)
65 #:use-module (gnu packages version-control)
66 #:use-module (gnu packages video)
67 #:use-module (gnu packages web)
68 #:use-module (gnu packages xdisorg)
69 #:use-module (gnu packages xorg)
70 #:use-module (gnu packages xml))
71
72(define-public freerdp
73 (package
74 (name "freerdp")
75 (version "3.32.1")
76 (source
77 (origin
78 (method git-fetch)
79 (uri (git-reference
80 (url "https://github.com/FreeRDP/FreeRDP")
81 (commit version)))
82 (file-name (git-file-name name version))
83 (sha256
84 (base32 "14ayd9q18034yxn22phxi6p9i42mj5i18fbvcbs8c8k3l7wb3nb9"))))
85 (build-system cmake-build-system)
86 (arguments
87 (list
88 #:build-type "Release"
89 #:test-exclude "TestFreeRDPCodecInterleaved|TestClientRdpFile"
90 #:configure-flags
91 #~(list
92 "-DWITH_VERBOSE_WINPR_ASSERT=OFF"
93 "-DWITH_JPEG=ON"
94 #$@(if (target-x86-64?)
95 #~("-DWITH_SSE2=ON")
96 #~())
97 "-DWITH_PULSE=ON"
98 "-DWITH_CAIRO=ON"
99 "-DWITH_CUPS=ON"
100 "-DCHANNEL_RDPECAM_CLIENT=ON" ;webcam support
101 "-DBUILD_TESTING=ON"
102 "-DWITH_SERVER=ON" ;build servers
103 "-DWITH_SHADOW=ON" ;build shadow server
104 "-DWITH_PROXY=ON"
105 "-DWITH_OPENH264=ON") ;could also use ffmpeg instead
106 #:phases
107 #~(modify-phases %standard-phases
108 (add-after 'unpack 'patch-dlopen-paths
109 (lambda* (#:key inputs #:allow-other-keys)
110 (substitute* "winpr/libwinpr/smartcard/smartcard_pcsc.c"
111 (("\"libpcsclite[.]so[.]1\"")
112 (string-append
113 (format
114 #f "~s"
115 (search-input-file inputs "/lib/libpcsclite.so.1"))))))))))
116 (native-inputs
117 (list docbook-xml
118 docbook-xsl
119 glib
120 libxml2
121 libxslt
122 pkg-config
123 xmlto))
124 (inputs
125 (list alsa-lib
126 cairo
127 cups
128 dbus
129 ffmpeg
130 fuse
131 gsm
132 icu4c
133 jansson
134 lame
135 libjpeg-turbo
136 libusb
137 libx11
138 libxkbfile
139 libxcursor
140 libxdamage
141 libxext
142 libxi
143 libxv
144 libxrandr
145 libxrender
146 libxinerama
147 libxshmfence
148 mit-krb5
149 opencl-headers
150 openh264
151 opensles
152 openssl
153 pcsc-lite ; for smartcard support
154 pulseaudio
155 sdl3
156 sdl3-gfx
157 sdl3-ttf
158 v4l-utils
159 zlib))
160 (propagated-inputs (list libxkbcommon openssl wayland))
161 (home-page "https://www.freerdp.com")
162 (synopsis "Remote Desktop Protocol implementation")
163 (description "FreeRDP implements Microsoft's Remote Desktop Protocol.
164It consists of the @code{xfreerdp} client, libraries for client and server
165functionality, and Windows Portable Runtime (WinPR), a portable implementation
166of parts of the Windows API.")
167 (license license:asl2.0)))
168
169(define-public xrdp
170 (package
171 (name "xrdp")
172 (version "0.10.6")
173 (source (origin
174 (method url-fetch)
175 (uri (string-append
176 "https://github.com/neutrinolabs/xrdp/releases/download/v"
177 version "/xrdp-" version ".tar.gz"))
178 (sha256
179 (base32
180 "0xw68i55yz7mp3psramasdgz0nv8ddq3cywqhgsjqr1vc1fivhnz"))))
181 (build-system gnu-build-system)
182 (inputs (list check
183 fuse
184 imlib2
185 lame
186 libjpeg-turbo
187 libx11
188 libxfixes
189 libxml2
190 libxpm
191 libxrandr
192 libxslt
193 libxt
194 linux-pam
195 openssl
196 pixman
197 python))
198 (native-inputs
199 (append
200 (list bison
201 cmocka
202 flex
203 gettext-minimal
204 intltool)
205 (maybe-nasm)
206 (list pkg-config
207 pixman)))
208 (arguments
209 (list #:configure-flags #~(list "--enable-strict-locations=yes"
210 "--enable-fuse=yes"
211 "--enable-mp3lame=yes"
212 "--enable-pixman=yes"
213 "--enable-imlib2=yes"
214 "--enable-pam-config=unix"
215 "--enable-ipv6=yes")
216 #:phases
217 #~(modify-phases %standard-phases
218 (add-after 'unpack 'set-cflags-file-offset-bit-64
219 (lambda _
220 (setenv "CFLAGS"
221 "-D_FILE_OFFSET_BITS=64"))))))
222 (home-page "https://www.xrdp.org")
223 (synopsis "Remote Desktop Protocol (RDP) server")
224 (description
225 "Xrdp provides a graphical login to remote machines using
226Microsoft Remote Desktop Protocol (RDP). Xrdp accepts connections from a
227variety of RDP clients:
228@itemize
229@item FreeRDP
230@item rdesktop
231@item KRDC
232@item NeutrinoRDP
233@item Windows MSTSC (Microsoft Terminal Services Client, aka mstsc.exe)
234@item Microsoft Remote Desktop (found on Microsoft Store, which is distinct from MSTSC).
235@end itemize")
236 (license license:asl2.0)))
237
238(define-public xorgxrdp
239 (package
240 (name "xorgxrdp")
241 (version "0.10.4")
242 (source (origin
243 (method git-fetch)
244 (uri (git-reference
245 (url "https://github.com/neutrinolabs/xorgxrdp")
246 (commit (string-append "v" version))))
247 (file-name (git-file-name name version))
248 (sha256
249 (base32
250 "0y243h7mk9jy5yrdgngjkcr6rzq4116ip7pvc6vwz7yfnxxd9v2f"))))
251 (build-system gnu-build-system)
252 (inputs (list check
253 imlib2
254 libx11
255 libxfixes
256 libxfont2
257 libxml2
258 libxpm
259 libxrandr
260 libxslt
261 libxt
262 pixman
263 xdpyinfo
264 xorg-server
265 xrdp))
266 (native-inputs
267 (append
268 (list autoconf
269 automake
270 intltool
271 libtool)
272 (maybe-nasm)
273 (list pkg-config
274 pixman)))
275 (arguments
276 (list #:configure-flags #~(list "--enable-strict-locations=yes"
277 (string-append "XRDP_CFLAGS=-I"
278 #$(this-package-input
279 "xrdp") "/common"))))
280 (home-page "https://github.com/neutrinolabs/xorgxrdp")
281 (synopsis "Xorg drivers for xrdp")
282 (description
283 "xorgxrdp is a collection of modules to be used with a pre-existing X.Org
284install to make the X server act like X11rdp. Unlike X11rdp, you don't have to
285recompile the whole X Window System. Instead, additional modules are installed
286to a location where the existing Xorg installation would pick them.")
287 (license license:x11)))