Re: UPDATE: wayland/wayland
Rafael Sadowski wrote (2023-05-04 13:21 CEST): > Update wayland to the latest version. I need this to build the latest > WIP KDE Plasma. > > OK? Compiles and portcheck/port-lib-depends-check are happy. Shared library bump on wayland-server is correct. But I'm unsure if the comment should be bumped too. The test target runs. The os-wrapper test fails (just like in the previous version). Therefore OK. OK sdk@ Best Regards, Stefan > diff --git a/wayland/wayland/Makefile b/wayland/wayland/Makefile > index ce3516b670f..bd2f77ed5b2 100644 > --- a/wayland/wayland/Makefile > +++ b/wayland/wayland/Makefile > @@ -1,7 +1,7 @@ > COMMENT =Display server protocol > > DISTNAME = wayland-${V} > -V = 1.21.0 > +V = 1.21.91 > > CATEGORIES = wayland > > @@ -10,7 +10,7 @@ HOMEPAGE = https://wayland.freedesktop.org/ > SHARED_LIBS += wayland-client 0.1 # 0.21.0 > SHARED_LIBS += wayland-cursor 0.0 # 0.21.0 > SHARED_LIBS += wayland-egl 0.0 # 1.0 > -SHARED_LIBS += wayland-server 0.1 # 0.21.0 > +SHARED_LIBS += wayland-server 0.2 # 0.21.0 > > WANTLIB += c epoll-shim expat ffi xml2 > > diff --git a/wayland/wayland/distinfo b/wayland/wayland/distinfo > index 660d0f26be6..e833ec8070e 100644 > --- a/wayland/wayland/distinfo > +++ b/wayland/wayland/distinfo > @@ -1,2 +1,2 @@ > -SHA256 (wayland-1.21.0.tar.xz) = bcZNf8FoN6aTpRz9suVo21OL/cn0V9RlYoW7lZTvEaw= > -SIZE (wayland-1.21.0.tar.xz) = 225936 > +SHA256 (wayland-1.21.91.tar.xz) = > U4GxjbfxuYsbzXHPd0DewzgrNL6mjlFPImcqbBpLQYo= > +SIZE (wayland-1.21.91.tar.xz) = 229124 > diff --git a/wayland/wayland/patches/patch-tests_test-compositor_c > b/wayland/wayland/patches/patch-tests_test-compositor_c > deleted file mode 100644 > index cd229f10e7b..000 > --- a/wayland/wayland/patches/patch-tests_test-compositor_c > +++ /dev/null > @@ -1,42 +0,0 @@ > -https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 > - > -Index: tests/test-compositor.c > tests/test-compositor.c.orig > -+++ tests/test-compositor.c > -@@ -101,26 +101,23 @@ handle_client_destroy(void *data) > - { > - struct client_info *ci = data; > - struct display *d; > --siginfo_t status; > -+int status; > - > - d = ci->display; > - > --assert(waitid(P_PID, ci->pid, &status, WEXITED) != -1); > -+assert(waitpid(ci->pid, &status, 0) != -1); > - > --switch (status.si_code) { > --case CLD_KILLED: > --case CLD_DUMPED: > -+if (WIFSIGNALED(status)) { > - fprintf(stderr, "Client '%s' was killed by signal %d\n", > --ci->name, status.si_status); > --ci->exit_code = status.si_status; > --break; > --case CLD_EXITED: > --if (status.si_status != EXIT_SUCCESS) > -+ci->name, WTERMSIG(status)); > -+ci->exit_code = WTERMSIG(status); > -+ > -+} else if (WIFEXITED(status)) { > -+if (WEXITSTATUS(status) != EXIT_SUCCESS) > - fprintf(stderr, "Client '%s' exited with code %d\n", > --ci->name, status.si_status); > -+ci->name, WEXITSTATUS(status)); > - > --ci->exit_code = status.si_status; > --break; > -+ci->exit_code = WEXITSTATUS(status); > - } > - > - ++d->clients_terminated_no; >
UPDATE: wayland/wayland
Update wayland to the latest version. I need this to build the latest WIP KDE Plasma. OK? diff --git a/wayland/wayland/Makefile b/wayland/wayland/Makefile index ce3516b670f..bd2f77ed5b2 100644 --- a/wayland/wayland/Makefile +++ b/wayland/wayland/Makefile @@ -1,7 +1,7 @@ COMMENT = Display server protocol DISTNAME = wayland-${V} -V =1.21.0 +V =1.21.91 CATEGORIES = wayland @@ -10,7 +10,7 @@ HOMEPAGE =https://wayland.freedesktop.org/ SHARED_LIBS += wayland-client 0.1 # 0.21.0 SHARED_LIBS += wayland-cursor 0.0 # 0.21.0 SHARED_LIBS += wayland-egl 0.0 # 1.0 -SHARED_LIBS += wayland-server 0.1 # 0.21.0 +SHARED_LIBS += wayland-server 0.2 # 0.21.0 WANTLIB += c epoll-shim expat ffi xml2 diff --git a/wayland/wayland/distinfo b/wayland/wayland/distinfo index 660d0f26be6..e833ec8070e 100644 --- a/wayland/wayland/distinfo +++ b/wayland/wayland/distinfo @@ -1,2 +1,2 @@ -SHA256 (wayland-1.21.0.tar.xz) = bcZNf8FoN6aTpRz9suVo21OL/cn0V9RlYoW7lZTvEaw= -SIZE (wayland-1.21.0.tar.xz) = 225936 +SHA256 (wayland-1.21.91.tar.xz) = U4GxjbfxuYsbzXHPd0DewzgrNL6mjlFPImcqbBpLQYo= +SIZE (wayland-1.21.91.tar.xz) = 229124 diff --git a/wayland/wayland/patches/patch-tests_test-compositor_c b/wayland/wayland/patches/patch-tests_test-compositor_c deleted file mode 100644 index cd229f10e7b..000 --- a/wayland/wayland/patches/patch-tests_test-compositor_c +++ /dev/null @@ -1,42 +0,0 @@ -https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 - -Index: tests/test-compositor.c tests/test-compositor.c.orig -+++ tests/test-compositor.c -@@ -101,26 +101,23 @@ handle_client_destroy(void *data) - { - struct client_info *ci = data; - struct display *d; -- siginfo_t status; -+ int status; - - d = ci->display; - -- assert(waitid(P_PID, ci->pid, &status, WEXITED) != -1); -+ assert(waitpid(ci->pid, &status, 0) != -1); - -- switch (status.si_code) { -- case CLD_KILLED: -- case CLD_DUMPED: -+ if (WIFSIGNALED(status)) { - fprintf(stderr, "Client '%s' was killed by signal %d\n", -- ci->name, status.si_status); -- ci->exit_code = status.si_status; -- break; -- case CLD_EXITED: -- if (status.si_status != EXIT_SUCCESS) -+ ci->name, WTERMSIG(status)); -+ ci->exit_code = WTERMSIG(status); -+ -+ } else if (WIFEXITED(status)) { -+ if (WEXITSTATUS(status) != EXIT_SUCCESS) - fprintf(stderr, "Client '%s' exited with code %d\n", -- ci->name, status.si_status); -+ ci->name, WEXITSTATUS(status)); - -- ci->exit_code = status.si_status; -- break; -+ ci->exit_code = WEXITSTATUS(status); - } - - ++d->clients_terminated_no;
[update] wayland/wayland-protocols 1.31
Version bump, builds fine without any additional porting/patching. No release notes provided by upstream, but a basic review shows new 'xwayland_shell', 'fractional-scale' and 'tearing-control' protocols being added to staging, as well as delivering a handful of bug fixes. Index: Makefile === RCS file: /cvs/ports/wayland/wayland-protocols/Makefile,v retrieving revision 1.4 diff -u -p -u -r1.4 Makefile --- Makefile 17 Dec 2022 07:46:27 - 1.4 +++ Makefile 1 Apr 2023 21:09:41 - @@ -1,6 +1,6 @@ COMMENT = Wayland protocols -V = 1.27 +V = 1.31 DISTNAME = wayland-protocols-${V} CATEGORIES = wayland Index: distinfo === RCS file: /cvs/ports/wayland/wayland-protocols/distinfo,v retrieving revision 1.3 diff -u -p -u -r1.3 distinfo --- distinfo 17 Dec 2022 07:46:27 - 1.3 +++ distinfo 1 Apr 2023 21:09:41 - @@ -1,2 +1,2 @@ -SHA256 (wayland-protocols-1.27.tar.xz) = kEbxCkJdTioAlloDrPtrP7V1pWUDrHLCuGghxpZTN1w= -SIZE (wayland-protocols-1.27.tar.xz) = 82604 +SHA256 (wayland-protocols-1.31.tar.xz) = oH+nIu2HZ27AINhncUvJovJMRk2nORLzlwbu71IZ4jg= +SIZE (wayland-protocols-1.31.tar.xz) = 85524 Index: pkg/PLIST === RCS file: /cvs/ports/wayland/wayland-protocols/pkg/PLIST,v retrieving revision 1.4 diff -u -p -u -r1.4 PLIST --- pkg/PLIST 17 Dec 2022 07:46:27 - 1.4 +++ pkg/PLIST 1 Apr 2023 21:09:41 - @@ -16,10 +16,16 @@ share/wayland-protocols/staging/ext-idle share/wayland-protocols/staging/ext-idle-notify/ext-idle-notify-v1.xml share/wayland-protocols/staging/ext-session-lock/ share/wayland-protocols/staging/ext-session-lock/ext-session-lock-v1.xml +share/wayland-protocols/staging/fractional-scale/ +share/wayland-protocols/staging/fractional-scale/fractional-scale-v1.xml share/wayland-protocols/staging/single-pixel-buffer/ share/wayland-protocols/staging/single-pixel-buffer/single-pixel-buffer-v1.xml +share/wayland-protocols/staging/tearing-control/ +share/wayland-protocols/staging/tearing-control/tearing-control-v1.xml share/wayland-protocols/staging/xdg-activation/ share/wayland-protocols/staging/xdg-activation/xdg-activation-v1.xml +share/wayland-protocols/staging/xwayland-shell/ +share/wayland-protocols/staging/xwayland-shell/xwayland-shell-v1.xml share/wayland-protocols/unstable/ share/wayland-protocols/unstable/fullscreen-shell/ share/wayland-protocols/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml
Re: update: wayland/wayland and wayland/wayland-protocols
On Sat Jul 30, 2022 at 09:03:28PM +0200, Sebastien Marie wrote: > Hi, > > The following diff updates wayland/wayland to 1.21.0 and > wayland/wayland-protocols to 1.26. > > wayland-protocols is simple. > > wayland is more complex. > > - I bumped SHARED_LIBS for wayland-client and wayland-server (new symbols > added). For the comment with the upstream version, I looked at meson.build > file, but I am a bit unsure (wayland-client seems to have switched from 3.0 > to > 0.21.0 ?!) > > - Regarding the code, I sent a MR request to upstream. The current patches > permits to build wayland on OpenBSD (and still on Linux), all tests are > passing. > > - define _BSD_SOURCE to get SOCK_CLOEXEC and mkostemp (there is a > _POSIX_C_SOURCE on command-line which hide it else) > - in tests, use llvm-nm(1) instead of nm(1) (BSD nm has incompatible > options with GNU) > - provide a compat layer for waitid() > - epoll(7) has userspace wrapper around kqueue(2) is upstreamed: use it for > OpenBSD > - when using SO_PEERCRED, the struct to use onOpenBSD is `struct > sockpeercred` > - provide a compat layer for count_open_fds() (for tests) > > Comments or OK ? > -- > Sebastien Marie > > > Merci Sebastien! OK with two tweaks: - Fix / Change MASTER_SITES (Upstream switch to gitlab.freedesktop.org) - Wayland protocols depends on >=1.20.0: -BUILD_DEPENDS =wayland/wayland -RUN_DEPENDS = wayland/wayland +BUILD_DEPENDS =wayland/wayland>=1.20.0 +RUN_DEPENDS = wayland/wayland>=1.20.0 Qt5 and Qt6 wayland are happy with the update. Rafael Index: wayland/Makefile === RCS file: /cvs/ports/wayland/wayland/Makefile,v retrieving revision 1.3 diff -u -p -r1.3 Makefile --- wayland/Makefile11 Mar 2022 20:04:05 - 1.3 +++ wayland/Makefile13 Aug 2022 07:16:03 - @@ -1,23 +1,23 @@ COMMENT = Display server protocol -DISTNAME = wayland-1.19.0 -REVISION = 0 +V =1.21.0 +DISTNAME = wayland-${V} CATEGORIES = wayland HOMEPAGE = https://wayland.freedesktop.org/ -SHARED_LIBS += wayland-client 0.0 # 3.0 -SHARED_LIBS += wayland-cursor 0.0 # 0.0 +SHARED_LIBS += wayland-client 0.1 # 0.21.0 +SHARED_LIBS += wayland-cursor 0.0 # 0.21.0 SHARED_LIBS += wayland-egl 0.0 # 1.0 -SHARED_LIBS += wayland-server 0.0 # 1.0 +SHARED_LIBS += wayland-server 0.1 # 0.21.0 WANTLIB += c epoll-shim expat ffi xml2 # MIT PERMIT_PACKAGE = Yes -MASTER_SITES = https://wayland.freedesktop.org/releases/ +MASTER_SITES = https://gitlab.freedesktop.org/wayland/wayland/-/releases/${V}/downloads/ EXTRACT_SUFX = .tar.xz MODULES = devel/meson @@ -30,8 +30,8 @@ LIB_DEPENDS = devel/libffi \ textproc/libxml \ devel/epoll-shim -CFLAGS+= "-I${LOCALBASE}/include/libepoll-shim" - MODMESON_CONFIGURE_ARGS += -Ddocumentation=false + +TEST_DEPENDS = devel/llvm,-main .include Index: wayland/distinfo === RCS file: /cvs/ports/wayland/wayland/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- wayland/distinfo6 Nov 2021 18:58:28 - 1.1.1.1 +++ wayland/distinfo13 Aug 2022 07:16:03 - @@ -1,2 +1,2 @@ -SHA256 (wayland-1.19.0.tar.xz) = uszZAjANNUWBzVrTzEnapJIdVftBaliD4hh1D+8WbRU= -SIZE (wayland-1.19.0.tar.xz) = 456380 +SHA256 (wayland-1.21.0.tar.xz) = bcZNf8FoN6aTpRz9suVo21OL/cn0V9RlYoW7lZTvEaw= +SIZE (wayland-1.21.0.tar.xz) = 225936 Index: wayland/patches/patch-cursor_os-compatibility_c === RCS file: wayland/patches/patch-cursor_os-compatibility_c diff -N wayland/patches/patch-cursor_os-compatibility_c --- /dev/null 1 Jan 1970 00:00:00 - +++ wayland/patches/patch-cursor_os-compatibility_c 13 Aug 2022 07:16:03 - @@ -0,0 +1,14 @@ +https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 + +Index: cursor/os-compatibility.c +--- cursor/os-compatibility.c.orig cursor/os-compatibility.c +@@ -23,6 +23,8 @@ + * SOFTWARE. + */ + ++#define _BSD_SOURCE ++#define _DEFAULT_SOURCE + #define _GNU_SOURCE + + #include "config.h" Index: wayland/patches/patch-egl_meson_build === RCS file: wayland/patches/patch-egl_meson_build diff -N wayland/patches/patch-egl_meson_build --- /dev/null 1 Jan 1970 00:00:00 - +++ wayland/patches/patch-egl_meson_build 13 Aug 2022 07:16:03 - @@ -0,0 +1,14 @@ +https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 + +Index: egl/meson.build +--- egl/meson.build.orig egl/meson.build +@@ -11,7 +11,7 @@ wayland_egl = library( + + executable('wayland-egl-abi-check', 'wayland-
Re: update: wayland/wayland and wayland/wayland-protocols
On Sun, Jul 31, 2022 at 01:35:22PM +0100, Chris Narkiewicz wrote: > On Sat, Jul 30, 2022 at 09:03:28PM +0200, Sebastien Marie wrote: > > Comments or OK ? > > I'm curious what is the general state of wayland on OpenBSD? Is it > usable by ordinary users? I looked in the ports but I don't see any > window manager such as sway that I could run to play with wayland. Wayland compositors usually depends on libinput (and libevdev or udev), which is a blocker for us actually for running wayland natively (it might be other problems). The reason I am upgrading wayland is that some ports are expecting wayland libraries >=1.20.0 (and we have only 1.19.0). These wayland libraries are clients libraries. The fact we don't have a compositor (the server part) doesn't mean we shouldn't do work. For the server approch, one thing I am currently testing is arcan (see graphics/arcan) which is development framework, which is able to run over egl-dri (directly using /dev/dri vnodes, permitting graphical output starting from the console) or on SDl (via X11). arcan has basic wayland support (see arcan-wayland). With more work, it should be possible to run wayland clients on arcan. Thanks. -- Sebastien Marie
Re: update: wayland/wayland and wayland/wayland-protocols
On 2022/07/31 13:35, Chris Narkiewicz wrote: > I'm curious what is the general state of wayland on OpenBSD? There are some small pieces in ports to satisfy dependencies of certain ports, that's all.
update: wayland/wayland and wayland/wayland-protocols
Hi, The following diff updates wayland/wayland to 1.21.0 and wayland/wayland-protocols to 1.26. wayland-protocols is simple. wayland is more complex. - I bumped SHARED_LIBS for wayland-client and wayland-server (new symbols added). For the comment with the upstream version, I looked at meson.build file, but I am a bit unsure (wayland-client seems to have switched from 3.0 to 0.21.0 ?!) - Regarding the code, I sent a MR request to upstream. The current patches permits to build wayland on OpenBSD (and still on Linux), all tests are passing. - define _BSD_SOURCE to get SOCK_CLOEXEC and mkostemp (there is a _POSIX_C_SOURCE on command-line which hide it else) - in tests, use llvm-nm(1) instead of nm(1) (BSD nm has incompatible options with GNU) - provide a compat layer for waitid() - epoll(7) has userspace wrapper around kqueue(2) is upstreamed: use it for OpenBSD - when using SO_PEERCRED, the struct to use onOpenBSD is `struct sockpeercred` - provide a compat layer for count_open_fds() (for tests) Comments or OK ? -- Sebastien Marie diff /data/semarie/repos/openbsd/ports commit - 0150291b1a3b6581d1519c18d130d81b43e52d16 path + /data/semarie/repos/openbsd/ports blob - 2bf739823fadd261a14b1dae72d53626f6a73983 file + wayland/wayland/Makefile --- wayland/wayland/Makefile +++ wayland/wayland/Makefile @@ -1,16 +1,15 @@ COMMENT = Display server protocol -DISTNAME = wayland-1.19.0 -REVISION = 0 +DISTNAME = wayland-1.21.0 CATEGORIES = wayland HOMEPAGE = https://wayland.freedesktop.org/ -SHARED_LIBS += wayland-client 0.0 # 3.0 -SHARED_LIBS += wayland-cursor 0.0 # 0.0 +SHARED_LIBS += wayland-client 0.1 # 0.21.0 +SHARED_LIBS += wayland-cursor 0.0 # 0.21.0 SHARED_LIBS += wayland-egl 0.0 # 1.0 -SHARED_LIBS += wayland-server 0.0 # 1.0 +SHARED_LIBS += wayland-server 0.1 # 0.21.0 WANTLIB += c epoll-shim expat ffi xml2 @@ -30,8 +29,8 @@ LIB_DEPENDS = devel/libffi \ textproc/libxml \ devel/epoll-shim -CFLAGS+= "-I${LOCALBASE}/include/libepoll-shim" - MODMESON_CONFIGURE_ARGS += -Ddocumentation=false +TEST_DEPENDS = devel/llvm,-main + .include blob - c6681ae77df3d933cb641234e3c341b7a979dbc6 file + wayland/wayland/distinfo --- wayland/wayland/distinfo +++ wayland/wayland/distinfo @@ -1,2 +1,2 @@ -SHA256 (wayland-1.19.0.tar.xz) = uszZAjANNUWBzVrTzEnapJIdVftBaliD4hh1D+8WbRU= -SIZE (wayland-1.19.0.tar.xz) = 456380 +SHA256 (wayland-1.21.0.tar.xz) = bcZNf8FoN6aTpRz9suVo21OL/cn0V9RlYoW7lZTvEaw= +SIZE (wayland-1.21.0.tar.xz) = 225936 blob - /dev/null file + wayland/wayland/patches/patch-cursor_os-compatibility_c --- /dev/null +++ wayland/wayland/patches/patch-cursor_os-compatibility_c @@ -0,0 +1,14 @@ +https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 + +Index: cursor/os-compatibility.c +--- cursor/os-compatibility.c.orig cursor/os-compatibility.c +@@ -23,6 +23,8 @@ + * SOFTWARE. + */ + ++#define _BSD_SOURCE ++#define _DEFAULT_SOURCE + #define _GNU_SOURCE + + #include "config.h" blob - /dev/null file + wayland/wayland/patches/patch-egl_meson_build --- /dev/null +++ wayland/wayland/patches/patch-egl_meson_build @@ -0,0 +1,14 @@ +https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 + +Index: egl/meson.build +--- egl/meson.build.orig egl/meson.build +@@ -11,7 +11,7 @@ wayland_egl = library( + + executable('wayland-egl-abi-check', 'wayland-egl-abi-check.c') + +-nm_path = find_program('nm').full_path() ++nm_path = find_program(['llvm-nm', 'nm']).full_path() + + test( + 'wayland-egl symbols check', blob - 5dec069d72a7e55f745948e7da377dd53f3ffbd9 file + wayland/wayland/patches/patch-meson_build --- wayland/wayland/patches/patch-meson_build +++ wayland/wayland/patches/patch-meson_build @@ -1,34 +1,36 @@ +https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/256 + Index: meson.build --- meson.build.orig +++ meson.build -@@ -26,7 +26,14 @@ add_project_arguments( +@@ -34,7 +34,12 @@ add_project_arguments( language: 'c' ) --foreach h: [ 'sys/prctl.h' ] +-foreach h: [ 'sys/prctl.h', 'sys/procctl.h', 'sys/ucred.h' ] +have_headers = [ -+ 'signal.h', -+ 'sys/epoll.h', -+ 'sys/prctl.h', -+ 'sys/ucred.h', -+ ] -+ ++ 'sys/prctl.h', ++ 'sys/procctl.h', ++ 'sys/ucred.h', ++] +foreach h: have_headers config_h.set('HAVE_' + h.underscorify().to_upper(), cc.has_header(h)) endforeach -@@ -37,12 +44,14 @@ have_funcs = [ - 'prctl', +@@ -46,6 +51,7 @@ have_funcs = [ 'memfd_create', + 'mremap', 'strndup', + 'waitid', ] foreach f: have_funcs config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f)) - endforeach +@@ -69,7 +75,7 @@ endif + config_h.set10('HAVE_BROKEN_MSG_CMSG_CLOEXEC', have_broken_msg_cmsg_cloexec) if get_op