On Fri, Nov 24, 2023 at 07:09:06PM +0100, Landry Breuil wrote: > hi, > > here's two diffs to update wlroots to the recently released 0.17.0, and > update sway to a more recent commit (eg last commit before they started > using wlroots apis not in 0.17.0). > > Both ports now use upstream sources, and i've added your commits as > patches in most places, taken from > https://gitlab.freedesktop.org/mherrb/wlroots/-/compare/master...obsd?from_project_id=12103 > and > https://github.com/mherrb/sway/commit/1f64b183d3c12aaf54f43c474a709cc79ccbbb59 > for the latter, some of the work that was done to find config files in > swayidle/swaylock can be reused. > > sway runs fine here - ive reseted the version since it's still UNLINKED, > but i've bumped EPOCH for wlroots. > > feedback and testing welcome :)
Ok. I've not yet been able to test, but I trust you that it works. Note for later: there are a number of wayland related ports for which we have to patch out -lrt from meson.build. The patches to do that are highly in-coherent... would be nice to decide on an idiom and use it everywhere. > > Landry > Index: Makefile > =================================================================== > RCS file: /cvs/ports/wayland/sway/Makefile,v > retrieving revision 1.6 > diff -u -r1.6 Makefile > --- Makefile 12 Nov 2023 10:46:11 -0000 1.6 > +++ Makefile 24 Nov 2023 17:57:58 -0000 > @@ -1,13 +1,10 @@ > COMMENT = i3-compatible Wayland compositor > UNLINKED = wayland > > -V = 20231108 > -PKGNAME = sway-${V} > - > -GH_ACCOUNT = mherrb > +GH_ACCOUNT = swaywm > GH_PROJECT = sway > -GH_TAGNAME = sway-obsd-${V} > - > +GH_COMMIT = bff991dfdc63ca3785a810ff4d913ddfd71677a1 > +DISTNAME = ${GH_PROJECT}-1.8.1pl20231121 > CATEGORIES = wayland > > HOMEPAGE = https://github.com/swaywm/sway > Index: distinfo > =================================================================== > RCS file: /cvs/ports/wayland/sway/distinfo,v > retrieving revision 1.2 > diff -u -r1.2 distinfo > --- distinfo 8 Nov 2023 14:04:07 -0000 1.2 > +++ distinfo 24 Nov 2023 17:57:58 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (sway-sway-obsd-20231108.tar.gz) = > YC2EMMvJDzJ/XHaz+sve1ND1JhDp7HEYnD4wQyPYhfE= > -SIZE (sway-sway-obsd-20231108.tar.gz) = 5580535 > +SHA256 (sway-1.8.1pl20231121-bff991df.tar.gz) = > 6WbJ34/vaJ6cwLp6BYh/ogpnz2a0Qz/FPXA9CwhT9WA= > +SIZE (sway-1.8.1pl20231121-bff991df.tar.gz) = 5581167 > Index: patches/patch-common_stringop_c > =================================================================== > RCS file: patches/patch-common_stringop_c > diff -N patches/patch-common_stringop_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-common_stringop_c 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,20 @@ > +Index: common/stringop.c > +--- common/stringop.c.orig > ++++ common/stringop.c > +@@ -6,7 +6,16 @@ > + #include <stdlib.h> > + #include <string.h> > + #include <strings.h> > ++#ifndef __OpenBSD__ > + #include <wordexp.h> > ++#else > ++#include <glob.h> > ++#define wordexp_t glob_t > ++#define wordfree globfree > ++#define wordexp(s,p,f) glob((s), GLOB_DOOFFS, NULL, (p)) > ++#define we_wordc gl_pathc > ++#define we_wordv gl_pathv > ++#endif > + #include "list.h" > + #include "log.h" > + #include "stringop.h" > Index: patches/patch-include_stringop_h > =================================================================== > RCS file: patches/patch-include_stringop_h > diff -N patches/patch-include_stringop_h > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-include_stringop_h 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,11 @@ > +Index: include/stringop.h > +--- include/stringop.h.orig > ++++ include/stringop.h > +@@ -1,6 +1,7 @@ > + #ifndef _SWAY_STRINGOP_H > + #define _SWAY_STRINGOP_H > + > ++#include <stdarg.h> > + #include <stdbool.h> > + #include <stddef.h> > + #include "list.h" > Index: patches/patch-meson_build > =================================================================== > RCS file: patches/patch-meson_build > diff -N patches/patch-meson_build > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-meson_build 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,11 @@ > +Index: meson.build > +--- meson.build.orig > ++++ meson.build > +@@ -81,7 +81,6 @@ drm_full = dependency('libdrm') # only needed for drm_ > + drm = drm_full.partial_dependency(compile_args: true, includes: true) > + libudev = wlroots_features['libinput_backend'] ? dependency('libudev') : > null_dep > + math = cc.find_library('m') > +-rt = cc.find_library('rt') > + xcb_icccm = dependency('xcb-icccm', required: get_option('xwayland')) > + threads = dependency('threads') # for pthread_setschedparam > + > Index: patches/patch-meson_build.orig > =================================================================== > RCS file: patches/patch-meson_build.orig > diff -N patches/patch-meson_build.orig > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-meson_build.orig 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,11 @@ > +Index: meson.build > +--- meson.build.orig > ++++ meson.build > +@@ -81,7 +81,6 @@ drm_full = dependency('libdrm') # only needed for drm_ > + drm = drm_full.partial_dependency(compile_args: true, includes: true) > + libudev = wlroots_features['libinput_backend'] ? dependency('libudev') : > null_dep > + math = cc.find_library('m') > +-rt = cc.find_library('rt') > + xcb_icccm = dependency('xcb-icccm', required: get_option('xwayland')) > + threads = dependency('threads') # for pthread_setschedparam > + > Index: patches/patch-sway_config_bar_c > =================================================================== > RCS file: patches/patch-sway_config_bar_c > diff -N patches/patch-sway_config_bar_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-sway_config_bar_c 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,13 @@ > +Index: sway/config/bar.c > +--- sway/config/bar.c.orig > ++++ sway/config/bar.c > +@@ -9,7 +9,9 @@ > + #include <sys/types.h> > + #include <sys/wait.h> > + #include <unistd.h> > ++#ifndef __OpenBSD__ > + #include <wordexp.h> > ++#endif > + #include "sway/config.h" > + #include "sway/input/keyboard.h" > + #include "sway/output.h" > Index: patches/patch-sway_config_c > =================================================================== > RCS file: patches/patch-sway_config_c > diff -N patches/patch-sway_config_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-sway_config_c 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,41 @@ > +Index: sway/config.c > +--- sway/config.c.orig > ++++ sway/config.c > +@@ -4,7 +4,11 @@ > + #include <stdlib.h> > + #include <unistd.h> > + #include <libgen.h> > ++#ifndef __OpenBSD__ > + #include <wordexp.h> > ++#else > ++#include <glob.h> > ++#endif > + #include <sys/types.h> > + #include <sys/wait.h> > + #include <sys/stat.h> > +@@ -656,6 +660,7 @@ void load_include_configs(const char *path, struct swa > + goto cleanup; > + } > + > ++#ifndef __OpenBSD__ > + wordexp_t p; > + if (wordexp(path, &p, 0) == 0) { > + char **w = p.we_wordv; > +@@ -665,6 +670,17 @@ void load_include_configs(const char *path, struct swa > + } > + wordfree(&p); > + } > ++#else > ++ glob_t p; > ++ if (glob(path, GLOB_DOOFFS, NULL, &p) == 0) { > ++ char **w = p.gl_pathv; > ++ size_t i; > ++ for (i = 0; i < p.gl_pathc; ++i) { > ++ load_include_config(w[i], parent_dir, config, swaynag); > ++ } > ++ globfree(&p); > ++ } > ++#endif > + > + // Attempt to restore working directory before returning. > + if (chdir(wd) < 0) { > Index: patches/patch-swaybar_meson_build > =================================================================== > RCS file: patches/patch-swaybar_meson_build > diff -N patches/patch-swaybar_meson_build > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-swaybar_meson_build 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,11 @@ > +Index: swaybar/meson.build > +--- swaybar/meson.build.orig > ++++ swaybar/meson.build > +@@ -13,7 +13,6 @@ swaybar_deps = [ > + math, > + pango, > + pangocairo, > +- rt, > + wayland_client, > + wayland_cursor > + ] > Index: patches/patch-swaynag_config_c > =================================================================== > RCS file: patches/patch-swaynag_config_c > diff -N patches/patch-swaynag_config_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-swaynag_config_c 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,44 @@ > +Index: swaynag/config.c > +--- swaynag/config.c.orig > ++++ swaynag/config.c > +@@ -2,7 +2,11 @@ > + #include <getopt.h> > + #include <stdio.h> > + #include <stdlib.h> > ++#ifndef __OpenBSD__ > + #include <wordexp.h> > ++#else > ++#include <glob.h> > ++#endif > + #include <unistd.h> > + #include "log.h" > + #include "list.h" > +@@ -378,6 +382,7 @@ char *swaynag_get_config_path(void) { > + config_paths[1] = "$HOME/.config/swaynag/config"; > + } > + > ++#ifndef __OpenBSD__ > + wordexp_t p; > + for (size_t i = 0; i < sizeof(config_paths) / sizeof(char *); ++i) { > + if (wordexp(config_paths[i], &p, 0) == 0) { > +@@ -389,7 +394,19 @@ char *swaynag_get_config_path(void) { > + free(path); > + } > + } > +- > ++#else > ++ glob_t p; > ++ for (size_t i = 0; i < sizeof(config_paths) / sizeof(char *); ++i) { > ++ if (glob(config_paths[i], GLOB_DOOFFS, NULL, &p) == 0) { > ++ char *path = strdup(p.gl_pathv[0]); > ++ globfree(&p); > ++ if (file_exists(path)) { > ++ return path; > ++ } > ++ free(path); > ++ } > ++ } > ++#endif > + return NULL; > + } > + > Index: patches/patch-swaynag_meson_build > =================================================================== > RCS file: patches/patch-swaynag_meson_build > diff -N patches/patch-swaynag_meson_build > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-swaynag_meson_build 24 Nov 2023 17:57:58 -0000 > @@ -0,0 +1,11 @@ > +Index: swaynag/meson.build > +--- swaynag/meson.build.orig > ++++ swaynag/meson.build > +@@ -12,7 +12,6 @@ executable( > + cairo, > + pango, > + pangocairo, > +- rt, > + wayland_client, > + wayland_cursor, > + ], > ? wlroots-0.17.0-libwlroots.so.0.0 > Index: Makefile > =================================================================== > RCS file: /cvs/ports/wayland/wlroots/Makefile,v > retrieving revision 1.5 > diff -u -r1.5 Makefile > --- Makefile 20 Nov 2023 07:21:56 -0000 1.5 > +++ Makefile 24 Nov 2023 17:56:18 -0000 > @@ -1,11 +1,11 @@ > COMMENT = modular Wayland compositor library > > -V = 20231108 > -PKGNAME = wlroots-$V > +V = 0.17.0 > +EPOCH = 0 > +DISTNAME = wlroots-${V} > CATEGORIES = wayland > > -SITES = > https://gitlab.freedesktop.org/mherrb/wlroots/-/archive/wlroots-obsd-$V/ > -DISTFILES = wlroots-wlroots-obsd-${V}${EXTRACT_SUFX} > +SITES = ${HOMEPAGE}/wlroots/-/releases/${V}/downloads/ > > HOMEPAGE = https://gitlab.freedesktop.org/wlroots > > @@ -13,8 +13,6 @@ > PERMIT_PACKAGE = Yes > > SHARED_LIBS += wlroots 0.0 # 0.0 > - > -WRKSRC = ${WRKDIR}/wlroots-wlroots-obsd-${V} > > MODULES = devel/meson > > Index: distinfo > =================================================================== > RCS file: /cvs/ports/wayland/wlroots/distinfo,v > retrieving revision 1.2 > diff -u -r1.2 distinfo > --- distinfo 8 Nov 2023 14:03:11 -0000 1.2 > +++ distinfo 24 Nov 2023 17:56:18 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (wlroots-wlroots-obsd-20231108.tar.gz) = > zIEb9vAbLR3CL6wA9z1wxLNVgmnVe9HEJhGU2ofqr5o= > -SIZE (wlroots-wlroots-obsd-20231108.tar.gz) = 607215 > +SHA256 (wlroots-0.17.0.tar.gz) = naNHWmg0pqmo/ZPehPTvkfnuSP9wwwWqlSK/DbnmESg= > +SIZE (wlroots-0.17.0.tar.gz) = 606172 > Index: patches/patch-meson_build > =================================================================== > RCS file: patches/patch-meson_build > diff -N patches/patch-meson_build > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-meson_build 24 Nov 2023 17:56:18 -0000 > @@ -0,0 +1,19 @@ > +Index: meson.build > +--- meson.build.orig > ++++ meson.build > +@@ -145,7 +145,6 @@ pixman = dependency('pixman-1', > + default_options: ['werror=false'], > + ) > + math = cc.find_library('m') > +-rt = cc.find_library('rt') > + > + wlr_files = [] > + wlr_deps = [ > +@@ -154,7 +153,6 @@ wlr_deps = [ > + xkbcommon, > + pixman, > + math, > +- rt, > + ] > + > + subdir('protocol') > Index: patches/patch-render_vulkan_vulkan_c > =================================================================== > RCS file: patches/patch-render_vulkan_vulkan_c > diff -N patches/patch-render_vulkan_vulkan_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-render_vulkan_vulkan_c 24 Nov 2023 17:56:18 -0000 > @@ -0,0 +1,11 @@ > +otherwise makedev() function isnt found > + > +Index: render/vulkan/vulkan.c > +--- render/vulkan/vulkan.c.orig > ++++ render/vulkan/vulkan.c > +@@ -1,4 +1,4 @@ > +-#if !defined(__FreeBSD__) > ++#if !defined(__FreeBSD__) && !defined(__OpenBSD__) > + #define _POSIX_C_SOURCE 200809L > + #endif > + #include <assert.h> > Index: patches/patch-xcursor_xcursor_c > =================================================================== > RCS file: patches/patch-xcursor_xcursor_c > diff -N patches/patch-xcursor_xcursor_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-xcursor_xcursor_c 24 Nov 2023 17:56:18 -0000 > @@ -0,0 +1,12 @@ > +Index: xcursor/xcursor.c > +--- xcursor/xcursor.c.orig > ++++ xcursor/xcursor.c > +@@ -489,7 +489,7 @@ xcursor_xc_file_load_images(FILE *file, int size) > + #endif > + > + #ifndef XCURSORPATH > +-#define XCURSORPATH > "~/.icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR > ++#define XCURSORPATH > "~/.icons:/usr/X11R6/include/pixmaps:/usr/local/share/icons:/usr/local/lib/X11/icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR > + #endif > + > + #define XDG_DATA_HOME_FALLBACK "~/.local/share" > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/wayland/wlroots/pkg/PLIST,v > retrieving revision 1.2 > diff -u -r1.2 PLIST > --- pkg/PLIST 8 Nov 2023 14:03:11 -0000 1.2 > +++ pkg/PLIST 24 Nov 2023 17:56:18 -0000 > @@ -8,7 +8,6 @@ > include/wlr/backend/multi.h > include/wlr/backend/session.h > include/wlr/backend/wayland.h > -include/wlr/backend/wscons.h > include/wlr/backend/x11.h > include/wlr/config.h > include/wlr/interfaces/