Merge pull request #196162 from wegank/freerdp-darwin

freerdp: fix build on darwin
This commit is contained in:
Linus Heckemann 2022-10-17 10:02:46 +02:00 committed by GitHub
commit eaba04def7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 3 deletions

View File

@ -37,6 +37,11 @@
, libjpeg_turbo
, buildServer ? true
, nocaps ? false
, AudioToolbox
, AVFoundation
, Carbon
, Cocoa
, CoreMedia
}:
let
@ -47,6 +52,11 @@ let
dir = "libfreerdp/crypto/test";
file = "Test_x509_cert_info.c";
}
] ++ lib.optionals stdenv.isDarwin [
{
dir = "winpr/libwinpr/sysinfo/test";
file = "TestGetComputerName.c";
}
];
in
@ -64,6 +74,9 @@ stdenv.mkDerivation rec {
postPatch = ''
export HOME=$TMP
# skip NIB file generation on darwin
sed -z 's/NIB file generation.*//' -i client/Mac{,/cli}/CMakeLists.txt
# failing test(s)
${lib.concatMapStringsSep "\n" (e: ''
substituteInPlace ${e.dir}/CMakeLists.txt \
@ -82,7 +95,6 @@ stdenv.mkDerivation rec {
'';
buildInputs = [
alsa-lib
cairo
cups
ffmpeg
@ -111,9 +123,18 @@ stdenv.mkDerivation rec {
orc
pcre
pcsclite
wayland
zlib
] ++ lib.optional stdenv.isLinux systemd;
] ++ lib.optionals stdenv.isLinux [
alsa-lib
systemd
wayland
] ++ lib.optionals stdenv.isDarwin [
AudioToolbox
AVFoundation
Carbon
Cocoa
CoreMedia
];
nativeBuildInputs = [ cmake pkg-config ];
@ -132,8 +153,19 @@ stdenv.mkDerivation rec {
WITH_VAAPI = true;
WITH_JPEG = (libjpeg_turbo != null);
WITH_CAIRO = (cairo != null);
WITH_X11 = true;
};
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin [
"-DTARGET_OS_IPHONE=0"
"-DTARGET_OS_WATCH=0"
"-include AudioToolbox/AudioToolbox.h"
];
NIX_LDFLAGS = lib.optionals stdenv.isDarwin [
"-framework AudioToolbox"
];
meta = with lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''

View File

@ -44,6 +44,11 @@ stdenv.mkDerivation rec {
};
};
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin [
"-DTARGET_OS_IPHONE=0"
"-DTARGET_OS_WATCH=0"
];
meta = with lib; {
homepage = "https://gitlab.gnome.org/GNOME/gtk-frdp";
description = "RDP viewer widget for GTK";

View File

@ -28436,6 +28436,7 @@ with pkgs;
xrdp = callPackage ../applications/networking/remote/xrdp { };
freerdp = callPackage ../applications/networking/remote/freerdp {
inherit (darwin.apple_sdk.frameworks) AudioToolbox AVFoundation Carbon Cocoa CoreMedia;
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good;
};