pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/wayland wayland: Update to 1.21.0. This allows w...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/ba8d03225ca6
branches:  trunk
changeset: 382764:ba8d03225ca6
user:      nia <nia%pkgsrc.org@localhost>
date:      Thu Aug 04 15:21:26 2022 +0000

description:
wayland: Update to 1.21.0. This allows wayland to work on NetBSD again
with the latest gtk3. However, I have decided to drop the custom kqueue
patches and use libepoll-shim now that it seems relatively stable.

We can take advantage of the relatively useful OS abstractions in the
latest version of the source tree. Thanks for throwing a twig, upstream!
Shame about the input API.

diffstat:

 devel/wayland/Makefile                               |   37 +-
 devel/wayland/PLIST                                  |   18 +-
 devel/wayland/buildlink3.mk                          |    6 +-
 devel/wayland/distinfo                               |   19 +-
 devel/wayland/files/event-loop-kqueue.c              |  803 -------------------
 devel/wayland/patches/patch-Makefile.am              |   16 -
 devel/wayland/patches/patch-configure.ac             |   45 -
 devel/wayland/patches/patch-meson.build              |   42 +
 devel/wayland/patches/patch-src_wayland-os.c         |   71 +-
 devel/wayland/patches/patch-src_wayland-os.h         |   22 -
 devel/wayland/patches/patch-src_wayland-server.c     |   86 --
 devel/wayland/patches/patch-src_wayland-shm.c        |   18 -
 devel/wayland/patches/patch-tests_os-wrappers-test.c |  127 ---
 13 files changed, 103 insertions(+), 1207 deletions(-)

diffs (truncated from 1407 to 300 lines):

diff -r 1f98788e8d3a -r ba8d03225ca6 devel/wayland/Makefile
--- a/devel/wayland/Makefile    Thu Aug 04 15:20:10 2022 +0000
+++ b/devel/wayland/Makefile    Thu Aug 04 15:21:26 2022 +0000
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2022/04/18 19:10:56 adam Exp $
+# $NetBSD: Makefile,v 1.14 2022/08/04 15:21:26 nia Exp $
 
-DISTNAME=      wayland-1.18.0
-PKGREVISION=   5
+DISTNAME=      wayland-1.21.0
 CATEGORIES=    devel
-MASTER_SITES=  https://wayland.freedesktop.org/releases/
+MASTER_SITES=  https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PKGVERSION_NOREV}/downloads/
 EXTRACT_SUFX=  .tar.xz
 
 MAINTAINER=    nia%NetBSD.org@localhost
@@ -11,33 +10,21 @@
 COMMENT=       Display server protocol - development libraries
 LICENSE=       mit
 
-GNU_CONFIGURE= YES
-USE_LIBTOOL=   YES
-
-USE_TOOLS+=    autoconf automake autoreconf
-USE_TOOLS+=    gmake pkg-config
+USE_TOOLS+=    pkg-config
 
 USE_LANGUAGES= c c++
 
-CONFIGURE_ARGS+=       --disable-documentation
-
-# No support in the kernel yet, always fails.
-# Make sure wayland falls back to ftruncate.
-CONFIGURE_ENV.NetBSD+= ac_cv_func_posix_fallocate=no
+MESON_ARGS+=   -Ddocumentation=false
+MESON_ARGS+=   -Dtests=false
 
-PKGCONFIG_OVERRIDE+=   cursor/wayland-cursor.pc.in
-PKGCONFIG_OVERRIDE+=   egl/wayland-egl-backend.pc.in
-PKGCONFIG_OVERRIDE+=   egl/wayland-egl.pc.in
-PKGCONFIG_OVERRIDE+=   src/wayland-client.pc.in
-PKGCONFIG_OVERRIDE+=   src/wayland-scanner.pc.in
-PKGCONFIG_OVERRIDE+=   src/wayland-server.pc.in
-
-pre-configure:
-       # https://lists.freedesktop.org/archives/wayland-devel/2019-February/040024.html
-       ${CP} ${FILESDIR}/event-loop-kqueue.c ${WRKSRC}/src
-       cd ${WRKSRC} && autoreconf -fvi
+CFLAGS.NetBSD+=        -D_NETBSD_SOURCE
 
 .include "platform.mk"
+.include "../../devel/meson/build.mk"
+.include "../../mk/bsd.fast.prefs.mk"
+.if ${OPSYS} != "Linux"
+.  include "../../devel/libepoll-shim/buildlink3.mk"
+.endif
 .include "../../devel/libffi/buildlink3.mk"
 .include "../../textproc/expat/buildlink3.mk"
 .include "../../textproc/libxslt/buildlink3.mk"
