Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency
@ 2023-12-21 15:35 Adam Duskett
  0 siblings, 0 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:35 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

As per backend/drm/meson.build:1-7

hwdata = dependency('hwdata', required: false, native: true)
if hwdata.found()
	hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir')
	pnp_ids = files(hwdata_dir / 'pnp.ids')
else
	pnp_ids = files('/usr/share/hwdata/pnp.ids')
endif

On a build in a fresh debian container with a minimal config

BR2_x86_64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_WLROOTS=y

The build fails as neither hwdata nor the pnp.ids are found.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
v3 -> v4: Add a more comprehensive commit with a minimal defconfig.

 package/wlroots/Config.in  | 2 ++
 package/wlroots/wlroots.mk | 1 +
 2 files changed, 3 insertions(+)

diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in
index fb23e9069c..7622a3033b 100644
--- a/package/wlroots/Config.in
+++ b/package/wlroots/Config.in
@@ -16,6 +16,8 @@ config BR2_PACKAGE_WLROOTS
 	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
 	depends on BR2_PACKAGE_HAS_LIBGLES
+	select BR2_PACKAGE_HWDATA
+	select BR2_PACKAGE_HWDATA_PNP_IDS
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBINPUT
 	select BR2_PACKAGE_LIBXKBCOMMON
diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk
index b478e57abb..bb5c8f497d 100644
--- a/package/wlroots/wlroots.mk
+++ b/package/wlroots/wlroots.mk
@@ -13,6 +13,7 @@ WLROOTS_INSTALL_STAGING = YES
 WLROOTS_DEPENDENCIES = \
 	host-pkgconf \
 	host-wayland \
+	hwdata \
 	libinput \
 	libxkbcommon \
 	libegl \
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency
@ 2023-12-21 15:36 Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package Adam Duskett
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

As per backend/drm/meson.build:1-7

hwdata = dependency('hwdata', required: false, native: true)
if hwdata.found()
	hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir')
	pnp_ids = files(hwdata_dir / 'pnp.ids')
else
	pnp_ids = files('/usr/share/hwdata/pnp.ids')
endif

On a build in a fresh debian container with a minimal config

BR2_x86_64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_WLROOTS=y

The build fails as neither hwdata nor the pnp.ids are found.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
v3 -> v4: Add a more comprehensive commit with a minimal defconfig.

 package/wlroots/Config.in  | 2 ++
 package/wlroots/wlroots.mk | 1 +
 2 files changed, 3 insertions(+)

diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in
index fb23e9069c..7622a3033b 100644
--- a/package/wlroots/Config.in
+++ b/package/wlroots/Config.in
@@ -16,6 +16,8 @@ config BR2_PACKAGE_WLROOTS
 	depends on BR2_PACKAGE_HAS_LIBEGL
 	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
 	depends on BR2_PACKAGE_HAS_LIBGLES
+	select BR2_PACKAGE_HWDATA
+	select BR2_PACKAGE_HWDATA_PNP_IDS
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBINPUT
 	select BR2_PACKAGE_LIBXKBCOMMON
diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk
index b478e57abb..bb5c8f497d 100644
--- a/package/wlroots/wlroots.mk
+++ b/package/wlroots/wlroots.mk
@@ -13,6 +13,7 @@ WLROOTS_INSTALL_STAGING = YES
 WLROOTS_DEPENDENCIES = \
 	host-pkgconf \
 	host-wayland \
