package/dmenu-wayland: new package

The traditional dmenu is only running under X; dmenu-wayland is an
implementation that runs only on (some) wayland compositors; Sway
uses it by default as its menu bar.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[yann.morin.1998@free.fr:
  - _SYNC_4 is an arch dependency, so comment should be hidden
  - add a few missing comments for first-level dependencies
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Adam Duskett 2023-12-21 08:36:11 -07:00 committed by Yann E. MORIN
parent df89e73e92
commit 2f6b1b8e68
6 changed files with 92 additions and 0 deletions

View File

@ -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/

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,27 @@
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 # libglib2, 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 # libglib2, 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
depends on !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS || \
!BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR

View File

@ -0,0 +1,3 @@
# Locally computed
sha256 56340e198a2c58468c6109f3bb07ab8a074487e67b0758b29c9d4fdce7c4d594 dmenu-wayland-a380201dff5bfac2dace553d7eaedb6cea6855f9.tar.gz
sha256 8d26bccf8a21c5e29dc756beef534403c935766c815bbb6e7eab0598632b9827 LICENSE

View File

@ -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))