Package Details: labwc 0.8.1-1

Git Clone URL: https://aur.archlinux.org/labwc.git (read-only, click to copy)
Package Base: labwc
Description: stacking wayland compositor with look and feel from openbox
Upstream URL: https://github.com/labwc/labwc
Licenses: GPL-2.0-only
Submitter: TrialnError
Maintainer: TrialnError
Last Packager: TrialnError
Votes: 46
Popularity: 4.36
First Submitted: 2021-03-07 19:37 (UTC)
Last Updated: 2024-10-25 19:59 (UTC)

Dependencies (13)

Sources (1)

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

knm100 commented on 2024-01-07 02:55 (UTC)

when i run a x11 app on xwayland, the labwc will crash. I run labwc in vmware workstation 17.5.

TrialnError commented on 2023-12-22 21:21 (UTC) (edited on 2023-12-22 21:27 (UTC) by TrialnError)

Head->Desk -_- Thanks for the heads-up flxrbr. Didn't notice I missed something because I build this in a clean chroot. Fix incoming.

Edit: To clarify: if wlroots and wlroots0.16 are installed, the export in the build() function would work. Build fails.
In a clean chroot the dir is missing and therefore will find the 0.17.x version.

flxrbr commented on 2023-12-22 21:17 (UTC)

Can't install this new version:

<codeDependency wlroots found: NO found 0.16.2 but need: '>=0.17.0' ; matched: '<0.18.0'
Found CMake: /usr/bin/cmake (3.28.1)
Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency wlroots

labwc-0.7.0/meson.build:51:10: ERROR: Automatic wrap-based subproject downloading is disabled

A full log can be found at /home/faugus/.cache/yay/labwc/src/build/meson-logs/meson-log.txt
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: labwc-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
labwc - exit status 4

TrialnError commented on 2023-11-27 13:38 (UTC)

Please post the initial output of meson where it checks the dependencies.
And how are you building this? makepkgor some AUR helper like yay?
As of now not reproducible on my side.

BlondVador commented on 2023-11-27 01:27 (UTC) (edited on 2023-11-27 01:28 (UTC) by BlondVador)

Can't build :