+	hwdata \
 	libinput \
 	libxkbcommon \
 	libegl \
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-24 18:55   ` Yann E. MORIN
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 03/10] package/foot: " Adam Duskett
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

This package is an alternative to dmenu for X. Sway uses it by default as its
menu bar.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
v3 -> v3:
  - Use the github macro [Thomas]
  - Only list top-level dependencies [Thomas]

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 .../0001-support-cross-compilation.patch      | 32 +++++++++++++++++++
 package/dmenu-wayland/Config.in               | 26 +++++++++++++++
 package/dmenu-wayland/dmenu-wayland.hash      |  3 ++
 package/dmenu-wayland/dmenu-wayland.mk        | 28 ++++++++++++++++
 6 files changed, 91 insertions(+)
 create mode 100644 package/dmenu-wayland/0001-support-cross-compilation.patch
 create mode 100644 package/dmenu-wayland/Config.in
 create mode 100644 package/dmenu-wayland/dmenu-wayland.hash
 create mode 100644 package/dmenu-wayland/dmenu-wayland.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 874e7bd3d2..027604e495 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -33,6 +33,7 @@ F:	package/vulkan-tools/
 
 N:	Adam Duskett <adam.duskett@amarulasolutions.com>
 F:	package/depot-tools/
+F:	package/dmenu-wayland/
 F:	package/fcft/
 F:	package/flutter-engine/
 F:	package/flutter-gallery/
diff --git a/package/Config.in b/package/Config.in
index 7d4d624253..cf5d1aee68 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -313,6 +313,7 @@ menu "Graphic libraries and applications (graphic/text)"
 comment "Graphic applications"
 	source "package/cage/Config.in"
 	source "package/cog/Config.in"
+	source "package/dmenu-wayland/Config.in"
 	source "package/fswebcam/Config.in"
 	source "package/ghostscript/Config.in"
 	source "package/glmark2/Config.in"
diff --git a/package/dmenu-wayland/0001-support-cross-compilation.patch b/package/dmenu-wayland/0001-support-cross-compilation.patch
new file mode 100644
index 0000000000..3d99330cba
--- /dev/null
+++ b/package/dmenu-wayland/0001-support-cross-compilation.patch
@@ -0,0 +1,32 @@
+From cd72cade6250a3ec46dd402b25a0bd55bbb97a88 Mon Sep 17 00:00:00 2001
+From: Rick van Schijndel <rol3517@gmail.com>
+Date: Wed, 20 Dec 2023 16:44:12 -0700
+Subject: [PATCH] support cross-compilation
+
+Marking wayland-scanner as native dependency fixes the path check for
+wayland-scanner.
+
+Upstream: https://github.com/nyyManni/dmenu-wayland/pull/23
+
+Signed-off-by: Rick van Schijndel <rol3517@gmail.com>
+Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 3ae6f69..8d401ff 100644
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,7 @@ pangocairo          = dependency('pangocairo')
+ rt                  = cc.find_library('rt')
+ wayland_client      = dependency('wayland-client')
+ wayland_protos      = dependency('wayland-protocols')
+-wayland_scanner_dep = dependency('wayland-scanner')
++wayland_scanner_dep = dependency('wayland-scanner', native: true)
+ wayland_scanner     = find_program(
+   wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner')
+ )
+-- 
+2.43.0
+
diff --git a/package/dmenu-wayland/Config.in b/package/dmenu-wayland/Config.in
new file mode 100644
index 0000000000..e2af09080c
--- /dev/null
+++ b/package/dmenu-wayland/Config.in
@@ -0,0 +1,26 @@
+config BR2_PACKAGE_DMENU_WAYLAND
+	bool "dmenu-wayland"
+	depends on BR2_USE_MMU # pango
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
+	depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wayland
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
+	depends on !BR2_STATIC_LIBS # wayland
+	depends on BR2_INSTALL_LIBSTDCPP # pango
+	depends on BR2_USE_WCHAR # pango
+	select BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_CAIRO_PNG
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBXKBCOMMON
+	select BR2_PACKAGE_PANGO
+	select BR2_PACKAGE_WAYLAND
+	select BR2_PACKAGE_WAYLAND_PROTOCOLS
+	help
+	  dmenu-wl is an efficient dynamic menu for wayland (wlroots).
+
+	  https://github.com/nyyManni/dmenu-wayland
+
+comment "dmenu-wayland needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS || \
+		!BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
diff --git a/package/dmenu-wayland/dmenu-wayland.hash b/package/dmenu-wayland/dmenu-wayland.hash
new file mode 100644
index 0000000000..1248c4ad66
--- /dev/null
+++ b/package/dmenu-wayland/dmenu-wayland.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  56340e198a2c58468c6109f3bb07ab8a074487e67b0758b29c9d4fdce7c4d594  dmenu-wayland-a380201dff5bfac2dace553d7eaedb6cea6855f9.tar.gz
+sha256  8d26bccf8a21c5e29dc756beef534403c935766c815bbb6e7eab0598632b9827  LICENSE
diff --git a/package/dmenu-wayland/dmenu-wayland.mk b/package/dmenu-wayland/dmenu-wayland.mk
new file mode 100644
index 0000000000..33a73c0153
--- /dev/null
+++ b/package/dmenu-wayland/dmenu-wayland.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# dmenu-wayland
+#
+################################################################################
+
+DMENU_WAYLAND_VERSION = a380201dff5bfac2dace553d7eaedb6cea6855f9
+DMENU_WAYLAND_SITE = $(call github,nyyManni,dmenu-wayland,$(DMENU_WAYLAND_VERSION))
+DMENU_WAYLAND_LICENSE = MIT
+DMENU_WAYLAND_LICENSE_FILES = LICENSE
+
+# host-wayland is for wayland-scanner
+DMENU_WAYLAND_DEPENDENCIES = \
+	host-wayland \
+	cairo \
+	libglib2 \
+	libxkbcommon \
+	pango \
+	wayland \
+	wayland-protocols
+
+# By default, sway calls dmenu not dmenu-wl
+define DMENU_WAYLAND_SYMLINK_DMENU_WL
+	ln -sf dmenu-wl $(TARGET_DIR)/usr/bin/dmenu
+endef
+DMENU_WAYLAND_POST_INSTALL_TARGET_HOOKS += DMENU_WAYLAND_SYMLINK_DMENU_WL
+
+$(eval $(meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 03/10] package/foot: new package
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-24 21:38   ` Yann E. MORIN
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 04/10] package/ncurses: install foot terminfo if foot is selected Adam Duskett
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

This is the default terminal sway uses.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 DEVELOPERS             |  1 +
 package/Config.in      |  1 +
 package/foot/Config.in | 36 ++++++++++++++++++++++++++++++
 package/foot/foot.hash |  3 +++
 package/foot/foot.mk   | 50 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 91 insertions(+)
 create mode 100644 package/foot/Config.in
 create mode 100644 package/foot/foot.hash
 create mode 100644 package/foot/foot.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 027604e495..66a037516f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -35,6 +35,7 @@ N:	Adam Duskett <adam.duskett@amarulasolutions.com>
 F:	package/depot-tools/
 F:	package/dmenu-wayland/
 F:	package/fcft/
+F:	package/foot/
 F:	package/flutter-engine/
 F:	package/flutter-gallery/
 F:	package/flutter-pi/
diff --git a/package/Config.in b/package/Config.in
index cf5d1aee68..251003222a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -314,6 +314,7 @@ comment "Graphic applications"
 	source "package/cage/Config.in"
 	source "package/cog/Config.in"
 	source "package/dmenu-wayland/Config.in"
+	source "package/foot/Config.in"
 	source "package/fswebcam/Config.in"
 	source "package/ghostscript/Config.in"
 	source "package/glmark2/Config.in"
