From b739d6bd98e8ee12ec2150563ef9cdef35d2ea35 Mon Sep 17 00:00:00 2001 From: Raphael Pavlidis Date: Mon, 31 Oct 2022 13:46:25 +0100 Subject: [PATCH] package/sway: new package i3-compatible Wayland compositor This Wayland compositor can be used as a kiosk compositor like cage, but with the advantage of better configuration of multiple monitor and windows. For example, move a window by title to the output X or set the resolution of Y to Z. Signed-off-by: Raphael Pavlidis [Peter: Fix white space, add gdk-pixbuf to _DEPENDENCIES] Signed-off-by: Peter Korsgaard --- DEVELOPERS | 3 ++- package/Config.in | 1 + package/sway/Config.in | 42 ++++++++++++++++++++++++++++++++++++++++++ package/sway/sway.hash | 3 +++ package/sway/sway.mk | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 package/sway/Config.in create mode 100644 package/sway/sway.hash create mode 100644 package/sway/sway.mk diff --git a/DEVELOPERS b/DEVELOPERS index 2cb3361c83..0bb4db81bb 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2507,8 +2507,9 @@ F: support/testing/tests/package/test_python_jmespath.py F: support/testing/tests/package/test_python_rsa.py F: support/testing/tests/package/test_python_s3transfer.py -N: Raphael Pavlidis +N: Raphael Pavlidis F: package/slirp4netns/ +F: package/sway/ N: Refik Tuzakli F: package/freescale-imx/ diff --git a/package/Config.in b/package/Config.in index 06d0a05854..2adfcdbb1d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -327,6 +327,7 @@ comment "Graphic applications" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" source "package/stellarium/Config.in" + source "package/sway/Config.in" source "package/tesseract-ocr/Config.in" source "package/tinifier/Config.in" diff --git a/package/sway/Config.in b/package/sway/Config.in new file mode 100644 index 0000000000..f8d073520f --- /dev/null +++ b/package/sway/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_SWAY + bool "sway" + depends on BR2_PACKAGE_SYSTEMD # is required by the sd-bus provider + depends on !BR2_STATIC_LIBS # wlroots + depends on BR2_TOOLCHAIN_HAS_THREADS # wlroots + depends on BR2_PACKAGE_HAS_LIBEGL # wlroots + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wlroots + depends on BR2_PACKAGE_HAS_LIBGLES # wlroots + depends on BR2_PACKAGE_HAS_UDEV # wlroots + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + depends on BR2_USE_WCHAR # pango + depends on BR2_TOOLCHAIN_HAS_THREADS # pango + depends on BR2_USE_MMU # pango + depends on BR2_INSTALL_LIBSTDCPP # pango + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango + select BR2_PACKAGE_WLROOTS + select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_CAIRO_PNG + select BR2_PACKAGE_PANGO + help + i3-compatible Wayland compositor + + https://github.com/swaywm/sway + +comment "sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support" + depends on !BR2_PACKAGE_SYSTEMD || \ + !BR2_PACKAGE_HAS_UDEV || \ + !BR2_PACKAGE_HAS_LIBEGL || \ + !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + !BR2_PACKAGE_HAS_LIBGLES + +comment "sway 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_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_INSTALL_LIBSTDCPP || \ + BR2_STATIC_LIBS diff --git a/package/sway/sway.hash b/package/sway/sway.hash new file mode 100644 index 0000000000..6dfa71730f --- /dev/null +++ b/package/sway/sway.hash @@ -0,0 +1,3 @@ +# Locally computed, tarball verified with GPG signature +sha256 0c64536fb2883ec518e75cfb119f9300115fb49b084e3fde62b794fe2c6c8d84 sway-1.7.tar.gz +sha256 bd35722bff46327f5eded1d211207277bbe043d2a22048b282c42ef801593b8b LICENSE diff --git a/package/sway/sway.mk b/package/sway/sway.mk new file mode 100644 index 0000000000..802371c827 --- /dev/null +++ b/package/sway/sway.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# sway +# +################################################################################ + +SWAY_VERSION = 1.7 +SWAY_SITE = $(call github,swaywm,sway,v$(SWAY_VERSION)) +SWAY_LICENSE = MIT +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 \ + -Dbash-completions=false \ + -Dfish-completions=false \ + -Dswaybar=false \ + -Dswaynag=false \ + -Dtray=disabled \ + -Dman-pages=disabled \ + -Dsd-bus-provider=libsystemd + +ifeq ($(BR2_PACKAGE_WLROOTS_X11),y) +SWAY_CONF_OPTS += -Dxwayland=enabled +else +SWAY_CONF_OPTS += -Dxwayland=disabled +endif + +ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y) +SWAY_CONF_OPTS += -Dgdk-pixbuf=enabled +SWAY_DEPENDENCIES += gdk-pixbuf +else +SWAY_CONF_OPTS += -Dgdk-pixbuf=disabled +endif + +$(eval $(meson-package))