summary refs log tree commit diff
path: root/pkgs/applications/networking/remote
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-08-06 00:48:18 +0200
committerGitHub <noreply@github.com>2023-08-06 00:48:18 +0200
commita62f04fdd9c8afefffa0c33f249464866bf855aa (patch)
treee8f5a99789ac35780af22695dae27871fa2eebfb /pkgs/applications/networking/remote
parent148e69a477594c6b40061124dd39b5ab704d0b97 (diff)
parent6137ab75328a8e177bc21ff24f649de37733107a (diff)
downloadnixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.tar
nixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.tar.gz
nixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.tar.bz2
nixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.tar.lz
nixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.tar.xz
nixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.tar.zst
nixpkgs-a62f04fdd9c8afefffa0c33f249464866bf855aa.zip
Merge pull request #244258 from Enzime/remmina-macos
remmina: support building on macOS
Diffstat (limited to 'pkgs/applications/networking/remote')
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix38
1 files changed, 26 insertions, 12 deletions
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 345e838c8cd..2972b21d5aa 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -7,19 +7,19 @@
 , openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk_4_1, harfbuzz
 # The themes here are soft dependencies; only icons are missing without them.
 , gnome
-, withKf5Wallet ? true, libsForQt5
-, withLibsecret ? true
+, withKf5Wallet ? stdenv.isLinux, libsForQt5
+, withLibsecret ? stdenv.isLinux
 , withVte ? true
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "remmina";
   version = "1.4.31";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
-    rev    = "v${version}";
+    rev    = "v${finalAttrs.version}";
     sha256 = "sha256-oEgpav4oQ9Sld9PY4TsutS5xEnhQgOHnpQhDesRFTeQ=";
   };
 
@@ -29,14 +29,15 @@ stdenv.mkDerivation rec {
     gsettings-desktop-schemas
     glib gtk3 gettext libxkbfile libX11
     freerdp libssh libgcrypt gnutls
-    pcre2 libdbusmenu-gtk3 libappindicator-gtk3
+    pcre2
     libvncserver libpthreadstubs libXdmcp libxkbcommon
     libsoup_3 spice-protocol
     spice-gtk
     libepoxy at-spi2-core
-    openssl gnome.adwaita-icon-theme json-glib libsodium webkitgtk_4_1
+    openssl gnome.adwaita-icon-theme json-glib libsodium
     harfbuzz python3
-  ] ++ lib.optionals withLibsecret [ libsecret ]
+  ] ++ lib.optionals stdenv.isLinux [ libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ]
+    ++ lib.optionals withLibsecret [ libsecret ]
     ++ lib.optionals withKf5Wallet [ libsForQt5.kwallet ]
     ++ lib.optionals withVte [ vte ];
 
@@ -46,17 +47,30 @@ stdenv.mkDerivation rec {
     "-DWITH_AVAHI=OFF"
     "-DWITH_KF5WALLET=${if withKf5Wallet then "ON" else "OFF"}"
     "-DWITH_LIBSECRET=${if withLibsecret then "ON" else "OFF"}"
-    "-DFREERDP_LIBRARY=${freerdp}/lib/libfreerdp2.so"
-    "-DFREERDP_CLIENT_LIBRARY=${freerdp}/lib/libfreerdp-client2.so"
-    "-DFREERDP_WINPR_LIBRARY=${freerdp}/lib/libwinpr2.so"
+    "-DFREERDP_LIBRARY=${freerdp}/lib/libfreerdp2${stdenv.hostPlatform.extensions.sharedLibrary}"
+    "-DFREERDP_CLIENT_LIBRARY=${freerdp}/lib/libfreerdp-client2${stdenv.hostPlatform.extensions.sharedLibrary}"
+    "-DFREERDP_WINPR_LIBRARY=${freerdp}/lib/libwinpr2${stdenv.hostPlatform.extensions.sharedLibrary}"
     "-DWINPR_INCLUDE_DIR=${freerdp}/include/winpr2"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "-DHAVE_LIBAPPINDICATOR=OFF"
+    "-DWITH_CUPS=OFF"
+    "-DWITH_ICON_CACHE=OFF"
+    "-DWITH_WEBKIT2GTK=OFF"
   ];
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin (toString [
+    "-DTARGET_OS_IPHONE=0"
+    "-DTARGET_OS_WATCH=0"
+  ]);
+
   dontWrapQtApps = true;
 
   preFixup = ''
     gappsWrapperArgs+=(
       --prefix LD_LIBRARY_PATH : "${libX11.out}/lib"
+      ${lib.optionalString stdenv.isDarwin ''
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
+      ''}
     )
   '';
 
@@ -65,6 +79,6 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/Remmina/Remmina";
     description = "Remote desktop client written in GTK";
     maintainers = with maintainers; [ melsigl ryantm ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
-}
+})