diff --git a/package/foot/Config.in b/package/foot/Config.in
new file mode 100644
index 0000000000..a3894c5469
--- /dev/null
+++ b/package/foot/Config.in
@@ -0,0 +1,36 @@
+config BR2_PACKAGE_FOOT
+	bool "foot"
+	depends on !BR2_STATIC_LIBS # wayland -> dlfcn.h
+	depends on BR2_TOOLCHAIN_HAS_THREADS # fcft, wayland
+	select BR2_PACKAGE_FCFT
+	select BR2_PACKAGE_FONTCONFIG
+	select BR2_PACKAGE_FREETYPE
+	select BR2_PACKAGE_LIBXKBCOMMON
+	select BR2_PACKAGE_PIXMAN
+	select BR2_PACKAGE_TLLIST
+	select BR2_PACKAGE_WAYLAND
+	select BR2_PACKAGE_WAYLAND_PROTOCOLS
+	help
+	  A fast, lightweight and minimalistic Wayland terminal
+	  emulator.
+	  NOTE: foot needs a working UTF-8 locale (BR2_GENERATE_LOCALE)
+
+	  https://codeberg.org/dnkl/foot
+
+if BR2_PACKAGE_FOOT
+
+config BR2_PACKAGE_FOOT_GRAPHEME_CLUSTERING
+	bool "grapheme-clustering"
+	select BR2_PACKAGE_UTF8PROC
+	help
+	  Enables grapheme clustering.
+
+config BR2_PACKAGE_FOOT_THEMES
+	bool "themes"
+	help
+	  Install themes (predefined color schemes)
+
+endif # BR2_PACKAGE_FOOT
+
+comment "foot needs a toolchain w/ dynamic library, threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/foot/foot.hash b/package/foot/foot.hash
new file mode 100644
index 0000000000..f3bf0f6058
--- /dev/null
+++ b/package/foot/foot.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  8060ec28cbf6e2e3d408665330da4bc48fd094d4f1265d7c58dc75c767463c29  1.16.2.tar.gz
+sha256  d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a  LICENSE
diff --git a/package/foot/foot.mk b/package/foot/foot.mk
new file mode 100644
index 0000000000..1595e2a718
--- /dev/null
+++ b/package/foot/foot.mk
@@ -0,0 +1,50 @@
+################################################################################
+#
+# foot
+#
+################################################################################
+
+FOOT_VERSION = 1.16.2
+FOOT_SOURCE = $(FOOT_VERSION).tar.gz
+FOOT_SITE = https://codeberg.org/dnkl/foot/archive
+FOOT_LICENSE = MIT
+FOOT_LICENSE_FILES = LICENSE
+FOOT_DEPENDENCIES = \
+	fcft \
+	fontconfig \
+	freetype \
+	libxkbcommon \
+	pixman \
+	tllist \
+	wayland \
+	wayland-protocols
+
+FOOT_CONF_OPTS = \
+	-Ddocs=disabled \
+	-Dtests=false
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+FOOT_DEPENDENCIES += systemd
+endif
+
+ifeq ($(BR2_PACKAGE_LIBUTEMPTER),y)
+FOOT_DEPENDENCIES += libutempter
+FOOT_CONF_OPTS += -Dutmp-backend='libutempter'
+else
+FOOT_CONF_OPTS += -Dutmp-backend='none'
+endif
+
+ifeq ($(BR2_PACKAGE_FOOT_GRAPHEME_CLUSTERING),y)
+FOOT_DEPENDENCIES += utf8proc
+FOOT_CONF_OPTS += -Dgrapheme-clustering=enabled
+else
+FOOT_CONF_OPTS += -Dgrapheme-clustering=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_FOOT_THEMES),y)
+FOOT_CONF_OPTS += -Dthemes=true
+else
+FOOT_CONF_OPTS += -Dthemes=false
+endif
+
+$(eval $(meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 04/10] package/ncurses: install foot terminfo if foot is selected
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 03/10] package/foot: " Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-24 21:49   ` Yann E. MORIN
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 05/10] package/sway: enable bash-completion support Adam Duskett
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

From foot/INSTALL.md:
```
As of ncurses 2021-07-31, ncurses includes a version of foot’s
terminfo. **The recommendation is to use those**, and only install the
terminfo definitions from this git repo if the system’s ncurses
predates 2021-07-31.
```

So it is best to follow the instructions and install the foot terminfo
provided by ncurses.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/ncurses/ncurses.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index 3b805cb1fd..00e1c0d424 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -73,6 +73,13 @@ NCURSES_TERMINFO_FILES = \
 	x/xterm-xfree86 \
 	$(call qstrip,$(BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO))
 
