diff options
author | Peter Hoeg <peter@speartail.com> | 2017-02-05 14:03:59 +0800 |
---|---|---|
committer | Peter Hoeg <peter@speartail.com> | 2017-02-05 14:03:59 +0800 |
commit | 05684f313e58363568697dd0677ae2e927277b0c (patch) | |
tree | 31e4fdbc7413e432f50c3a899a966cb88478896c /pkgs/applications/networking/remote/freerdp/default.nix | |
parent | f66d7823ece6fa4bf99e56fa4b4cb0ab16522839 (diff) | |
download | nixlib-05684f313e58363568697dd0677ae2e927277b0c.tar nixlib-05684f313e58363568697dd0677ae2e927277b0c.tar.gz nixlib-05684f313e58363568697dd0677ae2e927277b0c.tar.bz2 nixlib-05684f313e58363568697dd0677ae2e927277b0c.tar.lz nixlib-05684f313e58363568697dd0677ae2e927277b0c.tar.xz nixlib-05684f313e58363568697dd0677ae2e927277b0c.tar.zst nixlib-05684f313e58363568697dd0677ae2e927277b0c.zip |
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.
Diffstat (limited to 'pkgs/applications/networking/remote/freerdp/default.nix')
-rw-r--r-- | pkgs/applications/networking/remote/freerdp/default.nix | 111 |
1 files changed, 60 insertions, 51 deletions
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index 05ec51d66814..d35f22c18396 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -1,67 +1,76 @@ -{ stdenv -, fetchurl -, cmake -, openssl -, printerSupport ? true, cups -, pkgconfig -, zlib -, libX11 -, libXcursor -, libXdamage -, libXext -, alsaLib -, ffmpeg -, libxkbfile -#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt -, libXinerama -, libXv -, pulseaudioSupport ? true, libpulseaudio +{ 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 }: -assert printerSupport -> cups != null; stdenv.mkDerivation rec { - name = "freerdp-${version}"; - version = "1.0.2"; + name = "freerdp-git-${version}"; + version = "20170201"; - src = fetchurl { - url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz"; - sha256 = "1w9dk7dsbppspnnms2xwwmbg7jm61i7aw5nkwzbpdyxngbgkgwf0"; + src = fetchFromGitHub { + owner = "FreeRDP"; + repo = "FreeRDP"; + rev = "6001cb710dc67eb8811362b7bf383754257a902b"; + sha256 = "0l2lwqk2r8rq8a0f91wbb30kqg21fv0k0508djpwj0pa9n73fgmg"; }; - buildInputs = [ - cmake - openssl - pkgconfig - zlib - libX11 - libXcursor - libXdamage - libXext - alsaLib - ffmpeg - libxkbfile -# xmlto docbook_xml_dtd_412 docbook_xml_xslt - libXinerama - libXv - ] ++ stdenv.lib.optional printerSupport cups; + # outputs = [ "bin" "out" "dev" ]; - configureFlags = [ - "--with-x" "-DWITH_MANPAGES=OFF" - ] ++ stdenv.lib.optional printerSupport "--with-printer=cups" - ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON"; + prePatch = '' + export HOME=$TMP + substituteInPlace "libfreerdp/freerdp.pc.in" \ + --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@" + ''; - meta = { - description = "A Remote Desktop Protocol Client"; + 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 = stdenv.lib.licenses.free; - platforms = stdenv.lib.platforms.linux; - broken = true; + license = licenses.asl20; + maintainers = with maintainers; [ wkennington peterhoeg ]; + platforms = platforms.unix; }; } |