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 , libjpeg_turbo
, buildServer ? true , buildServer ? true
, nocaps ? false , nocaps ? false
, AudioToolbox
, AVFoundation
, Carbon
, Cocoa
, CoreMedia
}: }:
let let
@ -64,6 +69,9 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
export HOME=$TMP export HOME=$TMP
# skip NIB file generation on darwin
sed -z 's/NIB file generation.*//' -i client/Mac{,/cli}/CMakeLists.txt
# failing test(s) # failing test(s)
${lib.concatMapStringsSep "\n" (e: '' ${lib.concatMapStringsSep "\n" (e: ''
substituteInPlace ${e.dir}/CMakeLists.txt \ substituteInPlace ${e.dir}/CMakeLists.txt \
@ -82,7 +90,6 @@ stdenv.mkDerivation rec {
''; '';
buildInputs = [ buildInputs = [
alsa-lib
cairo cairo
cups cups
ffmpeg ffmpeg
@ -111,9 +118,18 @@ stdenv.mkDerivation rec {
orc orc
pcre pcre
pcsclite pcsclite
wayland
zlib 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 ]; nativeBuildInputs = [ cmake pkg-config ];
@ -132,8 +148,19 @@ stdenv.mkDerivation rec {
WITH_VAAPI = true; WITH_VAAPI = true;
WITH_JPEG = (libjpeg_turbo != null); WITH_JPEG = (libjpeg_turbo != null);
WITH_CAIRO = (cairo != 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; { meta = with lib; {
description = "A Remote Desktop Protocol Client"; description = "A Remote Desktop Protocol Client";
longDescription = '' longDescription = ''

View File

@ -28418,6 +28418,7 @@ with pkgs;
xrdp = callPackage ../applications/networking/remote/xrdp { }; xrdp = callPackage ../applications/networking/remote/xrdp { };
freerdp = callPackage ../applications/networking/remote/freerdp { 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; inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good;
}; };