+ifeq ($(BR2_PACKAGE_FOOT),y)
+NCURSES_TERMINFO_FILES += \
+	f/foot \
+	f/foot+base \
+	f/foot-direct
+endif
+
 ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
 NCURSES_CONF_OPTS += --enable-widec
 NCURSES_LIB_SUFFIX = w
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 05/10] package/sway: enable bash-completion support
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (2 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 04/10] package/ncurses: install foot terminfo if foot is selected Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-24 22:25   ` Yann E. MORIN
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 06/10] package/sway: enable default-wallpaper support Adam Duskett
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/sway/sway.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/sway/sway.mk b/package/sway/sway.mk
index 19f90b8b00..677b101f1d 100644
--- a/package/sway/sway.mk
+++ b/package/sway/sway.mk
@@ -13,7 +13,6 @@ SWAY_CONF_OPTS = \
 	-Dwerror=false \
 	-Ddefault-wallpaper=false \
 	-Dzsh-completions=false \
-	-Dbash-completions=false \
 	-Dfish-completions=false \
 	-Dswaybar=false \
 	-Dswaynag=false \
@@ -34,4 +33,10 @@ else
 SWAY_CONF_OPTS += -Dgdk-pixbuf=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
+SWAY_CONF_OPTS += -Dbash-completions=true
+else
+SWAY_CONF_OPTS += -Dbash-completions=false
+endif
+
 $(eval $(meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 06/10] package/sway: enable default-wallpaper support
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (3 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 05/10] package/sway: enable bash-completion support Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 07/10] package/sway: enable swaybar support Adam Duskett
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

If swaybg is selected, set default-wallpaper to true.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
v3 -> v4: Enable default-wallpaper if BR2_PACKAGE_SWAYBG is selected [Thomas]

 package/sway/sway.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/sway/sway.mk b/package/sway/sway.mk
index 677b101f1d..1e3dd279ef 100644
--- a/package/sway/sway.mk
+++ b/package/sway/sway.mk
@@ -11,7 +11,6 @@ SWAY_LICENSE_FILES = LICENSE
 SWAY_DEPENDENCIES = systemd host-pkgconf wlroots json-c pcre cairo pango
 SWAY_CONF_OPTS = \
 	-Dwerror=false \
-	-Ddefault-wallpaper=false \
 	-Dzsh-completions=false \
 	-Dfish-completions=false \
 	-Dswaybar=false \
@@ -39,4 +38,10 @@ else
 SWAY_CONF_OPTS += -Dbash-completions=false
 endif
 
+ifeq ($(BR2_PACKAGE_SWAYBG),y)
+SWAY_CONF_OPTS += -Ddefault-wallpaper=true
+else
+SWAY_CONF_OPTS += -Ddefault-wallpaper=false
+endif
+
 $(eval $(meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 07/10] package/sway: enable swaybar support
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (4 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 06/10] package/sway: enable default-wallpaper support Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 08/10] package/sway: enable swaybar tray support Adam Duskett
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

Add a config option to build sway with swaybar support.
  - The bar requires dejavu fonts.
  - If bash-completions is selected, JQ is required.
  - Select dmenu-wayland as a runtime dependency.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/sway/Config.in | 12 ++++++++++++
 package/sway/sway.mk   |  7 ++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/package/sway/Config.in b/package/sway/Config.in
index 08b6911069..6b2368ddc2 100644
--- a/package/sway/Config.in
+++ b/package/sway/Config.in
@@ -24,6 +24,18 @@ config BR2_PACKAGE_SWAY
 
 	  https://github.com/swaywm/sway
 
+if BR2_PACKAGE_SWAY
+
+config BR2_PACKAGE_SWAY_SWAYBAR
+	bool "swaybar"
+	select BR2_PACKAGE_DEJAVU
+	select BR2_PACKAGE_JQ if BR2_PACKAGE_BASH_COMPLETION
+	select BR2_PACKAGE_DMENU_WAYLAND # Runtime
+	help
+	  Enable support for swaybar
+
+endif # BR2_PACKAGE_SWAY
+
 comment "sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support"
 	depends on !BR2_PACKAGE_SYSTEMD || \
 		!BR2_PACKAGE_HAS_UDEV || \
diff --git a/package/sway/sway.mk b/package/sway/sway.mk
index 1e3dd279ef..6d924ca92e 100644
--- a/package/sway/sway.mk
+++ b/package/sway/sway.mk
@@ -13,7 +13,6 @@ SWAY_CONF_OPTS = \
 	-Dwerror=false \
 	-Dzsh-completions=false \
 	-Dfish-completions=false \
-	-Dswaybar=false \
 	-Dswaynag=false \
 	-Dtray=disabled \
 	-Dman-pages=disabled \
@@ -44,4 +43,10 @@ else
 SWAY_CONF_OPTS += -Ddefault-wallpaper=false
 endif
 
+ifeq ($(BR2_PACKAGE_SWAY_SWAYBAR),y)
+SWAY_CONF_OPTS += -Dswaybar=true
+else
+SWAY_CONF_OPTS += -Dswaybar=false
+endif
+
 $(eval $(meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 08/10] package/sway: enable swaybar tray support
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (5 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 07/10] package/sway: enable swaybar support Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 09/10] package/sway: enable swaynag support Adam Duskett
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

Add a config option to build swaybar with tray support.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/sway/Config.in | 9 +++++++++
 package/sway/sway.mk   | 7 ++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/package/sway/Config.in b/package/sway/Config.in
index 6b2368ddc2..76f8ce3836 100644
--- a/package/sway/Config.in
+++ b/package/sway/Config.in
@@ -34,6 +34,15 @@ config BR2_PACKAGE_SWAY_SWAYBAR
 	help
 	  Enable support for swaybar
 
+if BR2_PACKAGE_SWAY_SWAYBAR
+
+config BR2_PACKAGE_SWAY_SWAYBAR_TRAY
+	bool "swaybar tray"
+	help
+	  Enable support for swaybar tray
+
+endif # BR2_PACKAGE_SWAY_SWAYBAR
+
 endif # BR2_PACKAGE_SWAY
 
 comment "sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support"
diff --git a/package/sway/sway.mk b/package/sway/sway.mk
index 6d924ca92e..5de4c32a04 100644
--- a/package/sway/sway.mk
+++ b/package/sway/sway.mk
@@ -14,7 +14,6 @@ SWAY_CONF_OPTS = \
 	-Dzsh-completions=false \
 	-Dfish-completions=false \
 	-Dswaynag=false \
-	-Dtray=disabled \
 	-Dman-pages=disabled \
 	-Dsd-bus-provider=libsystemd
 
@@ -49,4 +48,10 @@ else
 SWAY_CONF_OPTS += -Dswaybar=false
 endif
 
+ifeq ($(BR2_PACKAGE_SWAY_SWAYBAR_TRAY),y)
+SWAY_CONF_OPTS += -Dtray=enabled
+else
+SWAY_CONF_OPTS += -Dtray=disabled
+endif
+
 $(eval $(meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 09/10] package/sway: enable swaynag support
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (6 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 08/10] package/sway: enable swaybar tray support Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 10/10] package/sway/Config.in: Add a help note about the default terminal Adam Duskett
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

Add a config option to build sway with swaynag support.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/sway/Config.in | 5 +++++
 package/sway/sway.mk   | 7 ++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/package/sway/Config.in b/package/sway/Config.in
index 76f8ce3836..21840dce17 100644
--- a/package/sway/Config.in
+++ b/package/sway/Config.in
@@ -43,6 +43,11 @@ config BR2_PACKAGE_SWAY_SWAYBAR_TRAY
 
 endif # BR2_PACKAGE_SWAY_SWAYBAR
 
+config BR2_PACKAGE_SWAY_SWAYNAG
+	bool "swaynag"
+	help
+	  Enable support for swaynag
+
 endif # BR2_PACKAGE_SWAY
 
 comment "sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support"
diff --git a/package/sway/sway.mk b/package/sway/sway.mk
index 5de4c32a04..0aad9de712 100644
--- a/package/sway/sway.mk
+++ b/package/sway/sway.mk
@@ -13,7 +13,6 @@ SWAY_CONF_OPTS = \
 	-Dwerror=false \
 	-Dzsh-completions=false \
 	-Dfish-completions=false \
-	-Dswaynag=false \
 	-Dman-pages=disabled \
 	-Dsd-bus-provider=libsystemd
 
@@ -48,6 +47,12 @@ else
 SWAY_CONF_OPTS += -Dswaybar=false
 endif
 
+ifeq ($(BR2_PACKAGE_SWAY_SWAYNAG),y)
+SWAY_CONF_OPTS += -Dswaynag=true
+else
+SWAY_CONF_OPTS += -Dswaynag=false
+endif
+
 ifeq ($(BR2_PACKAGE_SWAY_SWAYBAR_TRAY),y)
 SWAY_CONF_OPTS += -Dtray=enabled
 else
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [Buildroot] [PATCH v4 10/10] package/sway/Config.in: Add a help note about the default terminal
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (7 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 09/10] package/sway: enable swaynag support Adam Duskett
@ 2023-12-21 15:36 ` Adam Duskett
  2023-12-22 17:02 ` [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Yann E. MORIN
  2023-12-23 14:51 ` Thomas Petazzoni via buildroot
  10 siblings, 0 replies; 18+ messages in thread
