From 1751ee35aa300655286c5961d20d70b229c460ac Mon Sep 17 00:00:00 2001 From: Michael Alyn Miller Date: Sun, 25 Jan 2015 20:39:46 -0800 Subject: [PATCH] freerdp: Use absolute path when calling dlopen --- .../remote/freerdp/dlopen-absolute-paths.diff | 25 +++++++++++++++++++ .../networking/remote/freerdp/unstable.nix | 8 ++++++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff diff --git a/pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff b/pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff new file mode 100644 index 000000000000..2037ad6acb9f --- /dev/null +++ b/pkgs/applications/networking/remote/freerdp/dlopen-absolute-paths.diff @@ -0,0 +1,25 @@ +*** FreeRDP-1.2.0-beta1+android7-src/winpr/libwinpr/smartcard/smartcard_pcsc.c.orig 2015-01-25 19:10:03.971628580 -0800 +--- FreeRDP-1.2.0-beta1+android7-src/winpr/libwinpr/smartcard/smartcard_pcsc.c 2015-01-25 19:55:05.453980544 -0800 +*************** +*** 2807,2816 **** + #ifdef __MACOSX__ + g_PCSCModule = LoadLibraryA("/System/Library/Frameworks/PCSC.framework/PCSC"); + #else +! g_PCSCModule = LoadLibraryA("libpcsclite.so.1"); + + if (!g_PCSCModule) +! g_PCSCModule = LoadLibraryA("libpcsclite.so"); + #endif + + if (!g_PCSCModule) +--- 2807,2816 ---- + #ifdef __MACOSX__ + g_PCSCModule = LoadLibraryA("/System/Library/Frameworks/PCSC.framework/PCSC"); + #else +! g_PCSCModule = LoadLibraryA("@pcsclite@/lib/libpcsclite.so.1"); + + if (!g_PCSCModule) +! g_PCSCModule = LoadLibraryA("@pcsclite@/lib/libpcsclite.so"); + #endif + + if (!g_PCSCModule) diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix index 00e5a4f93ee6..a1528dd1255b 100644 --- a/pkgs/applications/networking/remote/freerdp/unstable.nix +++ b/pkgs/applications/networking/remote/freerdp/unstable.nix @@ -1,5 +1,6 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor , libXdamage, libXext, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv +, substituteAll , pulseaudio ? null, cups ? null, pcsclite ? null }: @@ -13,6 +14,13 @@ stdenv.mkDerivation rec { sha256 = "08nn18jydblrif1qs92pakzd3ww7inr0i378ssn1bjp09lm1bkk0"; }; + patches = [ + ] ++ stdenv.lib.optional (pcsclite != null) + (substituteAll { + src = ./dlopen-absolute-paths.diff; + inherit pcsclite; + }); + buildInputs = [ cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext glib alsaLib ffmpeg libxkbfile libXinerama libXv cups pulseaudio pcsclite