diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index 89e952945c87..ea09e1a942f1 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -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 = '' diff --git a/pkgs/development/libraries/gtk-frdp/default.nix b/pkgs/development/libraries/gtk-frdp/default.nix index 4498930bd838..a76805d8d1fb 100644 --- a/pkgs/development/libraries/gtk-frdp/default.nix +++ b/pkgs/development/libraries/gtk-frdp/default.nix @@ -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"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b4335a67d37c..5bbd7b64d18b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; };