From: Adam Duskett @ 2023-12-21 15:36 UTC (permalink / raw)
  To: buildroot; +Cc: Adam Duskett

The default terminal used by sway is the foot terminal. Add a note in
the Config.in explaining that if a user is using the default sway config,
it is recommended to also enable the foot package.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/sway/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/sway/Config.in b/package/sway/Config.in
index 21840dce17..26fc06f8d2 100644
--- a/package/sway/Config.in
+++ b/package/sway/Config.in
@@ -21,6 +21,10 @@ config BR2_PACKAGE_SWAY
 	select BR2_PACKAGE_XKEYBOARD_CONFIG # runtime
 	help
 	  i3-compatible Wayland compositor
+	  Note:
+	    The default sway config uses the foot package as the
+	    default terminal. If you plan on using the default
+	    config, it is recommended to select the foot package!
 
 	  https://github.com/swaywm/sway
 
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (8 preceding siblings ...)
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 10/10] package/sway/Config.in: Add a help note about the default terminal Adam Duskett
@ 2023-12-22 17:02 ` Yann E. MORIN
  2023-12-23 14:45   ` Thomas Petazzoni via buildroot
  2023-12-23 14:51 ` Thomas Petazzoni via buildroot
  10 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2023-12-22 17:02 UTC (permalink / raw)
  To: Adam Duskett; +Cc: buildroot

Adam, All,

Thanks for the updated patch. You respun too fast, I did not have time
to further comment after Thomas' review of v3. So there it is.

On 2023-12-21 08:36 -0700, Adam Duskett spake thusly:
> As per backend/drm/meson.build:1-7
> 
> hwdata = dependency('hwdata', required: false, native: true)
> if hwdata.found()
> 	hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir')
> 	pnp_ids = files(hwdata_dir / 'pnp.ids')
> else
> 	pnp_ids = files('/usr/share/hwdata/pnp.ids')
> endif

First, this code excerpt does not bring much in a commit log; a code
snippet on its own is not a substitute for a proper explanation for why
a change is needed in Buildroot (otherwise we would have all our commit
logs be just snippets of upstream code...)

> On a build in a fresh debian container with a minimal config
> 
> BR2_x86_64=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y
> BR2_PACKAGE_MESA3D_OPENGL_EGL=y
> BR2_PACKAGE_MESA3D_OPENGL_ES=y
> BR2_PACKAGE_WLROOTS=y
> 
> The build fails as neither hwdata nor the pnp.ids are found.

Thanks for the reproducer. :-) However, Thomas was also wondering why
this was never caught in our autobuilders. Do you have an idea why it
was never caught? Since the autobuilders did not help, we have no idea
when this started to occur, so we have no idea whether we need to
backport the fix. Having an explanation why the autobuilder did not
catch the issue will help decide whether this needs to be backported.

Second, hwdata does not provide a library or headers, just data files
that describe the VID/PID mappings to human-readable names; those are
supposed to be used at runtime to do the conversion (e.g. lspci or lsusb
do that).

And as you report a build failure, it means those are used at build
time, which is weird.

So, what does wlroots do?

In fact, the build scans the pnp.ids and generates a C file with a big
switch-case mapping all the PNP ids to their vendor string, and thus
hwdata is not needed on the target, but is needed at build time.

So, it means we end up with the hwdata on the target for nothing. The
default config will install about 2.1MiB, which is arguably not too much
if one builds a system with wlroots (the stack is already big). Still,
this is noticeable.

Of course, this is not your fault! :-) But it would have been good to
provide this info in the commit log, even as a terse sentence, to avoid
the maintainers trying to understand this (i.e. try to understand the
reason why the data files are needed at build time rather than are
runtime).

Third and finally, hwdata is not mandatory in wlroots; it is only
required for the DRM backend, so it should not be unconditional. Except
that in Buildroot, we do enable the DRM backend unconditionally, so
hwdata indeed becomes an unconditional dependency.

So yes, it does indeed take some time to come up with the underlying
reasons for why a change is needed, and to digest them into a commit
log. But if submitters don't do that work on their end, it means the
maintainers have do it, and that means even more time is spent reviewing
and replying to each patch, which makes the patch queue grow, and
ultimately makes everyone grumpy, submitters first.

Regards,
Yann E. MORIN.

> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
> v3 -> v4: Add a more comprehensive commit with a minimal defconfig.
> 
>  package/wlroots/Config.in  | 2 ++
>  package/wlroots/wlroots.mk | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/package/wlroots/Config.in b/package/wlroots/Config.in
> index fb23e9069c..7622a3033b 100644
> --- a/package/wlroots/Config.in
> +++ b/package/wlroots/Config.in
> @@ -16,6 +16,8 @@ config BR2_PACKAGE_WLROOTS
>  	depends on BR2_PACKAGE_HAS_LIBEGL
>  	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
>  	depends on BR2_PACKAGE_HAS_LIBGLES
> +	select BR2_PACKAGE_HWDATA
> +	select BR2_PACKAGE_HWDATA_PNP_IDS
>  	select BR2_PACKAGE_LIBDRM
>  	select BR2_PACKAGE_LIBINPUT
>  	select BR2_PACKAGE_LIBXKBCOMMON
> diff --git a/package/wlroots/wlroots.mk b/package/wlroots/wlroots.mk
> index b478e57abb..bb5c8f497d 100644
> --- a/package/wlroots/wlroots.mk
> +++ b/package/wlroots/wlroots.mk
> @@ -13,6 +13,7 @@ WLROOTS_INSTALL_STAGING = YES
>  WLROOTS_DEPENDENCIES = \
>  	host-pkgconf \
>  	host-wayland \
> +	hwdata \
>  	libinput \
>  	libxkbcommon \
>  	libegl \
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency
  2023-12-22 17:02 ` [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Yann E. MORIN
@ 2023-12-23 14:45   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 18+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-12-23 14:45 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: Adam Duskett, buildroot

Hello,

On Fri, 22 Dec 2023 18:02:40 +0100
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Thanks for the reproducer. :-) However, Thomas was also wondering why
> this was never caught in our autobuilders. Do you have an idea why it
> was never caught? Since the autobuilders did not help, we have no idea
> when this started to occur, so we have no idea whether we need to
> backport the fix. Having an explanation why the autobuilder did not
> catch the issue will help decide whether this needs to be backported.
> 
> Second, hwdata does not provide a library or headers, just data files
> that describe the VID/PID mappings to human-readable names; those are
> supposed to be used at runtime to do the conversion (e.g. lspci or lsusb
> do that).
> 
> And as you report a build failure, it means those are used at build
> time, which is weird.
> 
> So, what does wlroots do?
> 
> In fact, the build scans the pnp.ids and generates a C file with a big
> switch-case mapping all the PNP ids to their vendor string, and thus
> hwdata is not needed on the target, but is needed at build time.
> 
> So, it means we end up with the hwdata on the target for nothing. The
> default config will install about 2.1MiB, which is arguably not too much
> if one builds a system with wlroots (the stack is already big). Still,
> this is noticeable.
> 
> Of course, this is not your fault! :-) But it would have been good to
> provide this info in the commit log, even as a terse sentence, to avoid
> the maintainers trying to understand this (i.e. try to understand the
> reason why the data files are needed at build time rather than are
> runtime).
> 
> Third and finally, hwdata is not mandatory in wlroots; it is only
> required for the DRM backend, so it should not be unconditional. Except
> that in Buildroot, we do enable the DRM backend unconditionally, so
> hwdata indeed becomes an unconditional dependency.
> 
> So yes, it does indeed take some time to come up with the underlying
> reasons for why a change is needed, and to digest them into a commit
> log. But if submitters don't do that work on their end, it means the
> maintainers have do it, and that means even more time is spent reviewing
> and replying to each patch, which makes the patch queue grow, and
> ultimately makes everyone grumpy, submitters first.

