Aylur / ags

A customizable and extensible shell
GNU General Public License v3.0
2.24k stars 117 forks source link

Clarification about dependencies #253

Closed DaniD3v closed 9 months ago

DaniD3v commented 9 months ago

I'm writing a gentoo ebuild for this because the one in the xira repo is broken.

The official PKGBUILD has the following dependencies.

makedepends=('meson' 'npm') depends=('glib2' 'libpulse' 'glibc' 'typescript' 'gjs' 'gtk3' 'gtk-layer-shell' 'gobject-introspection' 'libsoup3') optdepends=('gnome-bluetooth-3.0: required for bluetooth service' 'upower: required for battery service' 'networkmanager: required for network service' 'libdbusmenu-gtk3: required for systemtray service'

However the gentoo ebuild I found (which apperently worked 2 months ago) has these dependencies

DEPEND=" dev-libs/gjs x11-libs/gtk+ gui-libs/gtk-layer-shell[introspection] net-wireless/gnome-bluetooth

sys-power/upower
net-misc/networkmanager
dev-libs/gobject-introspection
dev-libs/libdbusmenu[gtk3]

" BDEPEND=" net-libs/nodejs dev-lang/typescript dev-util/meson "

I don't really care about the bdepends, but I'm wondering how the ebuild worked when he didn't include dependencies like libsoup3. Is that a optional dependency with networkmanager? also does this really require libpulse? Maybe the ebuild writer just happened to have that installed on his system or is it kinda optional as well?

Also do you have any plans of adding use-flags/features to prevent compiling specific parts you don't need? Don't know if that's even possible with ts tho.

kotontrion commented 9 months ago

I haven't gotten around to test the dependencies properly yet. There are a few packages listed as dependencies, that can be moved to the make dependencies.

libsoup3 is a dependency introduced in the latest release (v1.6.3) and is required. (needed for Utils.fetch) libpulse is theoretically optional, ( required for the audio service ) but needed because gvc is always built. typescript and gobject-introspection should be make dependencies

Aylur commented 9 months ago

We can move the libsoup3 import into a dynamic import in js so that it is not a hard dependency I plan on a Utils.notify function that will depend on libnotify and I plan to make it optional too