diff --git a/devel/aml/Makefile b/devel/aml/Makefile index 6e944fbbbf4b..03f3296af71e 100644 --- a/devel/aml/Makefile +++ b/devel/aml/Makefile @@ -1,24 +1,24 @@ PORTNAME= aml DISTVERSIONPREFIX= v -DISTVERSION= 0.3.0 +DISTVERSION= 1.0.0 CATEGORIES= devel MAINTAINER= jbeich@FreeBSD.org COMMENT= Another Main Loop WWW= https://github.com/any1/aml LICENSE= ISCL LICENSE_FILE= ${WRKSRC}/COPYING USES= compiler:c11 meson pkgconfig USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= any1 post-patch: # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \ -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \ ${WRKSRC}/meson.build .include diff --git a/devel/aml/distinfo b/devel/aml/distinfo index ef186cad3e5a..8894b37b2cfd 100644 --- a/devel/aml/distinfo +++ b/devel/aml/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1674392273 -SHA256 (any1-aml-v0.3.0_GH0.tar.gz) = cba1ca1689d4031faf37bb7a184559106b6d2f462ae8890a9fa16e3022ca1eb0 -SIZE (any1-aml-v0.3.0_GH0.tar.gz) = 21070 +TIMESTAMP = 1753621178 +SHA256 (any1-aml-v1.0.0_GH0.tar.gz) = b2b8f743213af39f40e8bc611147d69e2ea9e010b9b19cb65246582338f28d96 +SIZE (any1-aml-v1.0.0_GH0.tar.gz) = 21997 diff --git a/devel/aml/pkg-plist b/devel/aml/pkg-plist index 77e7bdee7364..9aa48c13be09 100644 --- a/devel/aml/pkg-plist +++ b/devel/aml/pkg-plist @@ -1,5 +1,5 @@ -include/aml.h +include/aml1/aml.h lib/libaml.so -lib/libaml.so.0 -lib/libaml.so.0.0.0 -libdata/pkgconfig/aml.pc +lib/libaml.so.1 +lib/libaml.so.1.0.0 +libdata/pkgconfig/aml1.pc diff --git a/net/neatvnc/Makefile b/net/neatvnc/Makefile index 617d06be75c8..00b8fe9bfbc7 100644 --- a/net/neatvnc/Makefile +++ b/net/neatvnc/Makefile @@ -1,57 +1,58 @@ PORTNAME= neatvnc DISTVERSIONPREFIX= v DISTVERSION= 0.9.5 +PORTREVISION= 1 CATEGORIES= net MAINTAINER= jbeich@FreeBSD.org COMMENT= Liberally licensed VNC server library WWW= https://github.com/any1/neatvnc LICENSE= ISCL LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ${LOCALBASE}/include/libdrm/drm_fourcc.h:graphics/libdrm LIB_DEPENDS= libaml.so:devel/aml USES= compiler:c11 meson pkgconfig xorg USE_GITHUB= yes USE_XORG= pixman USE_LDCONFIG= yes GH_ACCOUNT= any1 OPTIONS_DEFINE= FFMPEG GNUTLS JPEG NETTLE OPENGL OPTIONS_DEFAULT=FFMPEG GNUTLS JPEG NETTLE OPENGL FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg FFMPEG_MESON_ENABLED= h264 GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls GNUTLS_MESON_ENABLED= tls JPEG_LIB_DEPENDS= libturbojpeg.so:graphics/libjpeg-turbo JPEG_MESON_ENABLED= jpeg NETTLE_DESC= Low-level encryption via Nettle NETTLE_LIB_DEPENDS= libgmp.so:math/gmp \ libnettle.so:security/nettle NETTLE_MESON_ENABLED= nettle OPENGL_LIB_DEPENDS= libdrm.so:graphics/libdrm OPENGL_USES= gl OPENGL_USE= GL=gbm OPENGL_MESON_ENABLED= gbm post-patch: # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \ -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \ ${WRKSRC}/meson.build pre-test: @if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \ ${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}; \ ${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dtests=true"; \ ${TOUCH} ${WRKDIR}/.meson_build_tests; \ fi .include diff --git a/net/neatvnc/files/patch-aml1 b/net/neatvnc/files/patch-aml1 new file mode 100644 index 000000000000..a6dd6b5a126e --- /dev/null +++ b/net/neatvnc/files/patch-aml1 @@ -0,0 +1,249 @@ +https://github.com/any1/neatvnc/commit/a4b238241f3f +https://github.com/any1/neatvnc/commit/c1f4833dc134 + +--- meson.build.orig 2025-07-28 20:37:48 UTC ++++ meson.build +@@ -63,12 +63,12 @@ libavutil = dependency('libavutil', required: get_opti + libavfilter = dependency('libavfilter', required: get_option('h264')) + libavutil = dependency('libavutil', required: get_option('h264')) + +-aml_version = ['>=0.3.0', '<0.4.0'] ++aml_version = ['>=1.0.0', '<2.0.0'] + aml_project = subproject('aml', required: false, version: aml_version) + if aml_project.found() + aml = aml_project.get_variable('aml_dep') + else +- aml = dependency('aml', version: aml_version) ++ aml = dependency('aml1', version: aml_version) + endif + + inc = include_directories('include') +--- src/enc/h264/ffmpeg-impl.c.orig 2025-07-28 20:37:48 UTC ++++ src/enc/h264/ffmpeg-impl.c +@@ -415,9 +415,9 @@ get_frame_failure: + return rc == AVERROR(EAGAIN) ? 0 : rc; + } + +-static void h264_encoder__do_work(void* handle) ++static void h264_encoder__do_work(struct aml_work* work) + { +- struct h264_encoder_ffmpeg* self = aml_get_userdata(handle); ++ struct h264_encoder_ffmpeg* self = aml_get_userdata(work); + + AVFrame* frame = fb_to_avframe(self->current_fb); + assert(frame); // TODO +@@ -453,9 +453,9 @@ failure: + av_frame_free(&frame); + } + +-static void h264_encoder__on_work_done(void* handle) ++static void h264_encoder__on_work_done(struct aml_work* work) + { +- struct h264_encoder_ffmpeg* self = aml_get_userdata(handle); ++ struct h264_encoder_ffmpeg* self = aml_get_userdata(work); + + uint64_t pts = nvnc_fb_get_pts(self->current_fb); + nvnc_fb_release(self->current_fb); +--- src/enc/h264/v4l2m2m-impl.c.orig 2025-07-28 20:37:48 UTC ++++ src/enc/h264/v4l2m2m-impl.c +@@ -511,9 +511,9 @@ static void encode_buffer(struct h264_encoder_v4l2m2m* + } + } + +-static void process_fd_events(void* handle) ++static void process_fd_events(struct aml_handler* handler) + { +- struct h264_encoder_v4l2m2m* self = aml_get_userdata(handle); ++ struct h264_encoder_v4l2m2m* self = aml_get_userdata(handler); + process_dst_bufs(self); + } + +--- src/enc/raw.c.orig 2025-07-28 20:37:48 UTC ++++ src/enc/raw.c +@@ -126,9 +126,9 @@ static int raw_encode_frame(struct raw_encoder_work* c + return 0; + } + +-static void raw_encoder_do_work(void* obj) ++static void raw_encoder_do_work(struct aml_work* work) + { +- struct raw_encoder_work* ctx = aml_get_userdata(obj); ++ struct raw_encoder_work* ctx = aml_get_userdata(work); + int rc __attribute__((unused)); + + struct nvnc_fb* fb = ctx->fb; +@@ -163,9 +163,9 @@ static void raw_encoder_do_work(void* obj) + assert(ctx->result); + } + +-static void raw_encoder_on_done(void* obj) ++static void raw_encoder_on_done(struct aml_work* work) + { +- struct raw_encoder_work* ctx = aml_get_userdata(obj); ++ struct raw_encoder_work* ctx = aml_get_userdata(work); + struct raw_encoder* self = ctx->parent; + + assert(ctx->result); +--- src/enc/tight.c.orig 2025-07-28 20:37:48 UTC ++++ src/enc/tight.c +@@ -106,8 +106,8 @@ struct encoder_impl encoder_impl_tight; + + struct encoder_impl encoder_impl_tight; + +-static void do_tight_zs_work(void*); +-static void on_tight_zs_work_done(void*); ++static void do_tight_zs_work(struct aml_work*); ++static void on_tight_zs_work_done(struct aml_work*); + static int schedule_tight_finish(struct tight_encoder* self); + + static inline struct tight_encoder* tight_encoder(struct encoder* encoder) +@@ -428,9 +428,9 @@ static void tight_encode_tile(struct tight_encoder* se + tile->state = TIGHT_TILE_ENCODED; + } + +-static void do_tight_zs_work(void* obj) ++static void do_tight_zs_work(struct aml_work* work) + { +- struct tight_zs_worker_ctx* ctx = aml_get_userdata(obj); ++ struct tight_zs_worker_ctx* ctx = aml_get_userdata(work); + struct tight_encoder* self = ctx->encoder; + int index = ctx->index; + +@@ -440,7 +440,7 @@ static void do_tight_zs_work(void* obj) + tight_encode_tile(self, x, y); + } + +-static void on_tight_zs_work_done(void* obj) ++static void on_tight_zs_work_done(struct aml_work* obj) + { + struct tight_zs_worker_ctx* ctx = aml_get_userdata(obj); + struct tight_encoder* self = ctx->encoder; +@@ -509,15 +509,15 @@ static void tight_finish(struct tight_encoder* self) + tight_finish_tile(self, x, y); + } + +-static void do_tight_finish(void* obj) ++static void do_tight_finish(struct aml_work* work) + { +- struct tight_encoder* self = aml_get_userdata(obj); ++ struct tight_encoder* self = aml_get_userdata(work); + tight_finish(self); + } + +-static void on_tight_finished(void* obj) ++static void on_tight_finished(struct aml_work* work) + { +- struct tight_encoder* self = aml_get_userdata(obj); ++ struct tight_encoder* self = aml_get_userdata(work); + + struct encoded_frame* result; + result = encoded_frame_new(self->dst.data, self->dst.len, self->n_rects, +--- src/enc/zrle.c.orig 2025-07-28 20:37:48 UTC ++++ src/enc/zrle.c +@@ -340,9 +340,9 @@ static int zrle_encode_frame(struct zrle_encoder* self + return 0; + } + +-static void zrle_encoder_do_work(void* obj) ++static void zrle_encoder_do_work(struct aml_work* work) + { +- struct zrle_encoder* self = aml_get_userdata(obj); ++ struct zrle_encoder* self = aml_get_userdata(work); + int rc __attribute__((unused)); + + struct nvnc_fb* fb = self->current_fb; +@@ -374,9 +374,9 @@ static void zrle_encoder_do_work(void* obj) + assert(self->current_result); + } + +-static void zrle_encoder_on_done(void* obj) ++static void zrle_encoder_on_done(struct aml_work* work) + { +- struct zrle_encoder* self = aml_get_userdata(obj); ++ struct zrle_encoder* self = aml_get_userdata(work); + + assert(self->current_result); + +--- src/resampler.c.orig 2025-07-28 20:37:48 UTC ++++ src/resampler.c +@@ -147,9 +147,8 @@ void resample_now(struct nvnc_fb* dst, struct nvnc_fb* + pixman_image_unref(dstimg); + } + +-static void do_work(void* handle) ++static void do_work(struct aml_work* work) + { +- struct aml_work* work = handle; + struct resampler_work* ctx = aml_get_userdata(work); + + struct nvnc_fb* src = ctx->src; +@@ -159,11 +158,9 @@ static void do_work(void* handle) + resample_now(dst, src, &dst_side_data->buffer_damage); + } + +-static void on_work_done(void* handle) ++static void on_work_done(struct aml_work* work) + { +- struct aml_work* work = handle; + struct resampler_work* ctx = aml_get_userdata(work); +- + ctx->on_done(ctx->dst, &ctx->frame_damage, ctx->userdata); + } + +--- src/server.c.orig 2025-07-28 20:37:48 UTC ++++ src/server.c +@@ -210,9 +210,8 @@ static void client_close(struct nvnc_client* client) + free(client); + } + +-static void do_deferred_client_close(void* obj) ++static void do_deferred_client_close(struct aml_idle* idle) + { +- struct aml_idle* idle = obj; + struct nvnc_client* client = aml_get_userdata(idle); + client->close_task = NULL; + aml_stop(aml_get_default(), idle); +@@ -2013,9 +2012,9 @@ static void on_client_event(struct stream* stream, enu + client->buffer_index = 0; + } + +-static void on_connection(void* obj) ++static void on_connection(struct aml_handler* poll_handle) + { +- struct nvnc* server = aml_get_userdata(obj); ++ struct nvnc* server = aml_get_userdata(poll_handle); + + struct nvnc_client* client = calloc(1, sizeof(*client)); + if (!client) +--- src/stream/gnutls.c.orig 2025-07-28 20:37:48 UTC ++++ src/stream/gnutls.c +@@ -171,10 +171,10 @@ static void stream_gnutls__on_writable(struct stream* + } + } + +-static void stream_gnutls__on_event(void* obj) ++static void stream_gnutls__on_event(struct aml_handler* handler) + { +- struct stream* self = aml_get_userdata(obj); +- uint32_t events = aml_get_revents(obj); ++ struct stream* self = aml_get_userdata(handler); ++ uint32_t events = aml_get_revents(handler); + + stream_ref(self); + +--- src/stream/tcp.c.orig 2025-07-28 20:37:48 UTC ++++ src/stream/tcp.c +@@ -191,10 +191,10 @@ static void stream_tcp__on_writable(struct stream* sel + } + } + +-static void stream_tcp__on_event(void* obj) ++static void stream_tcp__on_event(struct aml_handler* handler) + { +- struct stream* self = aml_get_userdata(obj); +- uint32_t events = aml_get_revents(obj); ++ struct stream* self = aml_get_userdata(handler); ++ uint32_t events = aml_get_revents(handler); + + // We hold a reference here in case the stream gets destroyed inside + // callback. diff --git a/net/wayvnc/Makefile b/net/wayvnc/Makefile index f5b53453cc9f..211ce5f857f9 100644 --- a/net/wayvnc/Makefile +++ b/net/wayvnc/Makefile @@ -1,55 +1,56 @@ PORTNAME= wayvnc DISTVERSIONPREFIX= v DISTVERSION= 0.9.1 +PORTREVISION= 1 CATEGORIES= net wayland MAINTAINER= jbeich@FreeBSD.org COMMENT= VNC server for wlroots-based compositors WWW= https://github.com/any1/wayvnc LICENSE= ISCL LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto LIB_DEPENDS= libaml.so:devel/aml \ libjansson.so:devel/jansson \ libdrm.so:graphics/libdrm \ libwayland-client.so:graphics/wayland \ libneatvnc.so:net/neatvnc \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c11 meson pkgconfig xorg USE_GITHUB= yes USE_XORG= pixman USE_LDCONFIG= yes GH_ACCOUNT= any1 PLIST_FILES= bin/${PORTNAME} \ bin/${PORTNAME}ctl MESON_ARGS= -Dtests=false OPTIONS_DEFINE= MANPAGES OPENGL OPTIONS_DEFAULT=MANPAGES OPENGL MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc MANPAGES_MESON_ENABLED= man-pages MANPAGES_PLIST_FILES= share/man/man1/${PORTNAME}.1.gz \ share/man/man1/${PORTNAME}ctl.1.gz OPENGL_USES= gl OPENGL_USE= GL=gbm OPENGL_MESON_ENABLED= screencopy-dmabuf post-patch: # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \ -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \ ${WRKSRC}/meson.build pre-test: @if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \ ${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}; \ ${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dtests=true"; \ ${TOUCH} ${WRKDIR}/.meson_build_tests; \ fi .include diff --git a/net/wayvnc/files/patch-aml1 b/net/wayvnc/files/patch-aml1 new file mode 100644 index 000000000000..f49e0819b9c9 --- /dev/null +++ b/net/wayvnc/files/patch-aml1 @@ -0,0 +1,178 @@ +https://github.com/any1/wayvnc/commit/0ef2ba31928a +https://github.com/any1/wayvnc/commit/a00d568437d1 + +--- meson.build.orig 2024-11-20 22:49:52 UTC ++++ meson.build +@@ -56,8 +56,8 @@ jansson = dependency('jansson') + wayland_client = dependency('wayland-client') + jansson = dependency('jansson') + +-aml_version = ['>=0.3.0', '<0.4.0'] +-neatvnc_version = ['>=0.9', '<0.10.0'] ++aml_version = ['>=1.0.0', '<2.0.0'] ++neatvnc_version = ['>=0.9', '<1.0.0'] + + neatvnc_project = subproject( + 'neatvnc', +@@ -69,7 +69,7 @@ else + if aml_project.found() + aml = aml_project.get_variable('aml_dep') + else +- aml = dependency('aml', version: aml_version) ++ aml = dependency('aml1', version: aml_version) + endif + + if neatvnc_project.found() +--- src/ctl-server.c.orig 2024-11-20 22:49:52 UTC ++++ src/ctl-server.c +@@ -700,10 +700,10 @@ request_parse_failed: + client_enqueue_internal_error(client, details); + } + +-static void on_ready(void* obj) ++static void on_ready(struct aml_handler* handler) + { +- struct ctl_client* client = aml_get_userdata(obj); +- uint32_t events = aml_get_revents(obj); ++ struct ctl_client* client = aml_get_userdata(handler); ++ uint32_t events = aml_get_revents(handler); + nvnc_trace("Client %p ready: 0x%x", client, events); + + if (events & AML_EVENT_WRITE) +@@ -712,10 +712,10 @@ static void on_ready(void* obj) + recv_ready(client); + } + +-static void on_connection(void* obj) ++static void on_connection(struct aml_handler* handler) + { + nvnc_log(NVNC_LOG_DEBUG, "New connection"); +- struct ctl* server = aml_get_userdata(obj); ++ struct ctl* server = aml_get_userdata(handler); + + struct ctl_client* client = calloc(1, sizeof(*client)); + if (!client) { +--- src/data-control.c.orig 2024-11-20 22:49:52 UTC ++++ src/data-control.c +@@ -73,7 +73,7 @@ static void destroy_send_context(struct send_context* + free(ctx); + } + +-static void on_receive(void* handler) ++static void on_receive(struct aml_handler* handler) + { + struct receive_context* ctx = aml_get_userdata(handler); + int fd = aml_get_fd(handler); +@@ -101,7 +101,7 @@ static void on_receive(void* handler) + destroy_receive_context(ctx); + } + +-static void on_send(void* handler) ++static void on_send(struct aml_handler* handler) + { + struct send_context* ctx = aml_get_userdata(handler); + int fd = aml_get_fd(handler); +--- src/ext-image-copy-capture.c.orig 2024-11-20 22:49:52 UTC ++++ src/ext-image-copy-capture.c +@@ -219,11 +219,10 @@ static void ext_image_copy_capture_schedule_capture(st + #endif + } + +-static void ext_image_copy_capture_schedule_from_timer(void* obj) ++static void ext_image_copy_capture_schedule_from_timer(struct aml_timer* timer) + { +- struct ext_image_copy_capture* self = aml_get_userdata(obj); ++ struct ext_image_copy_capture* self = aml_get_userdata(timer); + assert(self); +- + ext_image_copy_capture_schedule_capture(self); + } + +@@ -703,8 +702,8 @@ static struct screencopy* ext_image_copy_capture_creat + self->wl_output = output; + self->render_cursors = render_cursor; + +- self->timer = aml_timer_new(0, ext_image_copy_capture_schedule_from_timer, self, +- NULL); ++ self->timer = aml_timer_new(0, ++ ext_image_copy_capture_schedule_from_timer, self, NULL); + assert(self->timer); + + self->pool = wv_buffer_pool_create(NULL); +@@ -736,8 +735,8 @@ static struct screencopy* ext_image_copy_capture_creat + self->wl_output = output; + self->wl_seat = seat; + +- self->timer = aml_timer_new(0, ext_image_copy_capture_schedule_from_timer, self, +- NULL); ++ self->timer = aml_timer_new(0, ++ ext_image_copy_capture_schedule_from_timer, self, NULL); + assert(self->timer); + + self->pool = wv_buffer_pool_create(NULL); +--- src/main.c.orig 2024-11-20 22:49:52 UTC ++++ src/main.c +@@ -497,9 +497,9 @@ void wayvnc_destroy(struct wayvnc* self) + wayland_detach(self); + } + +-void on_wayland_event(void* obj) ++void on_wayland_event(struct aml_handler* handler) + { +- struct wayvnc* self = aml_get_userdata(obj); ++ struct wayvnc* self = aml_get_userdata(handler); + + int rc MAYBE_UNUSED = wl_display_prepare_read(self->display); + assert(rc == 0); +@@ -608,7 +608,7 @@ void wayvnc_exit(struct wayvnc* self) + self->do_exit = true; + } + +-void on_signal(void* obj) ++void on_signal(struct aml_signal* obj) + { + nvnc_log(NVNC_LOG_INFO, "Received termination signal."); + struct wayvnc* self = aml_get_userdata(obj); +@@ -1044,7 +1044,7 @@ int wayvnc_start_capture_immediate(struct wayvnc* self + return rc; + } + +-static void on_capture_restart_timer(void* obj) ++static void on_capture_restart_timer(struct aml_timer* obj) + { + struct wayvnc* self = aml_get_userdata(obj); + aml_unref(self->capture_retry_timer); +@@ -1221,7 +1221,7 @@ int check_cfg_sanity(struct cfg* cfg) + return 0; + } + +-static void on_perf_tick(void* obj) ++static void on_perf_tick(struct aml_ticker* obj) + { + struct wayvnc* self = aml_get_userdata(obj); + +@@ -2097,9 +2097,6 @@ int main(int argc, char* argv[]) + + self.selected_seat = seat; + } +- +- if (aml_unstable_abi_version != AML_UNSTABLE_API) +- nvnc_log(NVNC_LOG_PANIC, "libaml is incompatible with this build of wayvnc!"); + + enum socket_type socket_type = SOCKET_TYPE_TCP; + if (use_unix_socket) +--- src/screencopy.c.orig 2024-11-20 22:49:52 UTC ++++ src/screencopy.c +@@ -287,10 +287,9 @@ static int screencopy__start_capture(struct wlr_screen + return 0; + } + +-static void screencopy__poll(void* obj) ++static void screencopy__poll(struct aml_timer* handler) + { +- struct wlr_screencopy* self = aml_get_userdata(obj); +- ++ struct wlr_screencopy* self = aml_get_userdata(handler); + screencopy__start_capture(self); + } + diff --git a/net/wlvncc/Makefile b/net/wlvncc/Makefile index c22a1a9c3aa7..5a2dec1fd429 100644 --- a/net/wlvncc/Makefile +++ b/net/wlvncc/Makefile @@ -1,32 +1,33 @@ PORTNAME= wlvncc PORTVERSION= s20250707 +PORTREVISION= 1 CATEGORIES= net wayland MAINTAINER= jbeich@FreeBSD.org COMMENT= Wayland Native VNC Client WWW= https://github.com/any1/wlvncc LICENSE= GPLv2+ ISCL LICENSE_COMB= multi LICENSE_FILE_GPLv2+ = ${WRKSRC}/COPYING.GPL LICENSE_FILE_ISCL= ${WRKSRC}/COPYING BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto LIB_DEPENDS= liblzo2.so:archivers/lzo2 \ libaml.so:devel/aml \ libdrm.so:graphics/libdrm \ libwayland-client.so:graphics/wayland \ libavcodec.so:multimedia/ffmpeg \ libgnutls.so:security/gnutls \ libgcrypt.so:security/libgcrypt \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c11 gl jpeg meson pkgconfig xorg USE_GITHUB= yes USE_GL= egl gbm glesv2 USE_XORG= pixman GH_ACCOUNT= any1 GH_TAGNAME= bc6063a PLIST_FILES= bin/${PORTNAME} .include diff --git a/net/wlvncc/files/patch-aml1 b/net/wlvncc/files/patch-aml1 new file mode 100644 index 000000000000..a4a6b5403736 --- /dev/null +++ b/net/wlvncc/files/patch-aml1 @@ -0,0 +1,77 @@ +https://github.com/any1/wlvncc/commit/9599559cfdd5 +https://github.com/any1/wlvncc/commit/860232f34a77 + +--- meson.build.orig 2025-07-07 13:54:48 UTC ++++ meson.build +@@ -50,12 +50,13 @@ libz = dependency('zlib', required: false) + lzo = dependency('lzo2', required: false) + libz = dependency('zlib', required: false) + +-aml_project = subproject('aml', required: false, ++aml_version = ['>=1.0.0', '<2.0.0'] ++aml_project = subproject('aml', required: false, version: aml_version, + default_options: ['default_library=static']) + if aml_project.found() + aml = aml_project.get_variable('aml_dep') + else +- aml = dependency('aml') ++ aml = dependency('aml1', version: aml_version) + endif + + inc = include_directories('include', 'src/encodings') +--- src/main.c.orig 2025-07-07 13:54:48 UTC ++++ src/main.c +@@ -335,7 +335,7 @@ static const struct zwp_linux_dmabuf_feedback_v1_liste + .tranche_flags = noop, + }; + +-void on_wayland_event(void* obj) ++void on_wayland_event(struct aml_handler* handler) + { + int rc = wl_display_prepare_read(wl_display); + assert(rc == 0); +@@ -366,7 +366,7 @@ static int init_wayland_event_handler(void) + return rc; + } + +-static void on_signal(void* obj) ++static void on_signal(struct aml_signal* signal) + { + do_run = false; + } +@@ -887,9 +887,9 @@ void on_vnc_client_update_fb(struct vnc_client* client + window_swap(window); + } + +-void on_vnc_client_event(void* obj) ++void on_vnc_client_event(struct aml_handler* handler) + { +- struct vnc_client* client = aml_get_userdata(obj); ++ struct vnc_client* client = aml_get_userdata(handler); + if (vnc_client_process(client) < 0) + do_run = false; + } +@@ -1011,9 +1011,9 @@ failure: + return -1; + } + +-static void on_canary_tick(void* obj) ++static void on_canary_tick(struct aml_ticker* ticker) + { +- (void)obj; ++ (void)ticker; + + uint64_t t = gettime_us(); + int64_t dt = t - last_canary_tick; +@@ -1149,11 +1149,6 @@ int main(int argc, char* argv[]) + int port = 5900; + if (n_args >= 2) + port = atoi(argv[optind + 1]); +- +- if (aml_unstable_abi_version != AML_UNSTABLE_API) { +- fprintf(stderr, "libaml is incompatible with current build of wlvncc!\n"); +- abort(); +- } + + struct aml* aml = aml_new(); + if (!aml)