Thanks for the additional research. So let me fill in the blanks, which
I could find with some further research. Looking at
http://autobuild.buildroot.net/index.php?symbols[BR2_PACKAGE_WLROOTS]=y&step=250,
we had no fully successful build of a configuration that includes
wlroots since 2022-05-05, at which time we built Buildroot 27c672e5,
which had wlroots 0.15.1. We now have wlroots 0.16.2 in Buildroot.

Turns out that upstream commit
"eec95e3d5e1a4f2e13b1f6b34cc287475ca57daf backend/drm: use pnp.ids to
fetch EDID data" is the one that introduced this usage of the pnp.ids
file, and this commit went in wlroots 0.16.0.

So both 2023.02.x and 2023.08.x are unaffected because they have
wlroots 0.15.1. We bumped from 0.15.1 to 0.16.2 in
d6279bc82c02b43c9a2f28c36639e092b9e9e08b, which is not in any tagged
release.

Adam: this whole research that Yann and I did is what we expect you to
do. This is what is needed if you want your patches to be merged
faster. We have been repeating this over and over and over again to
you, but rather than improving, you have chosen to complain on us not
merging your patches fast enough.

If you want your patches to be merge faster, you need to increase the
trust we have in your contributions. To increase the trust we have in
your contributions, you should not submit patches that obviously don't
build even in a basic configuration (your recent dmenu-wayland), and
don't submit patches that are clearly insufficiently documented (this
wlroots patch).

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency
  2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
                   ` (9 preceding siblings ...)
  2023-12-22 17:02 ` [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Yann E. MORIN
@ 2023-12-23 14:51 ` Thomas Petazzoni via buildroot
  10 siblings, 0 replies; 18+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-12-23 14:51 UTC (permalink / raw)
  To: Adam Duskett; +Cc: buildroot

On Thu, 21 Dec 2023 08:36:10 -0700
Adam Duskett <adam.duskett@amarulasolutions.com> wrote:

> As per backend/drm/meson.build:1-7
> 
> hwdata = dependency('hwdata', required: false, native: true)
> if hwdata.found()
> 	hwdata_dir = hwdata.get_variable(pkgconfig: 'pkgdatadir')
> 	pnp_ids = files(hwdata_dir / 'pnp.ids')
> else
> 	pnp_ids = files('/usr/share/hwdata/pnp.ids')
> endif
> 
> On a build in a fresh debian container with a minimal config
> 
> BR2_x86_64=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_OSMESA_GALLIUM=y
> BR2_PACKAGE_MESA3D_OPENGL_EGL=y
> BR2_PACKAGE_MESA3D_OPENGL_ES=y
> BR2_PACKAGE_WLROOTS=y
> 
> The build fails as neither hwdata nor the pnp.ids are found.
> 
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
> v3 -> v4: Add a more comprehensive commit with a minimal defconfig.

Applied to master with a significantly extended commit message.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package Adam Duskett
@ 2023-12-24 18:55   ` Yann E. MORIN
  0 siblings, 0 replies; 18+ messages in thread
From: Yann E. MORIN @ 2023-12-24 18:55 UTC (permalink / raw)
  To: Adam Duskett; +Cc: buildroot

Adam, All,

On 2023-12-21 08:36 -0700, Adam Duskett spake thusly:
> This package is an alternative to dmenu for X.

I scratched my head around that one, because it is ambiguous: why is it
named dmenu-*wayland* if it is for X? OK, so it's the other way around:
dmenu is for X (only); dmenu is another implementation of dmenu, for
wayland. I rewrote the sentence to avoid the ambiguity (at least I find
the new wording less ambiguous).

> Sway uses it by default as its
> menu bar.
> 
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
[--SNIP--]
> diff --git a/package/dmenu-wayland/Config.in b/package/dmenu-wayland/Config.in
> new file mode 100644
> index 0000000000..e2af09080c
> --- /dev/null
> +++ b/package/dmenu-wayland/Config.in
> @@ -0,0 +1,26 @@
> +config BR2_PACKAGE_DMENU_WAYLAND
> +	bool "dmenu-wayland"
> +	depends on BR2_USE_MMU # pango
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wayland

Threqds also inherited because of libglib2.

> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
> +	depends on !BR2_STATIC_LIBS # wayland
> +	depends on BR2_INSTALL_LIBSTDCPP # pango
> +	depends on BR2_USE_WCHAR # pango

Ditto wchar.

[--SNIP--]
> +comment "dmenu-wayland needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9"
> +	depends on BR2_USE_MMU
> +	depends on !BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_TOOLCHAIN_HAS_THREADS || \

I see that the naming of the variable is not obvious, and that the
manual is a bit ambiguous about it, but BR2_TOOLCHAIN_HAS_SYNC_4 is an
architecture dependency. As such, it should be used ti hide the comment,
like MMU.

I've fixed all these minor issues and applied to master, thanks.

Regards,
Yann E. MORIN.

> +		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS || \
> +		!BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
> diff --git a/package/dmenu-wayland/dmenu-wayland.hash b/package/dmenu-wayland/dmenu-wayland.hash
> new file mode 100644
> index 0000000000..1248c4ad66
> --- /dev/null
> +++ b/package/dmenu-wayland/dmenu-wayland.hash
> @@ -0,0 +1,3 @@
> +# Locally computed
> +sha256  56340e198a2c58468c6109f3bb07ab8a074487e67b0758b29c9d4fdce7c4d594  dmenu-wayland-a380201dff5bfac2dace553d7eaedb6cea6855f9.tar.gz
> +sha256  8d26bccf8a21c5e29dc756beef534403c935766c815bbb6e7eab0598632b9827  LICENSE
> diff --git a/package/dmenu-wayland/dmenu-wayland.mk b/package/dmenu-wayland/dmenu-wayland.mk
> new file mode 100644
> index 0000000000..33a73c0153
> --- /dev/null
> +++ b/package/dmenu-wayland/dmenu-wayland.mk
> @@ -0,0 +1,28 @@
> +################################################################################
> +#
> +# dmenu-wayland
> +#
> +################################################################################
> +
> +DMENU_WAYLAND_VERSION = a380201dff5bfac2dace553d7eaedb6cea6855f9
> +DMENU_WAYLAND_SITE = $(call github,nyyManni,dmenu-wayland,$(DMENU_WAYLAND_VERSION))
> +DMENU_WAYLAND_LICENSE = MIT
> +DMENU_WAYLAND_LICENSE_FILES = LICENSE
> +
> +# host-wayland is for wayland-scanner
> +DMENU_WAYLAND_DEPENDENCIES = \
> +	host-wayland \
> +	cairo \
> +	libglib2 \
> +	libxkbcommon \
> +	pango \
> +	wayland \
> +	wayland-protocols
> +
> +# By default, sway calls dmenu not dmenu-wl
> +define DMENU_WAYLAND_SYMLINK_DMENU_WL
> +	ln -sf dmenu-wl $(TARGET_DIR)/usr/bin/dmenu
> +endef
> +DMENU_WAYLAND_POST_INSTALL_TARGET_HOOKS += DMENU_WAYLAND_SYMLINK_DMENU_WL
> +
> +$(eval $(meson-package))
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 03/10] package/foot: new package
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 03/10] package/foot: " Adam Duskett
@ 2023-12-24 21:38   ` Yann E. MORIN
  0 siblings, 0 replies; 18+ messages in thread
From: Yann E. MORIN @ 2023-12-24 21:38 UTC (permalink / raw)
  To: Adam Duskett; +Cc: buildroot

Adam, All,

On 2023-12-21 08:36 -0700, Adam Duskett spake thusly:
> This is the default terminal sway uses.
> 
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
[--SNIP--]
> diff --git a/package/foot/Config.in b/package/foot/Config.in
> new file mode 100644
> index 0000000000..a3894c5469
> --- /dev/null
> +++ b/package/foot/Config.in
> @@ -0,0 +1,36 @@
> +config BR2_PACKAGE_FOOT
> +	bool "foot"
> +	depends on !BR2_STATIC_LIBS # wayland -> dlfcn.h

As was noticed by Thomas on a previous patch in this series, only the
first-order dependencies need to be listed, so I dropped the dlfcn.h
part.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> +	depends on BR2_TOOLCHAIN_HAS_THREADS # fcft, wayland
> +	select BR2_PACKAGE_FCFT
> +	select BR2_PACKAGE_FONTCONFIG
> +	select BR2_PACKAGE_FREETYPE
> +	select BR2_PACKAGE_LIBXKBCOMMON
> +	select BR2_PACKAGE_PIXMAN
> +	select BR2_PACKAGE_TLLIST
> +	select BR2_PACKAGE_WAYLAND
> +	select BR2_PACKAGE_WAYLAND_PROTOCOLS
> +	help
> +	  A fast, lightweight and minimalistic Wayland terminal
> +	  emulator.
> +	  NOTE: foot needs a working UTF-8 locale (BR2_GENERATE_LOCALE)
> +
> +	  https://codeberg.org/dnkl/foot
> +
> +if BR2_PACKAGE_FOOT
> +
> +config BR2_PACKAGE_FOOT_GRAPHEME_CLUSTERING
> +	bool "grapheme-clustering"
> +	select BR2_PACKAGE_UTF8PROC
> +	help
> +	  Enables grapheme clustering.
> +
> +config BR2_PACKAGE_FOOT_THEMES
> +	bool "themes"
> +	help
> +	  Install themes (predefined color schemes)
> +
> +endif # BR2_PACKAGE_FOOT
> +
> +comment "foot needs a toolchain w/ dynamic library, threads"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> diff --git a/package/foot/foot.hash b/package/foot/foot.hash
> new file mode 100644
> index 0000000000..f3bf0f6058
> --- /dev/null
> +++ b/package/foot/foot.hash
> @@ -0,0 +1,3 @@
> +# Locally computed
> +sha256  8060ec28cbf6e2e3d408665330da4bc48fd094d4f1265d7c58dc75c767463c29  1.16.2.tar.gz
> +sha256  d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a  LICENSE
> diff --git a/package/foot/foot.mk b/package/foot/foot.mk
> new file mode 100644
> index 0000000000..1595e2a718
> --- /dev/null
> +++ b/package/foot/foot.mk
> @@ -0,0 +1,50 @@
> +################################################################################
> +#
> +# foot
> +#
> +################################################################################
> +
> +FOOT_VERSION = 1.16.2
> +FOOT_SOURCE = $(FOOT_VERSION).tar.gz
> +FOOT_SITE = https://codeberg.org/dnkl/foot/archive
> +FOOT_LICENSE = MIT
> +FOOT_LICENSE_FILES = LICENSE
> +FOOT_DEPENDENCIES = \
> +	fcft \
> +	fontconfig \
> +	freetype \
> +	libxkbcommon \
> +	pixman \
> +	tllist \
> +	wayland \
> +	wayland-protocols
> +
> +FOOT_CONF_OPTS = \
> +	-Ddocs=disabled \
> +	-Dtests=false
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +FOOT_DEPENDENCIES += systemd
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBUTEMPTER),y)
> +FOOT_DEPENDENCIES += libutempter
> +FOOT_CONF_OPTS += -Dutmp-backend='libutempter'
> +else
> +FOOT_CONF_OPTS += -Dutmp-backend='none'
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FOOT_GRAPHEME_CLUSTERING),y)
> +FOOT_DEPENDENCIES += utf8proc
> +FOOT_CONF_OPTS += -Dgrapheme-clustering=enabled
> +else
> +FOOT_CONF_OPTS += -Dgrapheme-clustering=disabled
> +endif
> +
> +ifeq ($(BR2_PACKAGE_FOOT_THEMES),y)
> +FOOT_CONF_OPTS += -Dthemes=true
> +else
> +FOOT_CONF_OPTS += -Dthemes=false
> +endif
> +
> +$(eval $(meson-package))
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 04/10] package/ncurses: install foot terminfo if foot is selected
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 04/10] package/ncurses: install foot terminfo if foot is selected Adam Duskett
@ 2023-12-24 21:49   ` Yann E. MORIN
  0 siblings, 0 replies; 18+ messages in thread