diff -r 1f98788e8d3a -r ba8d03225ca6 devel/wayland/PLIST
--- a/devel/wayland/PLIST       Thu Aug 04 15:20:10 2022 +0000
+++ b/devel/wayland/PLIST       Thu Aug 04 15:21:26 2022 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2019/08/18 16:05:12 nia Exp $
+@comment $NetBSD: PLIST,v 1.2 2022/08/04 15:21:26 nia Exp $
 bin/wayland-scanner
 include/wayland-client-core.h
 include/wayland-client-protocol.h
@@ -12,10 +12,18 @@
 include/wayland-server.h
 include/wayland-util.h
 include/wayland-version.h
-lib/libwayland-client.la
-lib/libwayland-cursor.la
-lib/libwayland-egl.la
-lib/libwayland-server.la
+lib/libwayland-client.so
+lib/libwayland-client.so.0
+lib/libwayland-client.so.0.21.0
+lib/libwayland-cursor.so
+lib/libwayland-cursor.so.0
+lib/libwayland-cursor.so.0.21.0
+lib/libwayland-egl.so
+lib/libwayland-egl.so.1
+lib/libwayland-egl.so.${PKGVERSION}
+lib/libwayland-server.so
+lib/libwayland-server.so.0
+lib/libwayland-server.so.0.21.0
 lib/pkgconfig/wayland-client.pc
 lib/pkgconfig/wayland-cursor.pc
 lib/pkgconfig/wayland-egl-backend.pc
diff -r 1f98788e8d3a -r ba8d03225ca6 devel/wayland/buildlink3.mk
--- a/devel/wayland/buildlink3.mk       Thu Aug 04 15:20:10 2022 +0000
+++ b/devel/wayland/buildlink3.mk       Thu Aug 04 15:21:26 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.3 2021/12/08 16:02:04 adam Exp $
+# $NetBSD: buildlink3.mk,v 1.4 2022/08/04 15:21:26 nia Exp $
 
 BUILDLINK_TREE+=       wayland
 
@@ -9,6 +9,10 @@
 BUILDLINK_ABI_DEPENDS.wayland?=        wayland>=1.18.0nb3
 BUILDLINK_PKGSRCDIR.wayland?=  ../../devel/wayland
 
+.include "../../mk/bsd.fast.prefs.mk"
+.if ${OPSYS} != "Linux"
+.  include "../../devel/libepoll-shim/buildlink3.mk"
+.endif
 .include "../../devel/libffi/buildlink3.mk"
 .endif # WAYLAND_BUILDLINK3_MK
 
diff -r 1f98788e8d3a -r ba8d03225ca6 devel/wayland/distinfo
--- a/devel/wayland/distinfo    Thu Aug 04 15:20:10 2022 +0000
+++ b/devel/wayland/distinfo    Thu Aug 04 15:21:26 2022 +0000
@@ -1,14 +1,7 @@
-$NetBSD: distinfo,v 1.10 2021/10/26 10:20:08 nia Exp $
+$NetBSD: distinfo,v 1.11 2022/08/04 15:21:26 nia Exp $
 
