lol
1{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
2, alsaLib, ffmpeg_2, glib, openssl, pcre, zlib
3, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
4, libxkbcommon, libxkbfile
5, wayland
6, gstreamer, gst-plugins-base, gst-plugins-good
7, libpulseaudio ? null
8, cups ? null
9, pcsclite ? null
10, systemd ? null
11, buildServer ? true
12, optimize ? true
13}:
14
15stdenv.mkDerivation rec {
16 name = "freerdp-git-${version}";
17 version = "20170724";
18
19 src = fetchFromGitHub {
20 owner = "FreeRDP";
21 repo = "FreeRDP";
22 rev = "2.0.0-rc0";
23 sha256 = "0ngwdy0lfv2k59z1z8yq1wj5zbhqigpyfqbgh38m9p35yzh33lv1";
24 };
25
26 # outputs = [ "bin" "out" "dev" ];
27
28 prePatch = ''
29 export HOME=$TMP
30 substituteInPlace "libfreerdp/freerdp.pc.in" \
31 --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
32 '' + lib.optionalString (pcsclite != null) ''
33 substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \
34 --replace "libpcsclite.so" "${pcsclite}/lib/libpcsclite.so"
35 '';
36
37 buildInputs = with lib; [
38 alsaLib cups ffmpeg_2 glib openssl pcre pcsclite libpulseaudio zlib
39 gstreamer gst-plugins-base gst-plugins-good
40 libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
41 libxkbcommon libxkbfile
42 wayland
43 ] ++ optional stdenv.isLinux systemd;
44
45 nativeBuildInputs = [
46 cmake pkgconfig
47 ];
48
49 doCheck = false;
50
51 cmakeFlags = with lib; [
52 "-DCMAKE_INSTALL_LIBDIR=lib"
53 "-DWITH_CUNIT=OFF"
54 "-DWITH_OSS=OFF"
55 ] ++ optional (libpulseaudio != null) "-DWITH_PULSE=ON"
56 ++ optional (cups != null) "-DWITH_CUPS=ON"
57 ++ optional (pcsclite != null) "-DWITH_PCSC=ON"
58 ++ optional buildServer "-DWITH_SERVER=ON"
59 ++ optional optimize "-DWITH_SSE2=ON";
60
61 meta = with lib; {
62 description = "A Remote Desktop Protocol Client";
63 longDescription = ''
64 FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
65 following the Microsoft Open Specifications.
66 '';
67 homepage = http://www.freerdp.com/;
68 license = licenses.asl20;
69 maintainers = with maintainers; [ wkennington peterhoeg ];
70 platforms = platforms.unix;
71 };
72}