diff --git a/sysutils/spice-server/Makefile b/sysutils/spice-server/Makefile index 3422505956ff..2448aee2403c 100644 --- a/sysutils/spice-server/Makefile +++ b/sysutils/spice-server/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.10 2023/10/24 22:11:14 wiz Exp $ +# $NetBSD: Makefile,v 1.11 2023/11/09 12:15:50 adam Exp $ -DISTNAME= spice-0.14.3 +DISTNAME= spice-0.15.2 PKGNAME= ${DISTNAME:S/spice/spice-server/} -PKGREVISION= 4 CATEGORIES= sysutils MASTER_SITES= https://www.spice-space.org/download/releases/ EXTRACT_SUFX= .tar.bz2 @@ -12,19 +11,22 @@ HOMEPAGE= https://www.spice-space.org/ COMMENT= Simple Protocol for Independent Computing Environments LICENSE= gnu-lgpl-v2.1 -GNU_CONFIGURE= yes +USE_CXX_FEATURES= c++11 + +USE_LANGUAGES= c c++ USE_LIBTOOL= yes USE_TOOLS+= gmake pkg-config +GNU_CONFIGURE= yes +TEST_TARGET= check PKGCONFIG_OVERRIDE+= spice-server.pc.in +PYTHON_FOR_BUILD_ONLY= tool LDFLAGS.SunOS+= -lnsl -lsocket -PYTHON_FOR_BUILD_ONLY= tool - .include "../../audio/libopus/buildlink3.mk" -.include "../../lang/python/tool.mk" .include "../../devel/glib2/buildlink3.mk" +.include "../../lang/python/tool.mk" .include "../../security/openssl/buildlink3.mk" .include "../../sysutils/spice-protocol/buildlink3.mk" .include "../../x11/pixman/buildlink3.mk" diff --git a/sysutils/spice-server/distinfo b/sysutils/spice-server/distinfo index 0b4d535b610e..7f280b622654 100644 --- a/sysutils/spice-server/distinfo +++ b/sysutils/spice-server/distinfo @@ -1,10 +1,9 @@ -$NetBSD: distinfo,v 1.7 2021/10/26 11:20:14 nia Exp $ +$NetBSD: distinfo,v 1.8 2023/11/09 12:15:50 adam Exp $ -BLAKE2s (spice-0.14.3.tar.bz2) = c1d3435df2541d95fe4e57d903c2908706ed6fdd22f9978dd959fbf8e3e94f39 -SHA512 (spice-0.14.3.tar.bz2) = 9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4 -Size (spice-0.14.3.tar.bz2) = 1504304 bytes -SHA1 (patch-server_red-stream.c) = b5aaee6e4bb7f0cfb89606ad026e4fa2c5f05da9 -SHA1 (patch-server_red-worker.c) = 8cee4cafa80812e133ec7883d3544a5245f3ca58 +BLAKE2s (spice-0.15.2.tar.bz2) = e9573c34de862ed41ab65988cb4df7475b8fd390294a1a7856c7eeedaba8e4c4 +SHA512 (spice-0.15.2.tar.bz2) = c8f273b9e97ef38a03b331f7d32c5f0a09d540523fe626568c845152cbd22273a92b3a08bc13fa2e061b913ad16ceb7cbddf142655cd9cdcd8eb5f646fa6aa26 +Size (spice-0.15.2.tar.bz2) = 1663326 bytes +SHA1 (patch-server_red-stream.cpp) = 03353ccc4d8e1b74d3bdf111799eef4ca52bf950 +SHA1 (patch-server_red-worker.cpp) = c26cdd5b0ba6e382cdf859e95fff73e0b80a470e SHA1 (patch-server_tests_test-stream.c) = 4b06d20626f06581c40164aa6d670e9b6530cdee -SHA1 (patch-server_tests_test-websocket.c) = 19bca4dd6f441336588a1ae224f9d3d9b9984917 -SHA1 (patch-tools_reds__stat.c) = 84f465dda5da0659f2fc80d1113616ea8b8e44ac +SHA1 (patch-server_tests_test-websocket.c) = cce42a587460cf5e89b785d98c79d66724ec83a7 diff --git a/sysutils/spice-server/patches/patch-server_red-stream.c b/sysutils/spice-server/patches/patch-server_red-stream.c deleted file mode 100644 index 54a8df73626b..000000000000 --- a/sysutils/spice-server/patches/patch-server_red-stream.c +++ /dev/null @@ -1,32 +0,0 @@ -$NetBSD: patch-server_red-stream.c,v 1.3 2021/01/05 15:14:39 jperkin Exp $ - -Fix build on SunOS. -No TCP_CORK on netbsd. Disable (like win32) - ---- server/red-stream.c.orig 2020-02-27 11:26:12.000000000 +0000 -+++ server/red-stream.c -@@ -17,6 +17,15 @@ - */ - #include - -+#if defined(__sun) -+#define MSG_NOSIGNAL 0 -+# if __STDC_VERSION__ - 0 < 199901L -+#define _XOPEN_SOURCE 500 -+# else -+#define _XOPEN_SOURCE 600 -+# endif -+#endif -+ - #include - #include - #include -@@ -105,7 +114,7 @@ struct RedStreamPrivate { - SpiceCoreInterfaceInternal *core; - }; - --#ifndef _WIN32 -+#if !defined(_WIN32) && !defined(__NetBSD__) - /** - * Set TCP_CORK on socket - */ diff --git a/sysutils/spice-server/patches/patch-server_red-stream.cpp b/sysutils/spice-server/patches/patch-server_red-stream.cpp new file mode 100644 index 000000000000..12e556fcd887 --- /dev/null +++ b/sysutils/spice-server/patches/patch-server_red-stream.cpp @@ -0,0 +1,15 @@ +$NetBSD: patch-server_red-stream.cpp,v 1.1 2023/11/09 12:15:50 adam Exp $ + +TCP_CORK is missing on NetBSD, so disable it (like on win32). + +--- server/red-stream.cpp.orig 2023-11-09 12:05:42.873043129 +0000 ++++ server/red-stream.cpp +@@ -106,7 +106,7 @@ struct RedStreamPrivate { + SpiceCoreInterfaceInternal *core; + }; + +-#ifndef _WIN32 ++#if !defined(_WIN32) && !defined(__NetBSD__) + /** + * Set TCP_CORK on socket + */ diff --git a/sysutils/spice-server/patches/patch-server_red-worker.c b/sysutils/spice-server/patches/patch-server_red-worker.c deleted file mode 100644 index 124387507f3f..000000000000 --- a/sysutils/spice-server/patches/patch-server_red-worker.c +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD: patch-server_red-worker.c,v 1.4 2021/04/06 23:43:40 khorben Exp $ - -Add NetBSD support. - ---- server/red-worker.c.orig 2020-02-27 11:26:12.000000000 +0000 -+++ server/red-worker.c -@@ -1119,6 +1119,9 @@ static void *red_worker_main(void *arg) - { - RedWorker *worker = arg; - -+#if defined(__APPLE__) -+ pthread_setname_np("SPICE Worker"); -+#endif - spice_debug("begin"); - SPICE_VERIFY(MAX_PIPE_SIZE > WIDE_CLIENT_ACK_WINDOW && - MAX_PIPE_SIZE > NARROW_CLIENT_ACK_WINDOW); //ensure wakeup by ack message -@@ -1159,7 +1162,11 @@ bool red_worker_run(RedWorker *worker) - #ifndef _WIN32 - pthread_sigmask(SIG_SETMASK, &curr_sig_mask, NULL); - #endif -+#if defined(__NetBSD__) -+ pthread_setname_np(worker->thread, "%s", (void *)"SPICE Worker"); -+#elif !defined(__sun) && !defined(__APPLE__) - pthread_setname_np(worker->thread, "SPICE Worker"); -+#endif - - return r == 0; - } diff --git a/sysutils/spice-server/patches/patch-server_red-worker.cpp b/sysutils/spice-server/patches/patch-server_red-worker.cpp new file mode 100644 index 000000000000..7465baab876a --- /dev/null +++ b/sysutils/spice-server/patches/patch-server_red-worker.cpp @@ -0,0 +1,17 @@ +$NetBSD: patch-server_red-worker.cpp,v 1.1 2023/11/09 12:15:50 adam Exp $ + +Add NetBSD support. + +--- server/red-worker.cpp.orig 2023-11-09 11:45:22.496015555 +0000 ++++ server/red-worker.cpp +@@ -1049,7 +1049,9 @@ bool red_worker_run(RedWorker *worker) + #ifndef _WIN32 + pthread_sigmask(SIG_SETMASK, &curr_sig_mask, nullptr); + #endif +-#if !defined(__APPLE__) ++#if defined(__NetBSD__) ++ pthread_setname_np(worker->thread, "%s", (void *)"SPICE Worker"); ++#elif !defined(__APPLE__) + pthread_setname_np(worker->thread, "SPICE Worker"); + #endif + diff --git a/sysutils/spice-server/patches/patch-server_tests_test-websocket.c b/sysutils/spice-server/patches/patch-server_tests_test-websocket.c index c330c4a00411..56474ac8c043 100644 --- a/sysutils/spice-server/patches/patch-server_tests_test-websocket.c +++ b/sysutils/spice-server/patches/patch-server_tests_test-websocket.c @@ -1,27 +1,17 @@ -$NetBSD: patch-server_tests_test-websocket.c,v 1.2 2021/01/05 15:14:39 jperkin Exp $ +$NetBSD: patch-server_tests_test-websocket.c,v 1.3 2023/11/09 12:15:50 adam Exp $ -Provide fallback definitions for MSG_NOSIGNAL (SunOS) and SOL_TCP (NetBSD) +Provide fallback definitions for MSG_NOSIGNAL (SunOS). ---- server/tests/test-websocket.c.orig 2020-02-27 11:26:12.000000000 +0000 +--- server/tests/test-websocket.c.orig 2023-05-12 08:37:06.000000000 +0000 +++ server/tests/test-websocket.c @@ -42,6 +42,10 @@ #include "net-utils.h" #include "websocket.h" +#if !defined(MSG_NOSIGNAL) -+#define MSG_NOSIGNAL 0 ++#define MSG_NOSIGNAL 0 +#endif + /* on data arrived on socket: try to read data, read again till error, handle error, on EAGAIN polling again -@@ -200,6 +204,9 @@ handle_client(int new_sock) - } - - int enable = 1; -+#ifndef SOL_TCP -+#define SOL_TCP IPPROTO_TCP -+#endif - setsockopt(new_sock, SOL_TCP, TCP_NODELAY, (const void *) &enable, sizeof(enable)); - - // wait header diff --git a/sysutils/spice-server/patches/patch-tools_reds__stat.c b/sysutils/spice-server/patches/patch-tools_reds__stat.c deleted file mode 100644 index fbc12a86d8e8..000000000000 --- a/sysutils/spice-server/patches/patch-tools_reds__stat.c +++ /dev/null @@ -1,21 +0,0 @@ -$NetBSD: patch-tools_reds__stat.c,v 1.3 2021/04/06 23:43:40 khorben Exp $ - -Add SunOS, NetBSD, and macOS support. - ---- tools/reds_stat.c.orig 2020-02-27 11:26:12.000000000 +0000 -+++ tools/reds_stat.c -@@ -144,7 +144,14 @@ int main(int argc, char **argv) - num_of_nodes = reds_stat->num_of_nodes; - shm_old_size = shm_size; - shm_size = header_size + num_of_nodes * sizeof(SpiceStatNode); -+#if defined(__NetBSD__) -+ reds_stat = mremap(reds_stat, shm_old_size, NULL, shm_size, 0); -+#elif defined(__sun) || defined(__APPLE__) -+ munmap(reds_stat, shm_old_size); -+ reds_stat = (SpiceStat *)mmap(NULL, shm_size, PROT_READ, MAP_SHARED, fd, 0); -+#else - reds_stat = mremap(reds_stat, shm_old_size, shm_size, MREMAP_MAYMOVE); -+#endif - if (reds_stat == (SpiceStat *)MAP_FAILED) { - perror("mremap"); - goto error;