diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2017-01-29 23:04:45 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2017-01-29 23:04:45 +0000 |
commit | 7dc166606b9e5b155f45ee2f6cac61ac9ab04da9 (patch) | |
tree | 6b35b83e514ea208d1c7de1955b63e15a0bc7a3b /x11-servers | |
parent | 1a8c14a698805c423849e71432146cbc4b81b474 (diff) |
Move wayland to a better location
Notes
Notes:
svn path=/head/; revision=432804
Diffstat (limited to 'x11-servers')
19 files changed, 0 insertions, 1090 deletions
diff --git a/x11-servers/Makefile b/x11-servers/Makefile index 374c6e3ca433..84ed43583146 100644 --- a/x11-servers/Makefile +++ b/x11-servers/Makefile @@ -3,7 +3,6 @@ COMMENT = X11 servers - SUBDIR += wayland SUBDIR += Xfstt SUBDIR += x11rdp SUBDIR += x2vnc diff --git a/x11-servers/wayland/Makefile b/x11-servers/wayland/Makefile deleted file mode 100644 index 6935f5785a1f..000000000000 --- a/x11-servers/wayland/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# Created by: kwm@FreeBSD.org -# $FreeBSD$ - -# NOTE -# Changes made by kwm to use kevent instead of epoll -# are still in place. However, since libinput depends -# on libepoll-shim the simplest to do was to have Wayland -# also use it. Currently build will fail if epoll-shim -# is not available but can be built without epoll-shim -# if EPOLLSHIM_LIBS is cleared (configure.ac) -# -# TODO: Add condition for this in configure -# -# If we want to build Wayland with kwm's kevent patches -# and use epoll-shim for libinput we have to change it -# so that Wayland ignore epoll headers installed by -# epoll-shim. -# Maybe best is to use epoll-shim if it is good enough -# and keep diff with upstream minimal. - -PORTNAME= wayland -PORTVERSION= 1.12.0 -CATEGORIES= x11-servers wayland -MASTER_SITES= http://wayland.freedesktop.org/releases/ - -MAINTAINER= x11@FreeBSD.org -COMMENT= Wayland composite "server" - -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/COPYING - -LIB_DEPENDS= libexpat.so:textproc/expat2 \ - libffi.so:devel/libffi \ - libepoll-shim.so:devel/libepoll-shim - -CFLAGS+= "-I${LOCALBASE}/include/libepoll-shim" - -WITH_DEBUG= 1 - -USES= autoreconf gmake libtool localbase pathfix pkgconfig tar:xz -USE_GNOME= libxslt:build -USE_LDCONFIG= yes -GNU_CONFIGURE= yes -CONFIGURE_ARGS= --disable-documentation -INSTALL_TARGET= install-strip - -.include <bsd.port.mk> diff --git a/x11-servers/wayland/distinfo b/x11-servers/wayland/distinfo deleted file mode 100644 index 1217bc965ee2..000000000000 --- a/x11-servers/wayland/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1481659324 -SHA256 (wayland-1.12.0.tar.xz) = d6b4135cba0188abcb7275513c72dede751d6194f6edc5b82183a3ba8b821ab1 -SIZE (wayland-1.12.0.tar.xz) = 379520 diff --git a/x11-servers/wayland/files/patch-Makefile.am b/x11-servers/wayland/files/patch-Makefile.am deleted file mode 100644 index c3b12cae4ba3..000000000000 --- a/x11-servers/wayland/files/patch-Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ ---- Makefile.am.orig 2016-02-29 23:30:58 UTC -+++ Makefile.am -@@ -73,7 +73,7 @@ nodist_include_HEADERS = \ - protocol/wayland-client-protocol.h - - libwayland_server_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS) -pthread --libwayland_server_la_LIBADD = $(FFI_LIBS) libwayland-private.la libwayland-util.la -lrt -lm -+libwayland_server_la_LIBADD = $(FFI_LIBS) $(EPOLLSHIM_LIBS) libwayland-private.la libwayland-util.la -lrt -lm - libwayland_server_la_LDFLAGS = -version-info 1:0:1 - libwayland_server_la_SOURCES = \ - src/wayland-server.c \ -@@ -85,7 +85,7 @@ nodist_libwayland_server_la_SOURCES = \ - protocol/wayland-protocol.c - - libwayland_client_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS) -pthread --libwayland_client_la_LIBADD = $(FFI_LIBS) libwayland-private.la libwayland-util.la -lrt -lm -+libwayland_client_la_LIBADD = $(FFI_LIBS) $(EPOLLSHIM_LIBS) libwayland-private.la libwayland-util.la -lrt -lm - libwayland_client_la_LDFLAGS = -version-info 3:0:3 - libwayland_client_la_SOURCES = \ - src/wayland-client.c -@@ -186,7 +186,7 @@ libtest_runner_la_LIBADD = \ - libwayland-util.la \ - libwayland-client.la \ - libwayland-server.la \ -- -lrt -ldl $(FFI_LIBS) -+ -lrt $(DL_LIBS) $(FFI_LIBS) $(EPOLLSHIM_LIBS) - - - array_test_SOURCES = tests/array-test.c diff --git a/x11-servers/wayland/files/patch-configure.ac b/x11-servers/wayland/files/patch-configure.ac deleted file mode 100644 index a6c0d1737262..000000000000 --- a/x11-servers/wayland/files/patch-configure.ac +++ /dev/null @@ -1,56 +0,0 @@ ---- configure.ac.orig 2016-06-01 00:11:10 UTC -+++ configure.ac -@@ -63,6 +63,28 @@ AC_SUBST(GCC_CFLAGS) - - AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate]) - -+AC_CHECK_HEADERS([sys/signalfd.h sys/timerfd.h]) -+ -+# Use epoll on Linux or kqueue on BSD -+AC_CHECK_HEADERS([sys/epoll.h sys/event.h]) -+if test "x$ac_cv_header_sys_epoll_h" != "xyes" && test "x$ac_cv_header_sys_event_h" != "xyes"; then -+ AC_MSG_ERROR([Can't find sys/epoll.h or sys/event.h. Please ensure either epoll or kqueue is available.]) -+fi -+ -+# Credential support on FreeBSD -+AC_CHECK_HEADERS([sys/ucred.h]) -+ -+# dlopen() -+AC_CHECK_LIB([dl], [dlsym], [DL_LIBS=-ldl]) -+AC_SUBST([DL_LIBS]) -+ -+# Defines __FreeBSD__ if we're on FreeBSD -+AC_CHECK_HEADERS([sys/param.h]) -+ -+# waitid() and signal.h are needed for the test suite. -+AC_CHECK_FUNCS([waitid]) -+AC_CHECK_HEADERS([signal.h]) -+ - AC_ARG_ENABLE([libraries], - [AC_HELP_STRING([--disable-libraries], - [Disable compilation of wayland libraries])], -@@ -98,11 +120,12 @@ AC_SUBST([ICONDIR]) - - if test "x$enable_libraries" = "xyes"; then - PKG_CHECK_MODULES(FFI, [libffi]) -+dnl convert SFD_CLOEXEC and TFD_CLOEXEC to warning while figuring out how to do this. - AC_CHECK_DECL(SFD_CLOEXEC,[], -- [AC_MSG_ERROR("SFD_CLOEXEC is needed to compile wayland libraries")], -+ [AC_MSG_WARN("SFD_CLOEXEC is needed to compile wayland libraries")], - [[#include <sys/signalfd.h>]]) - AC_CHECK_DECL(TFD_CLOEXEC,[], -- [AC_MSG_ERROR("TFD_CLOEXEC is needed to compile wayland libraries")], -+ [AC_MSG_WARN("TFD_CLOEXEC is needed to compile wayland libraries")], - [[#include <sys/timerfd.h>]]) - AC_CHECK_DECL(CLOCK_MONOTONIC,[], - [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland libraries")], -@@ -110,6 +133,9 @@ if test "x$enable_libraries" = "xyes"; t - AC_CHECK_HEADERS([execinfo.h]) - fi - -+EPOLLSHIM_LIBS="-lepoll-shim" -+AC_SUBST(EPOLLSHIM_LIBS) -+ - PKG_CHECK_MODULES(EXPAT, [expat], [], - [AC_CHECK_HEADERS(expat.h, [], - [AC_MSG_ERROR([Can't find expat.h. Please install expat.])]) diff --git a/x11-servers/wayland/files/patch-src_wayland-os.c b/x11-servers/wayland/files/patch-src_wayland-os.c deleted file mode 100644 index 5cb746638d3e..000000000000 --- a/x11-servers/wayland/files/patch-src_wayland-os.c +++ /dev/null @@ -1,114 +0,0 @@ ---- src/wayland-os.c.orig 2015-07-06 19:38:51 UTC -+++ src/wayland-os.c -@@ -25,14 +25,20 @@ - - #define _GNU_SOURCE - -+#include "../config.h" -+ - #include <sys/types.h> - #include <sys/socket.h> - #include <unistd.h> - #include <fcntl.h> - #include <errno.h> -+#ifdef HAVE_SYS_EPOLL_H - #include <sys/epoll.h> -+#endif -+#ifdef HAVE_SYS_EVENT_H -+#include <sys/event.h> -+#endif - --#include "../config.h" - #include "wayland-os.h" - - static int -@@ -62,26 +68,50 @@ wl_os_socket_cloexec(int domain, int typ - { - int fd; - -+#ifdef SOCK_CLOEXEC - fd = socket(domain, type | SOCK_CLOEXEC, protocol); - if (fd >= 0) - return fd; - if (errno != EINVAL) - return -1; -+#endif - - fd = socket(domain, type, protocol); - return set_cloexec_or_close(fd); - } - - int -+wl_os_socketpair_cloexec(int domain, int type, int protocol, int sv[2]) -+{ -+ int retval; -+ -+#ifdef SOCK_CLOEXEC -+ retval = socketpair(domain, type | SOCK_CLOEXEC, protocol, sv); -+ if (retval >= 0) -+ return retval; -+ if (errno != EINVAL) -+ return -1; -+#endif -+ -+ retval = socketpair(domain, type, protocol, sv); -+ if (set_cloexec_or_close(sv[0]) < 0 || set_cloexec_or_close(sv[1]) < 0) -+ retval = -1; -+ -+ return retval; -+} -+ -+int - wl_os_dupfd_cloexec(int fd, long minfd) - { - int newfd; - -+#ifdef F_DUPFD_CLOEXEC - newfd = fcntl(fd, F_DUPFD_CLOEXEC, minfd); - if (newfd >= 0) - return newfd; - if (errno != EINVAL) - return -1; -+#endif - - newfd = fcntl(fd, F_DUPFD, minfd); - return set_cloexec_or_close(newfd); -@@ -123,15 +153,18 @@ wl_os_recvmsg_cloexec(int sockfd, struct - { - ssize_t len; - -+#ifdef MSG_CMSG_CLOEXEC - len = recvmsg(sockfd, msg, flags | MSG_CMSG_CLOEXEC); - if (len >= 0) - return len; - if (errno != EINVAL) - return -1; -+#endif - - return recvmsg_cloexec_fallback(sockfd, msg, flags); - } - -+#ifdef HAVE_SYS_EPOLL_H - int - wl_os_epoll_create_cloexec(void) - { -@@ -148,6 +181,19 @@ wl_os_epoll_create_cloexec(void) - fd = epoll_create(1); - return set_cloexec_or_close(fd); - } -+#endif -+ -+#ifdef HAVE_SYS_EVENT_H -+int -+wl_os_kqueue_create_cloexec(void) -+{ -+ int fd; -+ -+ fd = kqueue(); -+ -+ return set_cloexec_or_close(fd); -+} -+#endif - - int - wl_os_accept_cloexec(int sockfd, struct sockaddr *addr, socklen_t *addrlen) diff --git a/x11-servers/wayland/files/patch-src_wayland-os.h b/x11-servers/wayland/files/patch-src_wayland-os.h deleted file mode 100644 index a710f8b627f2..000000000000 --- a/x11-servers/wayland/files/patch-src_wayland-os.h +++ /dev/null @@ -1,28 +0,0 @@ ---- src/wayland-os.h.orig 2015-07-06 19:38:51 UTC -+++ src/wayland-os.h -@@ -30,13 +30,25 @@ int - wl_os_socket_cloexec(int domain, int type, int protocol); - - int -+wl_os_socketpair_cloexec(int domain, int type, int protocol, int sv[2]); -+ -+int - wl_os_dupfd_cloexec(int fd, long minfd); - - ssize_t - wl_os_recvmsg_cloexec(int sockfd, struct msghdr *msg, int flags); - -+/* FIXME? not sure if this will work in this header like this ... -+ though seems build only header perhaps? */ -+#ifdef HAVE_SYS_EPOLL_H - int - wl_os_epoll_create_cloexec(void); -+#endif -+ -+#ifdef HAVE_SYS_EVENT_H -+int -+wl_os_kqueue_create_cloexec(void); -+#endif - - int - wl_os_accept_cloexec(int sockfd, struct sockaddr *addr, socklen_t *addrlen); diff --git a/x11-servers/wayland/files/patch-src_wayland-server.c b/x11-servers/wayland/files/patch-src_wayland-server.c deleted file mode 100644 index efc16114e97f..000000000000 --- a/x11-servers/wayland/files/patch-src_wayland-server.c +++ /dev/null @@ -1,82 +0,0 @@ ---- src/wayland-server.c.orig 2016-09-20 17:33:11.000000000 +0000 -+++ src/wayland-server.c 2016-12-13 20:07:06.878000000 +0000 -@@ -25,6 +25,8 @@ - - #define _GNU_SOURCE - -+#include "../config.h" -+ - #include <stdlib.h> - #include <stdint.h> - #include <stddef.h> -@@ -43,6 +45,11 @@ - #include <sys/file.h> - #include <sys/stat.h> - -+#ifdef HAVE_SYS_UCRED_H -+#include <sys/types.h> -+#include <sys/ucred.h> -+#endif -+ - #include "wayland-util.h" - #include "wayland-private.h" - #include "wayland-server.h" -@@ -79,7 +86,13 @@ - struct wl_list link; - struct wl_map objects; - struct wl_signal destroy_signal; -+#ifdef HAVE_SYS_UCRED_H -+ /* FreeBSD */ -+ struct xucred xucred; -+#else -+ /* Linux */ - struct ucred ucred; -+#endif - int error; - struct wl_signal resource_created_signal; - }; -@@ -466,10 +479,20 @@ - if (!client->source) - goto err_client; - -+#if defined(SO_PEERCRED) -+ /* Linux */ - len = sizeof client->ucred; - if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, - &client->ucred, &len) < 0) - goto err_source; -+#elif defined(LOCAL_PEERCRED) -+ /* FreeBSD */ -+ len = sizeof client->xucred; -+ if (getsockopt(fd, SOL_SOCKET, LOCAL_PEERCRED, -+ &client->xucred, &len) < 0 || -+ client->xucred.cr_version != XUCRED_VERSION) -+ goto err_source; -+#endif - - client->connection = wl_connection_create(fd); - if (client->connection == NULL) -@@ -523,12 +546,23 @@ - wl_client_get_credentials(struct wl_client *client, - pid_t *pid, uid_t *uid, gid_t *gid) - { -+#ifdef HAVE_SYS_UCRED_H -+ /* FreeBSD */ -+ if (pid) -+ *pid = 0; /* FIXME: not defined on FreeBSD */ -+ if (uid) -+ *uid = client->xucred.cr_uid; -+ if (gid) -+ *gid = client->xucred.cr_gid; -+#else -+ /* Linux */ - if (pid) - *pid = client->ucred.pid; - if (uid) - *uid = client->ucred.uid; - if (gid) - *gid = client->ucred.gid; -+#endif - } - - /** Get the file descriptor for the client diff --git a/x11-servers/wayland/files/patch-src_wayland-shm.c b/x11-servers/wayland/files/patch-src_wayland-shm.c deleted file mode 100644 index e773606d9fba..000000000000 --- a/x11-servers/wayland/files/patch-src_wayland-shm.c +++ /dev/null @@ -1,147 +0,0 @@ ---- src/wayland-shm.c.orig 2016-03-09 00:55:02 UTC -+++ src/wayland-shm.c -@@ -30,6 +30,8 @@ - - #define _GNU_SOURCE - -+#include "../config.h" -+ - #include <stdbool.h> - #include <stdio.h> - #include <stdlib.h> -@@ -57,6 +59,9 @@ struct wl_shm_pool { - char *data; - int32_t size; - int32_t new_size; -+#ifdef HAVE_SYS_UCRED_H -+ int fd; -+#endif - }; - - struct wl_shm_buffer { -@@ -74,15 +79,24 @@ struct wl_shm_sigbus_data { - int fallback_mapping_used; - }; - -+static void *mremap_compat_maymove(void *, size_t, size_t, int, int, int); -+ - static void - shm_pool_finish_resize(struct wl_shm_pool *pool) - { - void *data; -+ int fd = -1; - - if (pool->size == pool->new_size) - return; - -- data = mremap(pool->data, pool->size, pool->new_size, MREMAP_MAYMOVE); -+#ifdef HAVE_SYS_UCRED_H -+ fd = pool->fd; -+#endif -+ -+ data = mremap_compat_maymove(pool->data, pool->size, pool->new_size, -+ PROT_READ | PROT_WRITE, MAP_SHARED, fd); -+ - if (data == MAP_FAILED) { - wl_resource_post_error(pool->resource, - WL_SHM_ERROR_INVALID_FD, -@@ -108,6 +122,10 @@ shm_pool_unref(struct wl_shm_pool *pool, - if (pool->internal_refcount + pool->external_refcount) - return; - -+#ifdef HAVE_SYS_UCRED_H -+ close(pool->fd); -+#endif -+ - munmap(pool->data, pool->size); - free(pool); - } -@@ -221,6 +239,73 @@ shm_pool_destroy(struct wl_client *clien - wl_resource_destroy(resource); - } - -+#ifdef HAVE_MREMAP -+static void * -+mremap_compat_maymove(void *old_address, size_t old_size, size_t new_size, -+ int old_prot, int old_flags, int old_fd) -+{ -+ return mremap(old_address, old_size, new_size, MREMAP_MAYMOVE); -+} -+#else -+static void * -+mremap_compat_maymove(void *old_address, size_t old_size, size_t new_size, -+ int old_prot, int old_flags, int old_fd) -+{ -+ /* FreeBSD doesn't support mremap() yet, so we have to emulate it. -+ * This assumes MREMAP_MAYMOVE is the only flag in use. */ -+ if (new_size == old_size) { -+ return old_address; -+ } else if (new_size < old_size) { -+ /* Shrinking: munmap() the spare region. */ -+ munmap(old_address + old_size, new_size - old_size); -+ return old_address; -+ } else { -+ void *ret; -+ -+ /* Growing. Try and mmap() the extra region at the end of -+ * our existing allocation. If that gets mapped in the -+ * wrong place, fall back to mmap()ing an entirely new -+ * region of new_size and copying the data across. */ -+ ret = mmap(old_address + old_size, new_size - old_size, -+ old_prot, old_flags, old_fd, 0); -+ -+/* FIXME TODO: msync() before munmap()? */ -+ if (ret == MAP_FAILED) { -+ /* Total failure! */ -+ return ret; -+ } else if (ret == old_address + old_size) { -+ /* Success. */ -+ return old_address; -+ } else if (ret != old_address + old_size) { -+ /* Partial failure. Fall back to mapping an -+ * entirely new region. Unmap the region we -+ * just mapped first. */ -+ munmap(ret, new_size - old_size); -+ -+ /* Map an entirely new region. */ -+ ret = mmap(NULL, new_size, -+ old_prot, old_flags, old_fd, 0); -+ if (ret == MAP_FAILED) { -+ /* Total failure! */ -+ return ret; -+ } -+ -+ /* Copy the old data across. Implicit assumption -+ * that the old and new regions don't overlap. */ -+ memcpy(ret, old_address, old_size); -+ -+ /* Unmap the old region. */ -+ munmap(old_address, old_size); -+ -+ return ret; -+ } -+ } -+ -+ /* Unreachable. */ -+ return MAP_FAILED; -+} -+#endif -+ - static void - shm_pool_resize(struct wl_client *client, struct wl_resource *resource, - int32_t size) -@@ -282,7 +367,14 @@ shm_create_pool(struct wl_client *client - "failed mmap fd %d", fd); - goto err_free; - } -+ -+#ifdef HAVE_SYS_UCRED_H -+ /* We need to keep the FD around on FreeBSD so we can implement -+ * mremap(). See: mremap_compat_maymove(). */ -+ pool->fd = fd; -+#else - close(fd); -+#endif - - pool->resource = - wl_resource_create(client, &wl_shm_pool_interface, 1, id); diff --git a/x11-servers/wayland/files/patch-tests_client-test.c b/x11-servers/wayland/files/patch-tests_client-test.c deleted file mode 100644 index 88822779dd6a..000000000000 --- a/x11-servers/wayland/files/patch-tests_client-test.c +++ /dev/null @@ -1,19 +0,0 @@ ---- tests/client-test.c.orig 2015-07-06 19:38:51 UTC -+++ tests/client-test.c -@@ -34,6 +34,7 @@ - #include <sys/types.h> - #include <sys/stat.h> - -+#include "wayland-os.h" - #include "wayland-private.h" - #include "wayland-server.h" - #include "test-runner.h" -@@ -59,7 +60,7 @@ TEST(client_destroy_listener) - struct client_destroy_listener a, b; - int s[2]; - -- assert(socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, s) == 0); -+ assert(wl_os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, s) == 0); - display = wl_display_create(); - assert(display); - client = wl_client_create(display, s[0]); diff --git a/x11-servers/wayland/files/patch-tests_connection-test.c b/x11-servers/wayland/files/patch-tests_connection-test.c deleted file mode 100644 index 2d06aa680d65..000000000000 --- a/x11-servers/wayland/files/patch-tests_connection-test.c +++ /dev/null @@ -1,29 +0,0 @@ ---- tests/connection-test.c.orig 2016-02-17 01:13:16 UTC -+++ tests/connection-test.c -@@ -36,6 +36,7 @@ - #include <sys/stat.h> - #include <poll.h> - -+#include "wayland-os.h" - #include "wayland-private.h" - #include "test-runner.h" - #include "test-compositor.h" -@@ -47,7 +48,7 @@ setup(int *s) - { - struct wl_connection *connection; - -- assert(socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, s) == 0); -+ assert(wl_os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, s) == 0); - - connection = wl_connection_create(s[0]); - assert(connection); -@@ -145,8 +146,7 @@ struct marshal_data { - static void - setup_marshal_data(struct marshal_data *data) - { -- assert(socketpair(AF_UNIX, -- SOCK_STREAM | SOCK_CLOEXEC, 0, data->s) == 0); -+ assert(wl_os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, data->s) == 0); - data->read_connection = wl_connection_create(data->s[0]); - assert(data->read_connection); - data->write_connection = wl_connection_create(data->s[1]); diff --git a/x11-servers/wayland/files/patch-tests_event-loop-test.c b/x11-servers/wayland/files/patch-tests_event-loop-test.c deleted file mode 100644 index ab9416671168..000000000000 --- a/x11-servers/wayland/files/patch-tests_event-loop-test.c +++ /dev/null @@ -1,40 +0,0 @@ ---- tests/event-loop-test.c.orig 2015-07-06 19:38:51 UTC -+++ tests/event-loop-test.c -@@ -166,10 +166,10 @@ TEST(event_loop_signal) - signal_callback, &got_it); - assert(source); - -- wl_event_loop_dispatch(loop, 0); -+ assert(wl_event_loop_dispatch(loop, 0) == 0); - assert(!got_it); -- kill(getpid(), SIGUSR1); -- wl_event_loop_dispatch(loop, 0); -+ assert(kill(getpid(), SIGUSR1) == 0); -+ assert(wl_event_loop_dispatch(loop, 0) == 0); - assert(got_it == 1); - - wl_event_source_remove(source); -@@ -233,12 +233,20 @@ TEST(event_loop_timer) - - source = wl_event_loop_add_timer(loop, timer_callback, &got_it); - assert(source); -- wl_event_source_timer_update(source, 10); -- wl_event_loop_dispatch(loop, 0); -+ assert(wl_event_source_timer_update(source, 10) == 0); -+ assert(wl_event_loop_dispatch(loop, 0) == 0); - assert(!got_it); -- wl_event_loop_dispatch(loop, 20); -+ /* FreeBSD has a bug where it converts ms_timeout to ticks; it always adds 1 to the tick count. -+ * Consequently, we need to grossly overcompensate here. -+ * See: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/hackers/2012-07/msg00319.html */ -+ assert(wl_event_loop_dispatch(loop, 50) == 0); - assert(got_it == 1); - -+ /* Check it doesn't fire again. */ -+ got_it = 0; -+ assert(wl_event_loop_dispatch(loop, 20) == 0); -+ assert(!got_it); -+ - wl_event_source_remove(source); - wl_event_loop_destroy(loop); - } diff --git a/x11-servers/wayland/files/patch-tests_os-wrappers-test.c b/x11-servers/wayland/files/patch-tests_os-wrappers-test.c deleted file mode 100644 index c8ec9c5492ce..000000000000 --- a/x11-servers/wayland/files/patch-tests_os-wrappers-test.c +++ /dev/null @@ -1,185 +0,0 @@ ---- tests/os-wrappers-test.c.orig 2015-07-06 19:38:51 UTC -+++ tests/os-wrappers-test.c -@@ -26,6 +26,8 @@ - - #define _GNU_SOURCE - -+#include "../config.h" -+ - #include <stdlib.h> - #include <assert.h> - #include <sys/types.h> -@@ -37,7 +39,13 @@ - #include <stdarg.h> - #include <fcntl.h> - #include <stdio.h> -+ -+#ifdef HAVE_SYS_EPOLL_H - #include <sys/epoll.h> -+#elif HAVE_SYS_EVENT_H -+#include <sys/event.h> -+#include <sys/types.h> -+#endif - - #include "wayland-private.h" - #include "test-runner.h" -@@ -54,8 +62,13 @@ static int wrapped_calls_fcntl; - static ssize_t (*real_recvmsg)(int, struct msghdr *, int); - static int wrapped_calls_recvmsg; - -+#ifdef HAVE_SYS_EPOLL_H - static int (*real_epoll_create1)(int); - static int wrapped_calls_epoll_create1; -+#elif HAVE_SYS_EVENT_H -+static int (*real_kqueue)(void); -+static int wrapped_calls_kqueue; -+#endif - - static void - init_fallbacks(int do_fallbacks) -@@ -64,7 +77,11 @@ init_fallbacks(int do_fallbacks) - real_socket = dlsym(RTLD_NEXT, "socket"); - real_fcntl = dlsym(RTLD_NEXT, "fcntl"); - real_recvmsg = dlsym(RTLD_NEXT, "recvmsg"); -+#ifdef HAVE_SYS_EPOLL_H - real_epoll_create1 = dlsym(RTLD_NEXT, "epoll_create1"); -+#elif HAVE_SYS_EVENT_H -+ real_kqueue = dlsym(RTLD_NEXT, "kqueue"); -+#endif - } - - __attribute__ ((visibility("default"))) int -@@ -72,10 +89,12 @@ socket(int domain, int type, int protoco - { - wrapped_calls_socket++; - -+#ifdef SOCK_CLOEXEC - if (fall_back && (type & SOCK_CLOEXEC)) { - errno = EINVAL; - return -1; - } -+#endif - - return real_socket(domain, type, protocol); - } -@@ -88,10 +107,12 @@ fcntl(int fd, int cmd, ...) - - wrapped_calls_fcntl++; - -+#ifdef F_DUPFD_CLOEXEC - if (fall_back && (cmd == F_DUPFD_CLOEXEC)) { - errno = EINVAL; - return -1; - } -+#endif - - va_start(ap, cmd); - arg = va_arg(ap, void*); -@@ -105,14 +126,17 @@ recvmsg(int sockfd, struct msghdr *msg, - { - wrapped_calls_recvmsg++; - -+#ifdef MSG_CMSG_CLOEXEC - if (fall_back && (flags & MSG_CMSG_CLOEXEC)) { - errno = EINVAL; - return -1; - } -+#endif - - return real_recvmsg(sockfd, msg, flags); - } - -+#ifdef HAVE_SYS_EPOLL_H - __attribute__ ((visibility("default"))) int - epoll_create1(int flags) - { -@@ -126,6 +150,15 @@ epoll_create1(int flags) - - return real_epoll_create1(flags); - } -+#elif HAVE_SYS_EVENT_H -+__attribute__ ((visibility("default"))) int -+kqueue(void) -+{ -+ wrapped_calls_kqueue++; -+ -+ return real_kqueue(); -+} -+#endif - - static void - do_os_wrappers_socket_cloexec(int n) -@@ -155,12 +188,14 @@ TEST(os_wrappers_socket_cloexec) - do_os_wrappers_socket_cloexec(0); - } - -+#ifdef SOCK_CLOEXEC - TEST(os_wrappers_socket_cloexec_fallback) - { - /* forced fallback */ - init_fallbacks(1); - do_os_wrappers_socket_cloexec(1); - } -+#endif - - static void - do_os_wrappers_dupfd_cloexec(int n) -@@ -194,11 +229,13 @@ TEST(os_wrappers_dupfd_cloexec) - do_os_wrappers_dupfd_cloexec(0); - } - -+#ifdef F_DUPFD_CLOEXEC - TEST(os_wrappers_dupfd_cloexec_fallback) - { - init_fallbacks(1); - do_os_wrappers_dupfd_cloexec(3); - } -+#endif - - struct marshal_data { - struct wl_connection *read_connection; -@@ -217,8 +254,7 @@ struct marshal_data { - static void - setup_marshal_data(struct marshal_data *data) - { -- assert(socketpair(AF_UNIX, -- SOCK_STREAM | SOCK_CLOEXEC, 0, data->s) == 0); -+ assert(wl_os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, data->s) == 0); - - data->read_connection = wl_connection_create(data->s[0]); - assert(data->read_connection); -@@ -327,11 +363,13 @@ TEST(os_wrappers_recvmsg_cloexec) - do_os_wrappers_recvmsg_cloexec(0); - } - -+#ifdef MSG_CMSG_CLOEXEC - TEST(os_wrappers_recvmsg_cloexec_fallback) - { - init_fallbacks(1); - do_os_wrappers_recvmsg_cloexec(1); - } -+#endif - - static void - do_os_wrappers_epoll_create_cloexec(int n) -@@ -341,12 +379,20 @@ do_os_wrappers_epoll_create_cloexec(int - - nr_fds = count_open_fds(); - -+#ifdef HAVE_SYS_EPOLL_H - fd = wl_os_epoll_create_cloexec(); -+#elif HAVE_SYS_EVENT_H -+ fd = wl_os_kqueue_create_cloexec(); -+#endif - assert(fd >= 0); - - #ifdef EPOLL_CLOEXEC -+#ifdef HAVE_SYS_EPOLL_H - assert(wrapped_calls_epoll_create1 == n); - #else -+ assert(wrapped_calls_kqueue == n); -+#endif -+#else - printf("No epoll_create1.\n"); - #endif - diff --git a/x11-servers/wayland/files/patch-tests_queue-test.c b/x11-servers/wayland/files/patch-tests_queue-test.c deleted file mode 100644 index 9f38fa230fdb..000000000000 --- a/x11-servers/wayland/files/patch-tests_queue-test.c +++ /dev/null @@ -1,21 +0,0 @@ ---- tests/queue-test.c.orig 2016-04-29 23:36:09 UTC -+++ tests/queue-test.c -@@ -23,6 +23,8 @@ - * SOFTWARE. - */ - -+#include "../config.h" -+ - #include <stdlib.h> - #include <stdio.h> - #include <stdbool.h> -@@ -30,6 +32,9 @@ - #include <sys/types.h> - #include <sys/wait.h> - #include <assert.h> -+#ifdef HAVE_SIGNAL_H -+#include <signal.h> -+#endif - - #include "wayland-client.h" - #include "wayland-server.h" diff --git a/x11-servers/wayland/files/patch-tests_sanity-test.c b/x11-servers/wayland/files/patch-tests_sanity-test.c deleted file mode 100644 index fab1eaec289a..000000000000 --- a/x11-servers/wayland/files/patch-tests_sanity-test.c +++ /dev/null @@ -1,22 +0,0 @@ ---- tests/sanity-test.c.orig 2016-02-17 01:13:16 UTC -+++ tests/sanity-test.c -@@ -92,7 +92,8 @@ FAIL_TEST(sanity_malloc_direct) - TEST(disable_leak_checks) - { - volatile void *mem; -- assert(leak_check_enabled); -+// XXX FreeBSD disables leak checks... -+// assert(leak_check_enabled); - /* normally this should be on the beginning of the test. - * Here we need to be sure, that the leak checks are - * turned on */ -@@ -171,7 +172,8 @@ sanity_fd_no_leak(void) - { - int fd[2]; - -- assert(leak_check_enabled); -+// XXX FreeBSD leak checks are disabled -+// assert(leak_check_enabled); - - /* leak 2 file descriptors */ - if (pipe(fd) < 0) diff --git a/x11-servers/wayland/files/patch-tests_test-helpers.c b/x11-servers/wayland/files/patch-tests_test-helpers.c deleted file mode 100644 index 8be22e6e9052..000000000000 --- a/x11-servers/wayland/files/patch-tests_test-helpers.c +++ /dev/null @@ -1,52 +0,0 @@ ---- tests/test-helpers.c.orig 2015-07-06 19:38:51 UTC -+++ tests/test-helpers.c -@@ -23,6 +23,12 @@ - * SOFTWARE. - */ - -+#include "../config.h" -+ -+#ifdef HAVE_SYS_PARAM_H -+#include <sys/param.h> -+#endif -+ - #include <assert.h> - #include <errno.h> - #include <dirent.h> -@@ -32,6 +38,16 @@ - - #include "test-runner.h" - -+#ifdef __FreeBSD__ -+/* FreeBSD uses fdescfs (which must be mounted using: -+ * mount -t fdescfs fdescfs /dev/fd -+ * before the test suite can be run). */ -+#define OPEN_FDS_DIR "/dev/fd" -+#else -+/* Linux. */ -+#define OPEN_FDS_DIR "/proc/self/fd" -+#endif -+ - int - count_open_fds(void) - { -@@ -39,8 +55,8 @@ count_open_fds(void) - struct dirent *ent; - int count = 0; - -- dir = opendir("/proc/self/fd"); -- assert(dir && "opening /proc/self/fd failed."); -+ dir = opendir(OPEN_FDS_DIR); -+ assert(dir && "opening " OPEN_FDS_DIR " failed."); - - errno = 0; - while ((ent = readdir(dir))) { -@@ -49,7 +65,7 @@ count_open_fds(void) - continue; - count++; - } -- assert(errno == 0 && "reading /proc/self/fd failed."); -+ assert(errno == 0 && "reading " OPEN_FDS_DIR " failed."); - - closedir(dir); - diff --git a/x11-servers/wayland/files/patch-tests_test-runner.c b/x11-servers/wayland/files/patch-tests_test-runner.c deleted file mode 100644 index 1949c52317ed..000000000000 --- a/x11-servers/wayland/files/patch-tests_test-runner.c +++ /dev/null @@ -1,170 +0,0 @@ ---- tests/test-runner.c.orig 2016-05-03 00:46:35 UTC -+++ tests/test-runner.c -@@ -25,6 +25,12 @@ - - #define _GNU_SOURCE - -+#include "../config.h" -+ -+#ifdef HAVE_SYS_PARAM_H -+#include <sys/param.h> -+#endif -+ - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> -@@ -37,18 +43,35 @@ - #include <errno.h> - #include <limits.h> - #include <sys/ptrace.h> -+#ifdef __linux__ - #include <sys/prctl.h> -+#endif - #ifndef PR_SET_PTRACER - # define PR_SET_PTRACER 0x59616d61 - #endif -+#include <signal.h> - - #include "test-runner.h" - - static int num_alloc; -+ -+extern const struct test __start_test_section, __stop_test_section; -+ -+/* This is all disabled for FreeBSD because it gives "can't allocate initial -+ * thread" aborts otherwise. */ -+#ifndef __FreeBSD__ - static void* (*sys_malloc)(size_t); - static void (*sys_free)(void*); - static void* (*sys_realloc)(void*, size_t); - static void* (*sys_calloc)(size_t, size_t); -+#endif -+ -+#ifdef __FreeBSD__ -+/* XXX review ptrace() usage */ -+#define PTRACE_ATTACH PT_ATTACH -+#define PTRACE_CONT PT_CONTINUE -+#define PTRACE_DETACH PT_DETACH -+#endif - - /* when set to 1, check if tests are not leaking memory and opened files. - * It is turned on by default. It can be turned off by -@@ -57,7 +80,7 @@ int leak_check_enabled; - - /* when this var is set to 0, every call to test_set_timeout() is - * suppressed - handy when debugging the test. Can be set by -- * WAYLAND_TEST_NO_TIMEOUTS environment variable. */ -+ * WAYLAND_TESTS_NO_TIMEOUTS evnironment var */ - static int timeouts_enabled = 1; - - /* set to one if the output goes to the terminal */ -@@ -65,6 +88,7 @@ static int is_atty = 0; - - extern const struct test __start_test_section, __stop_test_section; - -+#ifndef __FreeBSD__ - __attribute__ ((visibility("default"))) void * - malloc(size_t size) - { -@@ -98,6 +122,7 @@ calloc(size_t nmemb, size_t size) - - return sys_calloc(nmemb, size); - } -+#endif - - static const struct test * - find_test(const char *name) -@@ -291,6 +316,8 @@ is_debugger_attached(void) - return 0; - } - -+ -+// xxx start here - pid = fork(); - if (pid == -1) { - perror("fork"); -@@ -311,7 +338,7 @@ is_debugger_attached(void) - _exit(1); - if (!waitpid(-1, NULL, 0)) - _exit(1); -- ptrace(PTRACE_CONT, NULL, NULL); -+ ptrace(PTRACE_CONT, ppid, NULL, NULL); - ptrace(PTRACE_DETACH, ppid, NULL, NULL); - _exit(0); - } else { -@@ -345,17 +372,19 @@ int main(int argc, char *argv[]) - const struct test *t; - pid_t pid; - int total, pass; -+#ifdef HAVE_WAITID - siginfo_t info; -+#else -+ int status; -+#endif - -+#ifndef __FreeBSD__ - /* Load system malloc, free, and realloc */ - sys_calloc = dlsym(RTLD_NEXT, "calloc"); - sys_realloc = dlsym(RTLD_NEXT, "realloc"); - sys_malloc = dlsym(RTLD_NEXT, "malloc"); - sys_free = dlsym(RTLD_NEXT, "free"); - -- if (isatty(fileno(stderr))) -- is_atty = 1; -- - if (is_debugger_attached()) { - leak_check_enabled = 0; - timeouts_enabled = 0; -@@ -363,6 +392,16 @@ int main(int argc, char *argv[]) - leak_check_enabled = !getenv("WAYLAND_TEST_NO_LEAK_CHECK"); - timeouts_enabled = !getenv("WAYLAND_TEST_NO_TIMEOUTS"); - } -+#else -+ /* Disable leak checking on FreeBSD since we can't override malloc(). */ -+ leak_check_enabled = 0; -+ /* XXX review later */ -+ timeouts_enabled = 0; -+#endif -+ -+ if (isatty(fileno(stderr))) -+ is_atty = 1; -+ - - if (argc == 2 && strcmp(argv[1], "--help") == 0) - usage(argv[0], EXIT_SUCCESS); -@@ -394,7 +433,8 @@ int main(int argc, char *argv[]) - if (pid == 0) - run_test(t); /* never returns */ - -- if (waitid(P_PID, pid, &info, WEXITED)) { -+#ifdef HAVE_WAITID -+ if (waitid(P_PID, 0, &info, WEXITED)) { - stderr_set_color(RED); - fprintf(stderr, "waitid failed: %m\n"); - stderr_reset_color(); -@@ -425,6 +465,25 @@ int main(int argc, char *argv[]) - - break; - } -+#else -+ if (waitpid(-1, &status, 0) == -1) { -+ fprintf(stderr, "waitpid failed: %s\n", -+ strerror(errno)); -+ abort(); -+ } -+ -+ fprintf(stderr, "test \"%s\":\t", t->name); -+ if (WIFEXITED(status)) { -+ fprintf(stderr, "exit status %d", WEXITSTATUS(status)); -+ if (WEXITSTATUS(status) == EXIT_SUCCESS) -+ success = 1; -+ } else if (WIFSIGNALED(status)) { -+ fprintf(stderr, "signal %d", WTERMSIG(status)); -+ } -+#endif -+ -+ if (t->must_fail) -+ success = !success; - - if (success) { - pass++; diff --git a/x11-servers/wayland/pkg-descr b/x11-servers/wayland/pkg-descr deleted file mode 100644 index efb42d4b323d..000000000000 --- a/x11-servers/wayland/pkg-descr +++ /dev/null @@ -1,13 +0,0 @@ -Wayland is intended as a simpler replacement for X, easier to develop and -maintain. GNOME and KDE are expected to be ported to it. - -Wayland is a protocol for a compositor to talk to its clients as well as -a C library implementation of that protocol. The compositor can be a -standalone display server running on Linux kernel modesetting and evdev -input devices, an X application, or a wayland client itself. The clients can -be traditional applications, X servers (rootless or fullscreen) or other -display servers. - -Please report bugs to the FreeBSD bugtracker! - -WWW: http://wayland.freedesktop.org/ diff --git a/x11-servers/wayland/pkg-plist b/x11-servers/wayland/pkg-plist deleted file mode 100644 index ccbc459bd7c5..000000000000 --- a/x11-servers/wayland/pkg-plist +++ /dev/null @@ -1,32 +0,0 @@ -bin/wayland-scanner -include/wayland-client-core.h -include/wayland-client-protocol.h -include/wayland-client.h -include/wayland-cursor.h -include/wayland-egl-core.h -include/wayland-egl.h -include/wayland-server-core.h -include/wayland-server-protocol.h -include/wayland-server.h -include/wayland-util.h -include/wayland-version.h -lib/libwayland-client.a -lib/libwayland-client.so -lib/libwayland-client.so.0 -lib/libwayland-client.so.0.3.0 -lib/libwayland-cursor.a -lib/libwayland-cursor.so -lib/libwayland-cursor.so.0 -lib/libwayland-cursor.so.0.0.0 -lib/libwayland-server.a -lib/libwayland-server.so -lib/libwayland-server.so.0 -lib/libwayland-server.so.0.1.0 -libdata/pkgconfig/wayland-client.pc -libdata/pkgconfig/wayland-cursor.pc -libdata/pkgconfig/wayland-scanner.pc -libdata/pkgconfig/wayland-server.pc -share/aclocal/wayland-scanner.m4 -%%DATADIR%%/wayland-scanner.mk -%%DATADIR%%/wayland.dtd -%%DATADIR%%/wayland.xml |