aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2020-04-19 14:57:25 +0200
committerKatharina Fey <kookie@spacekookie.de>2020-04-19 14:57:25 +0200
commit0ca211d4ec600fa7b3cc701e4997cd1e8d38ebdc (patch)
tree4f9b09ca5d55e44710f020bcf6621daa4fd6b73a /nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
parent1c2ef52230ed2c8b2529c47ce6a857bdde46c7c7 (diff)
parentb61999e4ad60c351b4da63ae3ff43aae3c0bbdfb (diff)
Merge commit 'b61999e4ad60c351b4da63ae3ff43aae3c0bbdfb'
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix126
1 files changed, 79 insertions, 47 deletions
diff --git a/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix b/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
index 5963c6b6c95..be8810dfa7f 100644
--- a/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/nixpkgs/pkgs/applications/networking/remote/freerdp/default.nix
@@ -1,67 +1,99 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig
-, alsaLib, ffmpeg, glib, openssl, pcre, zlib
-, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
-, libxkbcommon, libxkbfile
-, wayland
-, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc
-, libpulseaudio ? null
-, cups ? null
-, pcsclite ? null
-, systemd ? null
-, buildServer ? true
-, nocaps ? false
-}:
+{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, alsaLib, ffmpeg, glib, openssl
+, pcre, zlib, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama
+, libXrandr, libXrender, libXv, libXtst, libxkbcommon, libxkbfile, wayland
+, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt
+, libusb1, libpulseaudio ? null, cups ? null, pcsclite ? null, systemd ? null
+, buildServer ? true, nocaps ? false }:
-stdenv.mkDerivation rec {
+let
+ cmFlag = flag: if flag then "ON" else "OFF";
+ disabledTests = [
+ # this one is probably due to our sandbox
+ {
+ dir = "libfreerdp/crypto/test";
+ file = "Test_x509_cert_info.c";
+ }
+ ];
+
+in stdenv.mkDerivation rec {
pname = "freerdp";
- version = "2.0.0-rc4";
+ version = "2.0.0";
src = fetchFromGitHub {
- owner = "FreeRDP";
- repo = "FreeRDP";
- rev = version;
- sha256 = "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da";
+ owner = "FreeRDP";
+ repo = "FreeRDP";
+ rev = version;
+ sha256 = "0d2559v0z1jnq6jlrvsgdf8p6gd27m8kwdnxckl1x0ygaxs50bqc";
};
- # outputs = [ "bin" "out" "dev" ];
-
- prePatch = ''
+ postPatch = ''
export HOME=$TMP
+
+ # failing test(s)
+ ${lib.concatMapStringsSep "\n" (e: ''
+ substituteInPlace ${e.dir}/CMakeLists.txt \
+ --replace ${e.file} ""
+ rm ${e.dir}/${e.file}
+ '') disabledTests}
+
substituteInPlace "libfreerdp/freerdp.pc.in" \
--replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'' + lib.optionalString (pcsclite != null) ''
substituteInPlace "winpr/libwinpr/smartcard/smartcard_pcsc.c" \
- --replace "libpcsclite.so" "${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so"
+ --replace "libpcsclite.so" "${lib.getLib pcsclite}/lib/libpcsclite.so"
'' + lib.optionalString nocaps ''
substituteInPlace "libfreerdp/locale/keyboard_xkbfile.c" \
--replace "RDP_SCANCODE_CAPSLOCK" "RDP_SCANCODE_LCONTROL"
'';
- buildInputs = with lib; [
- 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
- ];
+ buildInputs = with lib;
+ [
+ alsaLib
+ cups
+ ffmpeg
+ glib
+ gst-plugins-base
+ gst-plugins-good
+ gstreamer
+ libX11
+ libXcursor
+ libXdamage
+ libXext
+ libXi
+ libXinerama
+ libXrandr
+ libXrender
+ libXtst
+ libXv
+ libpulseaudio
+ libunwind
+ libusb1
+ libxkbcommon
+ libxkbfile
+ libxslt
+ openssl
+ orc
+ pcre
+ pcsclite
+ wayland
+ zlib
+ ] ++ optional stdenv.isLinux systemd;
- enableParallelBuilding = true;
+ nativeBuildInputs = [ cmake pkgconfig ];
- doCheck = false;
+ doCheck = true;
- 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 (stdenv.isx86_64) "-DWITH_SSE2=ON";
+ cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]
+ ++ lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
+ BUILD_TESTING = doCheck;
+ WITH_CUNIT = doCheck;
+ WITH_CUPS = (cups != null);
+ WITH_OSS = false;
+ WITH_PCSC = (pcsclite != null);
+ WITH_PULSE = (libpulseaudio != null);
+ WITH_SERVER = buildServer;
+ WITH_SSE2 = stdenv.isx86_64;
+ };
meta = with lib; {
description = "A Remote Desktop Protocol Client";
@@ -69,9 +101,9 @@ stdenv.mkDerivation rec {
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
- homepage = http://www.freerdp.com/;
+ homepage = "https://www.freerdp.com/";
license = licenses.asl20;
- maintainers = with maintainers; [ peterhoeg ];
+ maintainers = with maintainers; [ peterhoeg lheckemann ];
platforms = platforms.unix;
};
}