diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 9c286d008320..795f71a3cd01 100644 --- a/pkgs/applications/networking/instant-messengers/dino/default.nix +++ b/pkgs/applications/networking/instant-messengers/dino/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub , vala, cmake, ninja, wrapGAppsHook, pkgconfig, gettext , gobject-introspection, gnome3, glib, gdk-pixbuf, gtk3, glib-networking , xorg, libXdmcp, libxkbcommon @@ -60,23 +60,39 @@ stdenv.mkDerivation rec { libgcrypt libsoup pcre - xorg.libxcb - xorg.libpthreadstubs - libXdmcp - libxkbcommon epoxy at-spi2-core dbus icu libsignal-protocol-c librsvg + ] ++ lib.optionals (!stdenv.isDarwin) [ + xorg.libxcb + xorg.libpthreadstubs + libXdmcp + libxkbcommon ]; + # Dino looks for plugins with a .so filename extension, even on macOS where + # .dylib is appropriate, and despite the fact that it builds said plugins with + # that as their filename extension + # + # Therefore, on macOS rename all of the plugins to use correct names that Dino + # will load + # + # See https://github.com/dino/dino/wiki/macOS + postFixup = lib.optionalString (stdenv.isDarwin) '' + cd "$out/lib/dino/plugins/" + for f in *.dylib; do + mv "$f" "$(basename "$f" .dylib).so" + done + ''; + meta = with stdenv.lib; { description = "Modern Jabber/XMPP Client using GTK/Vala"; homepage = "https://github.com/dino/dino"; license = licenses.gpl3; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ mic92 qyliss ]; }; }