[108/108] Linking target labwc FAILED: labwc cc -o labwc labwc.p/src_action.c.o labwc.p/src_buffer.c.o labwc.p/src_debug.c.o labwc.p/src_desktop.c.o labwc.p/src_dnd.c.o labwc.p/src_foreign.c.o labwc.p/src_idle.c.o labwc.p/src_interactive.c.o labwc.p/src_layers.c.o labwc.p/src_main.c.o labwc.p/src_node.c.o labwc.p/src_osd.c.o labwc.p/src_output.c.o labwc.p/src_regions.c.o labwc.p/src_resistance.c.o labwc.p/src_seat.c.o labwc.p/src_server.c.o labwc.p/src_session-lock.c.o labwc.p/src_snap.c.o labwc.p/src_theme.c.o labwc.p/src_view.c.o labwc.p/src_view-impl-common.c.o labwc.p/src_window-rules.c.o labwc.p/src_workspaces.c.o labwc.p/src_xdg.c.o labwc.p/src_xdg-popup.c.o labwc.p/src_xwayland.c.o labwc.p/src_xwayland-unmanaged.c.o labwc.p/src_button_button-png.c.o labwc.p/src_button_button-xbm.c.o labwc.p/src_button_common.c.o labwc.p/src_button_button-svg.c.o labwc.p/src_common_buf.c.o labwc.p/src_common_dir.c.o labwc.p/src_common_fd_util.c.o labwc.p/src_common_file-helpers.c.o labwc.p/src_common_font.c.o labwc.p/src_common_grab-file.c.o labwc.p/src_common_graphic-helpers.c.o labwc.p/src_common_match.c.o labwc.p/src_common_mem.c.o labwc.p/src_common_nodename.c.o labwc.p/src_common_parse-bool.c.o labwc.p/src_common_scaled_font_buffer.c.o labwc.p/src_common_scaled_scene_buffer.c.o labwc.p/src_common_scene-helpers.c.o labwc.p/src_common_spawn.c.o labwc.p/src_common_string-helpers.c.o labwc.p/src_config_rcxml.c.o labwc.p/src_config_keybind.c.o labwc.p/src_config_session.c.o labwc.p/src_config_mousebind.c.o labwc.p/src_config_libinput.c.o labwc.p/src_decorations_kde-deco.c.o labwc.p/src_decorations_xdg-deco.c.o labwc.p/src_input_cursor.c.o labwc.p/src_input_gestures.c.o labwc.p/src_input_input.c.o labwc.p/src_input_keyboard.c.o labwc.p/src_input_key-state.c.o labwc.p/src_input_touch.c.o labwc.p/src_menu_menu.c.o labwc.p/src_ssd_resize_indicator.c.o labwc.p/src_ssd_ssd.c.o labwc.p/src_ssd_ssd_part.c.o labwc.p/src_ssd_ssd_titlebar.c.o labwc.p/src_ssd_ssd_border.c.o labwc.p/src_ssd_ssd_extents.c.o -flto -Wl,--as-needed -Wl,--no-undefined -pie -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wl,--start-group protocols/libserver_protos.a /usr/lib/libwayland-server.so /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../lib/libwlroots.so /usr/lib/libxkbcommon.so /usr/lib/libxcb-icccm.so /usr/lib/libxcb.so /usr/lib/libxml2.so /usr/lib/libglib-2.0.so /usr/lib/libcairo.so /usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libharfbuzz.so /usr/lib/libinput.so -lm /usr/lib/libpng16.so /usr/lib/librsvg-2.so /usr/lib/libgio-2.0.so /usr/lib/libgdk_pixbuf-2.0.so -Wl,--end-group /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « dump_tree » : <artificial>:(.text+0xc7f): undefined reference towlr_scene_surface_from_buffer' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « handle_idle_inhibitor_new » : <artificial>:(.text+0x11c0): undefined reference to wlr_idle_set_enabled' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « handle_idle_inhibitor_destroy » : <artificial>:(.text+0x1249): undefined reference towlr_idle_set_enabled' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « focus_change_notify » : <artificial>:(.text+0x1db4): undefined reference to wlr_surface_is_xdg_surface' /usr/bin/ld: <artificial>:(.text+0x1dc5): undefined reference towlr_surface_is_xwayland_surface' /usr/bin/ld: <artificial>:(.text+0x1dd2): undefined reference to wlr_xwayland_surface_from_wlr_surface' /usr/bin/ld: <artificial>:(.text+0x1e6d): undefined reference towlr_xdg_surface_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « desktop_focus_view_or_surface » : <artificial>:(.text+0x3a58): undefined reference to wlr_surface_is_xwayland_surface' /usr/bin/ld: <artificial>:(.text+0x3a75): undefined reference towlr_xwayland_surface_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « get_cursor_context » : <artificial>:(.text+0x3f16): undefined reference to wlr_scene_surface_from_buffer' /usr/bin/ld: <artificial>:(.text+0x3f5e): undefined reference towlr_scene_surface_from_buffer' /usr/bin/ld: <artificial>:(.text+0x3f7d): undefined reference to wlr_surface_is_layer_surface' /usr/bin/ld: <artificial>:(.text+0x3ff1): undefined reference towlr_scene_surface_from_buffer' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « interactive_begin » : <artificial>:(.text+0x452f): undefined reference to wlr_xcursor_manager_set_cursor_image' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « handle_output_manager_apply » : <artificial>:(.text+0x65f2): undefined reference towlr_output_layout_move' /usr/bin/ld: /tmp/ccluff6k.ltrans0.ltrans.o : dans la fonction « main » : <artificial>:(.text.startup+0xff0): undefined reference to wlr_idle_create' /usr/bin/ld: /tmp/ccluff6k.ltrans1.ltrans.o : dans la fonction « xwayland_view_is_related » : <artificial>:(.text+0x1f14): undefined reference towlr_surface_is_xwayland_surface' /usr/bin/ld: <artificial>:(.text+0x1f2d): undefined reference to wlr_xwayland_surface_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans1.ltrans.o : dans la fonction « handle_request_activate.lto_priv.1 » : <artificial>:(.text+0x2386): undefined reference towlr_xwayland_surface_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans1.ltrans.o : dans la fonction « xdg_activation_handle_request.lto_priv.0 » : <artificial>:(.text+0x4ac3): undefined reference to wlr_surface_is_xdg_surface' /usr/bin/ld: <artificial>:(.text+0x4ade): undefined reference towlr_xdg_surface_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans1.ltrans.o : dans la fonction « xdg_popup_create » : <artificial>:(.text+0x81f6): undefined reference to wlr_surface_is_xdg_surface' /usr/bin/ld: <artificial>:(.text+0x8208): undefined reference towlr_xdg_surface_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « get_toplevel » : <artificial>:(.text+0x6fe): undefined reference to wlr_surface_is_xdg_surface' /usr/bin/ld: <artificial>:(.text+0x70b): undefined reference towlr_xdg_surface_from_wlr_surface' /usr/bin/ld: <artificial>:(.text+0x74d): undefined reference to wlr_surface_is_layer_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « touch_motion.lto_priv.0 » : <artificial>:(.text+0xddb): undefined reference towlr_idle_notify_activity' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « touch_down.lto_priv.0 » : <artificial>:(.text+0x103e): undefined reference to wlr_scene_surface_from_buffer' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_set » : <artificial>:(.text+0x3c83): undefined reference towlr_xcursor_manager_set_cursor_image' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_update_common » : <artificial>:(.text+0x40a3): undefined reference to wlr_surface_is_layer_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_axis.lto_priv.0 » : <artificial>:(.text+0x4231): undefined reference towlr_idle_notify_activity' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_update_image » : <artificial>:(.text+0x4625): undefined reference to wlr_xcursor_manager_set_cursor_image' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « preprocess_cursor_motion » : <artificial>:(.text+0x5e54): undefined reference towlr_xcursor_manager_set_cursor_image' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_motion.lto_priv.0 » : <artificial>:(.text+0x60fb): undefined reference to wlr_idle_notify_activity' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_motion_absolute.lto_priv.0 » : <artificial>:(.text+0x61b6): undefined reference towlr_idle_notify_activity' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « handle_compositor_keybindings.isra.0 » : <artificial>:(.text+0x64e4): undefined reference to wlr_backend_get_session' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « keyboard_key_notify.lto_priv.0 » : <artificial>:(.text+0x6d00): undefined reference towlr_idle_notify_activity' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « cursor_button.lto_priv.0 » : <artificial>:(.text+0x7437): undefined reference to wlr_idle_notify_activity' /usr/bin/ld: <artificial>:(.text+0x7a7f): undefined reference towlr_layer_surface_v1_from_wlr_surface' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « ssd_get_part_type » : <artificial>:(.text+0x80eb): undefined reference to wlr_scene_surface_from_buffer' /usr/bin/ld: /tmp/ccluff6k.ltrans2.ltrans.o : dans la fonction « handle_new_server_decoration.lto_priv.0 » : <artificial>:(.text+0x83e1): undefined reference towlr_surface_is_xdg_surface' /usr/bin/ld: <artificial>:(.text+0x8442): undefined reference to wlr_xdg_surface_from_wlr_surface' collect2: erreur: ld a retourné le statut de sortie 1 ninja: build stopped: subcommand failed. ==> ERREUR : Une erreur s’est produite dans build(). Abandon…