-BLAKE2s (wayland-1.18.0.tar.xz) = 7c9e98fb32566a14dd6ff1d8ada2ffe07cabed85d99fd8e0720bae68c86d58db
-SHA512 (wayland-1.18.0.tar.xz) = e30199e30c2bbd361ee695b4f3f7a4e264f10ed8f46f2c90762b5739fc578ae757dc39aa0258d8fbf0ed418553470bccd4b2730ed9705481cfccdab5de96a8fc
-Size (wayland-1.18.0.tar.xz) = 453968 bytes
-SHA1 (patch-Makefile.am) = de9f10054caeb6549187639973418b9039d782ee
-SHA1 (patch-configure.ac) = 01b226ecaae6ad07ce20de70e36e68990cf1daed
-SHA1 (patch-src_event-loop.c) = d49eab01c973d9d124867e8ab06c091e63e697f9
-SHA1 (patch-src_wayland-os.c) = eb51bf1dc539926a14848097d04bb762cf1fe962
-SHA1 (patch-src_wayland-os.h) = d07a731f081c1600c3041cc1349120031d28337f
-SHA1 (patch-src_wayland-server.c) = 5d30f67968b2516f3335fb2da559883a952ed355
-SHA1 (patch-src_wayland-shm.c) = 8a2e5ae22bc400cd2c5c9dec421d536229b2943f
-SHA1 (patch-tests_os-wrappers-test.c) = a17a2e3cbab039becc8c4cb2f1be379b3bffba0e
-SHA1 (patch-tests_test-runner.c) = e97cfc48340b0de1c2642cb7cc48d9acf0a533eb
+BLAKE2s (wayland-1.21.0.tar.xz) = a4c8a8c41c3b502fe6f56a5ad4913762ddfe6dea619287d44443b8b54633847f
+SHA512 (wayland-1.21.0.tar.xz) = 5575216d30fdf5c63caa6bcad071e15f2a4f3acb12df776806073f65db37a50b5b5b3cc7957c5497636f4ac01893e2eaab26e453ded44b287acde01762f5fdc3
+Size (wayland-1.21.0.tar.xz) = 225936 bytes
+SHA1 (patch-meson.build) = 50b64c24a298596c7fdadf96551e8923a1f3eb38
+SHA1 (patch-src_wayland-os.c) = 8bbd574108e06697c874d372062d3129eb7937d1
diff -r 1f98788e8d3a -r ba8d03225ca6 devel/wayland/files/event-loop-kqueue.c
--- a/devel/wayland/files/event-loop-kqueue.c   Thu Aug 04 15:20:10 2022 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,803 +0,0 @@
-/*
- * Copyright © 2008 Kristian Høgsberg
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial
- * portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "config.h"
-
-#ifndef container_of
-#define container_of(ptr, type, member) ({ \
-    const typeof(((type *)0)->member) * __mptr = (ptr); \
-    (type *)((char *)__mptr - offsetof(type, member)); })
-#endif
-
-#ifdef HAVE_SYS_EVENT_H
-#include <stddef.h>
-#include <stdio.h>
-#include <err.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <sys/types.h>
-#include <sys/event.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include "wayland-util.h"
-#include "wayland-private.h"
-#include "wayland-server-core.h"
-#include "wayland-os.h"
-
-/** \cond INTERNAL */
-
-struct wl_event_loop {
-       int event_fd;
-       struct wl_list check_list;
-       struct wl_list idle_list;
-       struct wl_list destroy_list;
-
-       struct wl_signal destroy_signal;
-};
-
-struct wl_event_source_interface {
-       int (*dispatch)(struct wl_event_source *source,
-                       struct kevent *ev);
-};
-
-struct wl_event_source {
-       struct wl_event_source_interface *interface;
-       struct wl_event_loop *loop;
-       struct wl_list link;
-       void *data;
-       int fd;
-};
-
-struct wl_event_source_fd {
-       struct wl_event_source base;
-       wl_event_loop_fd_func_t func;
-       int fd;
-};
-
-/** \endcond */
-
-static int
-wl_event_source_fd_dispatch(struct wl_event_source *source,
-                           struct kevent *ev)
-{
-       struct wl_event_source_fd *fd_source = (struct wl_event_source_fd *) source;
-       uint32_t mask;
-
-       mask = 0;
-       if (ev->filter == EVFILT_READ)
-               mask |= WL_EVENT_READABLE;
-       if (ev->filter == EVFILT_WRITE)
-               mask |= WL_EVENT_WRITABLE;
-       if (ev->flags & EV_EOF)
-               mask |= WL_EVENT_HANGUP;
-       if (ev->flags & EV_ERROR)
-               mask |= WL_EVENT_ERROR;
-
-       return fd_source->func(source->fd, mask, source->data);
-}
-
-struct wl_event_source_interface fd_source_interface = {
-       wl_event_source_fd_dispatch,
-};
-
-static struct wl_event_source *
-add_source(struct wl_event_loop *loop,
-          struct wl_event_source *source, uint32_t mask, void *data)
-{
-       source->loop = loop;
-       source->data = data;
-       wl_list_init(&source->link);
-
-       return source;
-}
-
-/** Create a file descriptor event source
- *
- * \param loop The event loop that will process the new source.
- * \param fd The file descriptor to watch.
- * \param mask A bitwise-or of which events to watch for: \c WL_EVENT_READABLE,
- * \c WL_EVENT_WRITABLE.
- * \param func The file descriptor dispatch function.
- * \param data User data.
- * \return A new file descriptor event source.
- *
- * The given file descriptor is initially watched for the events given in
- * \c mask. This can be changed as needed with wl_event_source_fd_update().
- *
- * If it is possible that program execution causes the file descriptor to be
- * read while leaving the data in a buffer without actually processing it,
- * it may be necessary to register the file descriptor source to be re-checked,
- * see wl_event_source_check(). This will ensure that the dispatch function
- * gets called even if the file descriptor is not readable or writable
- * anymore. This is especially useful with IPC libraries that automatically
- * buffer incoming data, possibly as a side-effect of other operations.
- *
- * \sa wl_event_loop_fd_func_t
- * \memberof wl_event_source
- */
-WL_EXPORT struct wl_event_source *
-wl_event_loop_add_fd(struct wl_event_loop *loop,
-                    int fd, uint32_t mask,
-                    wl_event_loop_fd_func_t func,
-                    void *data)
-{
-       struct wl_event_source_fd *source;
-
-       struct kevent events[2];
-       unsigned int num_events = 0;
-
-       source = malloc(sizeof *source);
-       if (source == NULL)
-               return NULL;
-



Home | Main Index | Thread Index | Old Index