From: Yann E. MORIN @ 2023-12-24 21:49 UTC (permalink / raw)
  To: Adam Duskett; +Cc: buildroot

Adam, All,

On 2023-12-21 08:36 -0700, Adam Duskett spake thusly:
> From foot/INSTALL.md:
> ```
> As of ncurses 2021-07-31, ncurses includes a version of foot’s
> terminfo. **The recommendation is to use those**, and only install the
> terminfo definitions from this git repo if the system’s ncurses
> predates 2021-07-31.
> ```
> 
> So it is best to follow the instructions and install the foot terminfo
> provided by ncurses.
> 
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/ncurses/ncurses.mk | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
> index 3b805cb1fd..00e1c0d424 100644
> --- a/package/ncurses/ncurses.mk
> +++ b/package/ncurses/ncurses.mk
> @@ -73,6 +73,13 @@ NCURSES_TERMINFO_FILES = \
>  	x/xterm-xfree86 \
>  	$(call qstrip,$(BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO))
>  
> +ifeq ($(BR2_PACKAGE_FOOT),y)
> +NCURSES_TERMINFO_FILES += \
> +	f/foot \
> +	f/foot+base \
> +	f/foot-direct
> +endif
> +
>  ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
>  NCURSES_CONF_OPTS += --enable-widec
>  NCURSES_LIB_SUFFIX = w
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [Buildroot] [PATCH v4 05/10] package/sway: enable bash-completion support
  2023-12-21 15:36 ` [Buildroot] [PATCH v4 05/10] package/sway: enable bash-completion support Adam Duskett
@ 2023-12-24 22:25   ` Yann E. MORIN
  0 siblings, 0 replies; 18+ messages in thread
