nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
Peter Hoeg 05684f313e freerdp: 20160909 -> 20170201 and rename old freerdp to freerdp_legacy
The former "stable" version of FreeRDP was actually not stable - it just
happened to have a released version while being both buggy and insecure.

The "unstable" branch hasn't seen a release in years, but everybody
should be using this instead and I have been using it as a daily driver
for ages.

This new version works beautifully here.

If/when at some point upstream does a normal release, we can bring back
stable/unstable if needed.

As I am quite dependent on FreeRDP working properly, I will be commit to
keeping this updated.

The commit used for this release follows the Arch Linux release.
2017-02-05 14:03:59 +08:00

76 lines
2.2 KiB
Nix

{ stdenv, lib, fetchFromGitHub, substituteAll, cmake, pkgconfig
, alsaLib, ffmpeg_2, glib, openssl, pcre, zlib
, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
, libxkbcommon, libxkbfile
, wayland
, gstreamer, gst-plugins-base, gst-plugins-good
, libpulseaudio ? null
, cups ? null
, pcsclite ? null
, systemd ? null
, buildServer ? true
, optimize ? true
}:
stdenv.mkDerivation rec {
name = "freerdp-git-${version}";
version = "20170201";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "6001cb710dc67eb8811362b7bf383754257a902b";
sha256 = "0l2lwqk2r8rq8a0f91wbb30kqg21fv0k0508djpwj0pa9n73fgmg";
};
# outputs = [ "bin" "out" "dev" ];
prePatch = ''
export HOME=$TMP
substituteInPlace "libfreerdp/freerdp.pc.in" \
--replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'';
patches = with lib; [
] ++ optional (pcsclite != null)
(substituteAll {
src = ./dlopen-absolute-paths.diff;
inherit pcsclite;
});
buildInputs = with lib; [
alsaLib cups ffmpeg_2 glib openssl pcre pcsclite libpulseaudio zlib
gstreamer gst-plugins-base gst-plugins-good
libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
libxkbcommon libxkbfile
wayland
] ++ optional stdenv.isLinux systemd;
nativeBuildInputs = [
cmake pkgconfig
];
doCheck = false;
cmakeFlags = with lib; [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
"-DWITH_OSS=OFF"
] ++ 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 "-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; [ wkennington peterhoeg ];
platforms = platforms.unix;
};
}