diff mbox series

[v1,1/1] package/sway: new package

Message ID 20221031124625.21172-1-raphael.pavlidis@gmail.com
State Accepted
Headers show
Series [v1,1/1] package/sway: new package | expand

Commit Message

Raphael Pavlidis Oct. 31, 2022, 12:46 p.m. UTC
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 <raphael.pavlidis@gmail.com>
---
 DEVELOPERS             |  3 ++-
 package/Config.in      |  1 +
 package/sway/Config.in | 42 ++++++++++++++++++++++++++++++++++++++++++
 package/sway/sway.hash |  3 +++
 package/sway/sway.mk   | 36 ++++++++++++++++++++++++++++++++++++
 5 files changed, 84 insertions(+), 1 deletion(-)
 create mode 100644 package/sway/Config.in
 create mode 100644 package/sway/sway.hash
 create mode 100644 package/sway/sway.mk

Comments

Peter Korsgaard Feb. 8, 2023, 1:43 p.m. UTC | #1
>>>>> "Raphael" == Raphael Pavlidis <raphael.pavlidis@gmail.com> writes:

 > 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 <raphael.pavlidis@gmail.com>
 > ---
 >  DEVELOPERS             |  3 ++-
 >  package/Config.in      |  1 +
 >  package/sway/Config.in | 42 ++++++++++++++++++++++++++++++++++++++++++
 >  package/sway/sway.hash |  3 +++
 >  package/sway/sway.mk   | 36 ++++++++++++++++++++++++++++++++++++
 >  5 files changed, 84 insertions(+), 1 deletion(-)
 >  create mode 100644 package/sway/Config.in
 >  create mode 100644 package/sway/sway.hash
 >  create mode 100644 package/sway/sway.mk

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

NIT: You have a number of trailing spaces here.

 > +++ b/package/sway/sway.mk
 > @@ -0,0 +1,36 @@
 > +################################################################################
 > +#
 > +# 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

How did you test this? Here wlroots with x11 support doesn't build as we
don't have an Xwayland .pc file or binary in Buildroot.

> +else
 > +SWAY_CONF_OPTS += -Dxwayland=disabled
 > +endif
 > +
 > +ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y)
 > +SWAY_CONF_OPTS += -Dgdk-pixbuf=enabled

You also need to ensure that sway is built after gdk-pixbuf with:

SWAY_DEPENDENCIES += gdk-pixbuf

Committed with that fixed, thanks.
Raphael Pavlidis Feb. 11, 2023, 1:53 p.m. UTC | #2
Hi Peter,

On 08.02.23 14:43, Peter Korsgaard wrote:
[--SNIP--]
> 
> How did you test this? Here wlroots with x11 support doesn't build as we
> don't have an Xwayland .pc file or binary in Buildroot.
> 
I create a xwayland package, which build the xserver binary, but did not 
send the patch yet. (This will fix the problems with weston, too)

>> +else
>   > +SWAY_CONF_OPTS += -Dxwayland=disabled
>   > +endif
>   > +
>   > +ifeq ($(BR2_PACKAGE_GDK_PIXBUF),y)
>   > +SWAY_CONF_OPTS += -Dgdk-pixbuf=enabled
> 
> You also need to ensure that sway is built after gdk-pixbuf with:
> 
> SWAY_DEPENDENCIES += gdk-pixbuf
> 
> Committed with that fixed, thanks.
> 

Thanks,
Raphael Pavlidis
Peter Korsgaard Feb. 11, 2023, 3:25 p.m. UTC | #3
>>>>> "Raphael" == Raphael Pavlidis <raphael.pavlidis@gmail.com> writes:

 > Hi Peter,
 > On 08.02.23 14:43, Peter Korsgaard wrote:
 > [--SNIP--]
 >> How did you test this? Here wlroots with x11 support doesn't build
 >> as we
 >> don't have an Xwayland .pc file or binary in Buildroot.
 >> 
 > I create a xwayland package, which build the xserver binary, but did
 > not send the patch yet. (This will fix the problems with weston, too)

Ok, thanks - Will you submit the xwayland package?
Raphael Pavlidis Feb. 13, 2023, 6:46 p.m. UTC | #4
On 11.02.23 16:25, Peter Korsgaard wrote:
>>>>>> "Raphael" == Raphael Pavlidis <raphael.pavlidis@gmail.com> writes:
> 
>   > Hi Peter,
>   > On 08.02.23 14:43, Peter Korsgaard wrote:
>   > [--SNIP--]
>   >> How did you test this? Here wlroots with x11 support doesn't build
>   >> as we
>   >> don't have an Xwayland .pc file or binary in Buildroot.
>   >>
>   > I create a xwayland package, which build the xserver binary, but did
>   > not send the patch yet. (This will fix the problems with weston, too)
> 
> Ok, thanks - Will you submit the xwayland package?
> 

Yes, but I have to do some cleanups. Should I add you to CC then?
Peter Korsgaard Feb. 13, 2023, 7:26 p.m. UTC | #5
>>>>> "Raphael" == Raphael Pavlidis <raphael.pavlidis@gmail.com> writes:

 > On 11.02.23 16:25, Peter Korsgaard wrote:
 >>>>>>> "Raphael" == Raphael Pavlidis <raphael.pavlidis@gmail.com> writes:
 >> > Hi Peter,
 >> > On 08.02.23 14:43, Peter Korsgaard wrote:
 >> > [--SNIP--]
 >> >> How did you test this? Here wlroots with x11 support doesn't build
 >> >> as we
 >> >> don't have an Xwayland .pc file or binary in Buildroot.
 >> >>
 >> > I create a xwayland package, which build the xserver binary, but did
 >> > not send the patch yet. (This will fix the problems with weston, too)
 >> Ok, thanks - Will you submit the xwayland package?
 >> 

 > Yes, but I have to do some cleanups. Should I add you to CC then?

Ok, please do.
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index dac8fefd0b..0390b94519 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2477,8 +2477,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 <raphael.pavlidis@googlemail.com>
+N:	Raphael Pavlidis <raphael.pavlidis@gmail.com>
 F:	package/slirp4netns/
+F:	package/sway/
 
 N:	Refik Tuzakli <tuzakli.refik@gmail.com>
 F:	package/freescale-imx/
diff --git a/package/Config.in b/package/Config.in
index e4eb2b7434..c70729734d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -325,6 +325,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..cdeca16fc0
--- /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..6bf49dbb6b
--- /dev/null
+++ b/package/sway/sway.mk
@@ -0,0 +1,36 @@ 
+################################################################################
+#
+# 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
+else
+SWAY_CONF_OPTS += -Dgdk-pixbuf=disabled
+endif
+
+$(eval $(meson-package))