-
-
Notifications
You must be signed in to change notification settings - Fork 259
macOS
macOS is currently not officially supported. This should change in the future. Until then, this page provides the information you need to get Dino running. Problems are to be expected.
The following instructions expect you to use a Terminal emulator, for example the Terminal.app included with macOS. Open it and type in the commands as described.
- If you don't have XCode tools installed, install them using
$ xcode-select --install
- If you don't already have homebrew installed, install it using
See https://brew.sh for updated installation instructions of homebrew.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" - Make sure all the required dependencies are installed by running
$ brew install adwaita-icon-theme glib glib-networking gpgme icu4c libgpg-error libgcrypt gtk+3 gtk4 libsignal-protocol-c libgee libsoup libsoup@2 sqlite cmake gettext ninja vala qrencode libxml2 gspell gst-plugins-base srtp libnice
- Download the source code from the git in a directory of your choice (use
cdto change the current working directory)$ git clone https://github.com/dino/dino.git $ cd dino - Configure and compile the dino in a brew shell
$ brew sh $ ./configure $ make $ exit - Fix the filename of plugins
$ zsh -e -x -c 'for plugin in build/plugins/*.dylib; do mv ${plugin} ${plugin%.dylib}.so; done'
You are done. Start dino by typing ./build/dino. If you want to update to the latest version, run git pull and redo steps 5 and 6.
TODO: Package dino in a bundle for nice installation.
You can also install dino through brew via brew install ./dino.rb with the following dino.rb, note that it will not update:
class Dino < Formula
desc "Dino is a modern XMPP client"
homepage "https://dino.im"
url "https://github.com/dino/dino.git"
version "latest"
depends_on "meson" => :build
depends_on "ninja" => :build
depends_on "adwaita-icon-theme"
depends_on "libadwaita"
depends_on "glib"
depends_on "glib-networking"
depends_on "gpgme"
depends_on "icu4c"
depends_on "libgpg-error"
depends_on "libgcrypt"
depends_on "gtk+3"
depends_on "gtk4"
depends_on "libsignal-protocol-c"
depends_on "libgee"
depends_on "libsoup"
depends_on "libsoup@2"
depends_on "sqlite"
depends_on "cmake"
depends_on "gettext"
depends_on "ninja"
depends_on "vala"
depends_on "qrencode"
depends_on "libxml2"
depends_on "gspell"
depends_on "gst-plugins-base"
depends_on "srtp"
depends_on "libnice"
depends_on "zsh"
def install
system "meson", "setup", "build"
system "meson", "compile", "-C", "build"
# Required for running
lib.install "build/libdino/libdino.0.dylib"
lib.install "build/qlite/libqlite.0.dylib"
lib.install "build/xmpp-vala/libxmpp-vala.0.dylib"
lib.install "build/crypto-vala/libcrypto-vala.0.dylib"
# Installed to be sure, might not be needed
lib.install "build/crypto-vala/libcrypto-vala.dylib"
lib.install "build/xmpp-vala/libxmpp-vala.dylib"
lib.install "build/plugins/openpgp/openpgp.dylib"
lib.install "build/plugins/ice/ice.dylib"
lib.install "build/plugins/http-files/http-files.dylib"
lib.install "build/plugins/rtp/rtp.dylib"
lib.install "build/libdino/libdino.dylib"
lib.install "build/qlite/libqlite.dylib"
bin.install "build/main/dino"
end
test do
system "#{bin}/dino", "--version"
end
endThis file is far from ideal, but it does work and gives a base to work off.
As of writing (Apr 2025), encryption tab is empty and uploading files does not work.
Guides to run virtualized macOS:
- VirtualBox: https://github.com/myspaghetti/macos-guest-virtualbox
- KVM/QEMU/libvirt: https://github.com/foxlet/macOS-Simple-KVM