freerdp: fix build on darwin

This commit is contained in:
Weijia Wang 2022-10-15 18:32:57 +02:00
parent b286501a5e
commit 49bcb8429f
2 changed files with 31 additions and 3 deletions

View File

@ -37,6 +37,11 @@
, libjpeg_turbo
, buildServer ? true
, nocaps ? false
, AudioToolbox
, AVFoundation
, Carbon
, Cocoa
, CoreMedia
}:
let
@ -64,6 +69,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 +90,6 @@ stdenv.mkDerivation rec {
'';
buildInputs = [
alsa-lib
cairo
cups
ffmpeg
@ -111,9 +118,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 +148,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

@ -28418,6 +28418,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;
};