From: Yann E. MORIN @ 2023-12-24 22:25 UTC (permalink / raw)
  To: Adam Duskett; +Cc: buildroot

ADam, All,

On 2023-12-21 08:36 -0700, Adam Duskett spake thusly:
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>

This patch and the rest of the series: applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/sway/sway.mk | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/package/sway/sway.mk b/package/sway/sway.mk
> index 19f90b8b00..677b101f1d 100644
> --- a/package/sway/sway.mk
> +++ b/package/sway/sway.mk
> @@ -13,7 +13,6 @@ SWAY_CONF_OPTS = \
>  	-Dwerror=false \
>  	-Ddefault-wallpaper=false \
>  	-Dzsh-completions=false \
> -	-Dbash-completions=false \
>  	-Dfish-completions=false \
>  	-Dswaybar=false \
>  	-Dswaynag=false \
> @@ -34,4 +33,10 @@ else
>  SWAY_CONF_OPTS += -Dgdk-pixbuf=disabled
>  endif
>  
> +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
> +SWAY_CONF_OPTS += -Dbash-completions=true
> +else
> +SWAY_CONF_OPTS += -Dbash-completions=false
> +endif
> +
>  $(eval $(meson-package))
> -- 
> 2.43.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-12-24 22:25 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-21 15:36 [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Adam Duskett
2023-12-21 15:36 ` [Buildroot] [PATCH v4 02/10] package/dmenu-wayland: new package Adam Duskett
2023-12-24 18:55   ` Yann E. MORIN
2023-12-21 15:36 ` [Buildroot] [PATCH v4 03/10] package/foot: " Adam Duskett
2023-12-24 21:38   ` Yann E. MORIN
2023-12-21 15:36 ` [Buildroot] [PATCH v4 04/10] package/ncurses: install foot terminfo if foot is selected Adam Duskett
2023-12-24 21:49   ` Yann E. MORIN
2023-12-21 15:36 ` [Buildroot] [PATCH v4 05/10] package/sway: enable bash-completion support Adam Duskett
2023-12-24 22:25   ` Yann E. MORIN
2023-12-21 15:36 ` [Buildroot] [PATCH v4 06/10] package/sway: enable default-wallpaper support Adam Duskett
2023-12-21 15:36 ` [Buildroot] [PATCH v4 07/10] package/sway: enable swaybar support Adam Duskett
2023-12-21 15:36 ` [Buildroot] [PATCH v4 08/10] package/sway: enable swaybar tray support Adam Duskett
2023-12-21 15:36 ` [Buildroot] [PATCH v4 09/10] package/sway: enable swaynag support Adam Duskett
2023-12-21 15:36 ` [Buildroot] [PATCH v4 10/10] package/sway/Config.in: Add a help note about the default terminal Adam Duskett
2023-12-22 17:02 ` [Buildroot] [PATCH v4 01/10] package/wlroots: add hwdata and hwdata_pnp_ids as a dependency Yann E. MORIN
2023-12-23 14:45   ` Thomas Petazzoni via buildroot
2023-12-23 14:51 ` Thomas Petazzoni via buildroot
  -- strict thread matches above, loose matches on Subject: below --
2023-12-21 15:35 Adam Duskett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox