qdot / systray-rs

Allows rust applications to show a platform specific system tray icon and menu.
BSD 3-Clause "New" or "Revised" License
170 stars 66 forks source link

Crate no longer builds due to mixed gtk dependency #26

Closed jonhoo closed 6 years ago

jonhoo commented 6 years ago

Crates that depend on systray 0.2.0 no longer build (e.g., jonhoo/buzz#4) due to a dependency on two different versions of gtk-sys. Specifically, cargo says:

error: multiple packages link to native library `gtk`, but a native library can be linked only once

package `gtk-sys v0.3.4`
    ... which is depended on by `gtk v0.1.3`
    ... which is depended on by `systray v0.2.0`
    ... which is depended on by `buzz v1.0.6 (file:///home/jon/dev/minor/buzz)`
links to native library `gtk`

package `gtk-sys v0.4.0`
    ... which is depended on by `libappindicator-sys v0.1.2`
    ... which is depended on by `libappindicator v0.2.0`
    ... which is depended on by `systray v0.2.0`
    ... which is depended on by `buzz v1.0.6 (file:///home/jon/dev/minor/buzz)`
also links to native library `gtk`

The issue seems to arise from systray depending both on gtk directly and on libappindicator, and libappindicator has bumped their dependency on gtk to a major version ahead the one systray depends on directly.