TrialnError commented on 2023-11-23 15:42 (UTC)

Didn't expect a wlroots release :D
Yes, you're right bgiovanni. That dep needs to be adjusted now. And although the 0.6.6 release of labwc is around, I don't expect they will merge the wlroots 0.17 support that late.

bgiovanni commented on 2023-11-23 08:20 (UTC) (edited on 2023-11-23 08:20 (UTC) by bgiovanni)

@TrialnError: Lately the wlroots package from the main repos has been upgraded to a new major verison (0.17.0) which I don't believe is compatible with the current release of labwc. This package should probably change the 'wlroots' dep to the newly introduced package 'wlroots0.16'; otherwise people will face annoyances when upgrading their systems with labwc installed because pacman is actively trying to upgrade to wlroots 0.17.

scruffidog commented on 2023-03-26 02:30 (UTC)

Thanks for the quick response!

So the way I was thinking about it, the hard dependency would turn into a soft one. I figure if xwayland was needed explicitly, I can always invoke it within the autostart as a nested instance. This way, modifying a script is much easier than recompiling. And it brings me Marie Condo sense of joy in obsessively simplifying/removing cruft/stuff...

On the other hand, my record for maintenance usually descends into bit-rot due to laziness, so I am more than appreciative for the work your doing.

TrialnError commented on 2023-03-21 20:49 (UTC) (edited on 2023-03-21 20:51 (UTC) by TrialnError)

It is surely possible, but not in general as I want the xwayland support, scruffidog.
And unless they make use of dlopen() this stays as a hard dep.
If you want to disable xwayland support you can disable it locally and rebase this change for every update. See a possible patch below. Dunno about the savings of this, as xwayland is fairly standalone. I suspect it won't be that much.

commit d12b8c6bca7b56cc7b4e980fa6b0bd1a9fcf368d
Author: Narrat <autumn-wind@web.de>
Date:   Tue Mar 21 21:42:58 2023 +0100

    labwc: disable xwayland

diff --git a/.SRCINFO b/.SRCINFO
index 49317ff..68fff25 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -12,7 +12,6 @@ pkgbase = labwc
    depends = wayland
    depends = wlroots>=0.16
    depends = wlroots<0.17
-   depends = xorg-xwayland
    optdepends = bemenu: default launcher via Alt+F3
    source = labwc-0.6.2.tar.gz::https://github.com/labwc/labwc/archive/0.6.2.tar.gz
    b2sums = faaacae252a82fa4ff37f1c63fea94ccdec4b590dde49b1f72170238682649381b7184f9c3ec6c5ed1fb46cbd7f44d7208a226b3e03b99b2c998d7f12b710232
diff --git a/PKGBUILD b/PKGBUILD
index 1b25053..487c2ec 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgdesc='stacking wayland compositor with look and feel from openbox'
 url="https://github.com/labwc/labwc"
 arch=('x86_64')
 license=('GPL2')
-depends=('pango' 'wayland' 'wlroots>=0.16' 'wlroots<0.17' 'xorg-xwayland')
+depends=('pango' 'wayland' 'wlroots>=0.16' 'wlroots<0.17')
 makedepends=('meson' 'scdoc' 'wayland-protocols')
 optdepends=("bemenu: default launcher via Alt+F3")
 source=(${pkgname}-${pkgver}.tar.gz::"https://github.com/labwc/labwc/archive/${pkgver}.tar.gz")
@@ -15,7 +15,7 @@ b2sums=('faaacae252a82fa4ff37f1c63fea94ccdec4b590dde49b1f72170238682649381b7184f


 build() {
-  arch-meson -Dman-pages=enabled "$pkgname-$pkgver" build
+  arch-meson -Dman-pages=enabled -Dxwayland=disabled "$pkgname-$pkgver" build
   meson compile -C build
 }

scruffidog commented on 2023-03-21 19:41 (UTC)

A new release and a question: is it possible to have a wayland only version without the Xwayland ? I assume it would simplify the dependency list somewhat and minimize cruft. I believe this can be accomplished via:

meson -Dxwayland=disabled build/