diff options
author | Erin Shepherd <erin.shepherd@e43.eu> | 2020-09-21 20:43:11 +0200 |
---|---|---|
committer | Erin Shepherd <erin.shepherd@e43.eu> | 2020-09-21 20:43:11 +0200 |
commit | 4990bd11957a09f488c851ccd1f22e4da2c425c5 (patch) | |
tree | 1878894b6d6183aeaaf3538a9ac7382a4e5265c4 /pkgs/applications/networking/instant-messengers/dino | |
parent | 26e6732724e1017e8f8fa750a52b5903486f7c2c (diff) |
Dino: Enable on macOS/Darwin
* Remove direct dependencies on some X11 libs. We still inherit them through Gtk+ but it's a start * Rename plugin files from .dylib to .so so Dino's plugin loader finds them The experience is still somewhat janky (no app icon, macOS thinks the app is called ".dino-wrapped", and the Cocoa menu bar is nonresponsive), but beyond this things mostly work fine
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/dino')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/dino/default.nix | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 9c286d0083209..70661fd942650 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 ]; }; } |