buzz icon indicating copy to clipboard operation
buzz copied to clipboard

Please list dependencies for buzz

Open oscarcarlsson opened this issue 7 years ago • 1 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.

oscarcarlsson avatar May 10 '17 09:05 oscarcarlsson

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

jonhoo avatar May 10 '17 15:05 jonhoo