nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix

75 lines
2.3 KiB
Nix
Raw Normal View History

2017-05-02 23:54:22 +01:00
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
2018-04-13 02:32:27 +01:00
, alsaLib, ffmpeg, glib, openssl, pcre, zlib
, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
, libxkbcommon, libxkbfile
, wayland
2018-04-13 02:32:27 +01:00
, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc
, libpulseaudio ? null
, cups ? null
, pcsclite ? null
, systemd ? null
, buildServer ? true
, optimize ? true
}:
stdenv.mkDerivation rec {
2017-12-05 03:42:01 +00:00
name = "freerdp-${version}";
2018-11-22 02:32:53 +00:00
version = "2.0.0-rc4";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
2017-12-05 03:42:01 +00:00
rev = version;
2018-11-22 02:32:53 +00:00
sha256 = "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da";
};
# outputs = [ "bin" "out" "dev" ];
prePatch = ''
export HOME=$TMP
substituteInPlace "libfreerdp/freerdp.pc.in" \
--replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
2017-05-02 23:54:22 +01:00
'' + lib.optionalString (pcsclite != null) ''
substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \
2018-06-21 11:40:15 +01:00
--replace "libpcsclite.so" "${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so"
'';
buildInputs = with lib; [
2018-04-13 02:32:27 +01:00
alsaLib cups ffmpeg glib openssl pcre pcsclite libpulseaudio zlib
gstreamer gst-plugins-base gst-plugins-good libunwind orc
libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
libxkbcommon libxkbfile
wayland
] ++ optional stdenv.isLinux systemd;
nativeBuildInputs = [
cmake pkgconfig
];
2017-12-05 03:42:01 +00:00
enableParallelBuilding = true;
doCheck = false;
cmakeFlags = with lib; [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
"-DWITH_OSS=OFF"
2017-12-07 04:40:33 +00:00
] ++ optional (libpulseaudio != null) "-DWITH_PULSE=ON"
++ optional (cups != null) "-DWITH_CUPS=ON"
++ optional (pcsclite != null) "-DWITH_PCSC=ON"
++ optional buildServer "-DWITH_SERVER=ON"
++ optional (optimize && stdenv.isx86_64) "-DWITH_SSE2=ON";
meta = with lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = licenses.asl20;
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.unix;
};
}