jonhoo / buzz

A simple system tray application for notifying about unseen e-mail

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please list dependencies for buzz

oscarcarlsson opened this issue · comments

Hi,
Is it possible to try to list all the needed dependencies for compiling buzz somewhere? It might be tricky to install otherwise (and takes forever as you have to compile, install missing dependencies, compile again and repeat for each missing package).

Here is the non-complete list of development headers I had to install on my Fedora 25 machine:

  • openssl-devel
  • dbus-devel
  • glib2-devel
  • cairo-devel
  • atk-devel
  • pango-devel
  • gdk-pixbuf2-devel
  • gtk3-devel
  • libappindicator-devel
  • libappindicator-gtk3-devel
  • clang-devel

I'm pretty sure this list is non-exhaustive as I've installed other development headers before for other crates.

Hmm, I'm not sure where the best place is to list them, in particular because they are all introduced by the crates that buzz depends on, and not buzz itself. In some cases, the dependencies are also different for Windows, Linux, and macOS. After walking through those crates, the dependencies I've found are:

  • OpenSSL version 1.0.1 or above, or LibreSSL (from openssl)
  • Libdbus 1.6 or higher (from dbus-rs used by notify-rust)
  • libappindicator3 (from libappindicator-sys from libappindicator from systray)
  • gtk3-devel and glib2-devel (from gtk-rs from systray)

This would be a lot easier to do if the other crates (notify-rust and systray in particular) explicitly listed their dependencies. The dependencies of buzz would then be almost exactly the sum of the two.

I think the libraries above will pull in a bunch of the other dependencies too, but you might be right that there are more. The set of libraries as listed by ldd is (I removed some common ones):

  • libssl
  • libcrypto
  • libappindicator3
  • libgtk-3
  • libgdk-3
  • libgdk_pixbuf-2.0
  • libgobject-2.0
  • libglib-2.0
  • libdbus-1
  • libindicator3
  • libdbusmenu-gtk3
  • libdbusmenu-glib
  • libpangocairo-1.0
  • libpango-1.0
  • libatk-1.0
  • libcairo-gobject
  • libcairo
  • libgio-2.0
  • libgmodule-2.0
  • libX11
  • libXi
  • libXfixes
  • libatk-bridge-2.0
  • libepoxy
  • libpangoft2-1.0
  • libfontconfig
  • libXinerama
  • libXrandr
  • libXcursor
  • libXcomposite
  • libXdamage
  • libxkbcommon
  • libwayland-cursor
  • libwayland-egl
  • libwayland-client
  • libXext
  • libpng16
  • libffi
  • libpcre
  • libsystemd
  • libfreetype
  • libthai
  • libpixman-1
  • libEGL
  • libxcb-shm
  • libxcb
  • libxcb-render
  • libXrender
  • libz
  • libGL
  • libresolv
  • libmount
  • libatspi
  • libharfbuzz
  • libexpat
  • libcap
  • liblzma
  • liblz4
  • libgcrypt
  • libgpg-error
  • libbz2
  • libdatrie
  • libGLdispatch
  • libXau
  • libXdmcp
  • libGLX
  • libblkid
  • libuuid
  • libgraphite2