From: Lucas Gabriel Vuotto Subject: Re: telephony/coturn (turnserver) update To: ports Date: Sat, 7 Mar 2026 17:47:04 +0000 Works for me together with Prosody. I don't feel strongly about to cmake or not, so OK lucas in any case. On Thu, Mar 05, 2026 at 11:31:29AM +0000, Stuart Henderson wrote: > if anyone's using this, can you test this update/cleanup please? > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/telephony/coturn/Makefile,v > diff -u -p -r1.20 Makefile > --- Makefile 14 Jan 2025 15:07:27 -0000 1.20 > +++ Makefile 5 Mar 2026 11:30:24 -0000 > @@ -1,13 +1,9 @@ > COMMENT = coturn STUN/TURN server > > -V = 4.6.3-r0 > GH_ACCOUNT = coturn > GH_PROJECT = coturn > -GH_TAGNAME = docker/${V} > -DISTNAME = turnserver-${V:S/-r/pl/} > - > -COMPILER = base-clang ports-gcc > -COMPILER_LANGS = c > +GH_TAGNAME = 4.8.0 > +PKGNAME = turnserver-${GH_TAGNAME} > > CATEGORIES = telephony > > @@ -15,27 +11,33 @@ CATEGORIES = telephony > PERMIT_PACKAGE = Yes > > WANTLIB += c crypto event_core event_extra event_openssl event_pthreads > -WANTLIB += hiredis intl mariadb pq pthread sqlite3 ssl m z > +WANTLIB += hiredis mariadb pq pthread sqlite3 ssl > + > +COMPILER = base-clang ports-gcc > +COMPILER_LANGS = c > > -LIB_DEPENDS = databases/mariadb \ > - databases/postgresql \ > - databases/sqlite3 \ > - devel/gettext,-runtime \ > - devel/libevent2 \ > - databases/libhiredis > - > -CONFIGURE_STYLE = simple > -CONFIGURE_ARGS = --localstatedir='${LOCALSTATEDIR}' > -# There is no port for MongoDB development libraries and/or headers > -CONFIGURE_ENV = TURN_NO_MONGO=1 \ > - TURN_NO_PROMETHEUS=1 \ > - TURN_NO_SYSTEMD=1 > -# Don't pick up devel/pkgconf > -CONFIGURE_ENV += PKGCONFIG="pkg-config" > +MODULES = devel/cmake > + > +LIB_DEPENDS = databases/mariadb \ > + databases/postgresql \ > + databases/sqlite3 \ > + devel/libevent2 \ > + databases/libhiredis > > post-install: > - rm -rf ${PREFIX}/etc > - mv ${WRKINST}${LOCALSTATEDIR}/db/turndb \ > + rm -rf ${PREFIX}/etc \ > + ${PREFIX}/share/examples/turnserver/ca \ > + ${PREFIX}/share/examples/turnserver/run*.sh > + mv ${PREFIX}/share/examples/turnserver/var/db/turndb \ > ${PREFIX}/share/examples/turnserver > + rmdir ${PREFIX}/share/examples/turnserver/var{/db,} > + chmod +x ${PREFIX}/bin/* # huh?! not installed as executable... > + > +NO_TEST = Yes > +# there are tests, but hitting "bind: Address already in use" > +#do-test: > +# ln -fs ${WRKBUILD} ${WRKSRC}/build > +# cd ${WRKSRC}/examples; sh run_tests.sh > +# cd ${WRKSRC}/examples; sh run_tests_conf.sh > > .include > Index: distinfo > =================================================================== > RCS file: /cvs/ports/telephony/coturn/distinfo,v > diff -u -p -r1.6 distinfo > --- distinfo 16 Dec 2024 13:14:51 -0000 1.6 > +++ distinfo 5 Mar 2026 11:30:24 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (turnserver-4.6.3pl0.tar.gz) = yIFrwM9YQT5Y6r8EDtTCHp8kHKk6cEVja1Dow0BsTrk= > -SIZE (turnserver-4.6.3pl0.tar.gz) = 535329 > +SHA256 (coturn-4.8.0.tar.gz) = o7MCtSxUBaJZX1kDbJX8NnbmQENrpn4/Yhk37GSLHqU= > +SIZE (coturn-4.8.0.tar.gz) = 544737 > Index: patches/patch-CMakeLists_txt > =================================================================== > RCS file: patches/patch-CMakeLists_txt > diff -N patches/patch-CMakeLists_txt > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-CMakeLists_txt 5 Mar 2026 11:30:24 -0000 > @@ -0,0 +1,34 @@ > +Index: CMakeLists.txt > +--- CMakeLists.txt.orig > ++++ CMakeLists.txt > +@@ -147,7 +147,7 @@ install(DIRECTORY turndb/ > + DESTINATION share/turnserver > + COMPONENT Runtime) > + install(DIRECTORY turndb/ > +- DESTINATION doc/turnserver > ++ DESTINATION share/doc/turnserver > + COMPONENT Runtime) > + install(FILES > + LICENSE > +@@ -156,7 +156,7 @@ install(FILES > + README.turnutils > + INSTALL > + postinstall.txt > +- DESTINATION doc/turnserver > ++ DESTINATION share/doc/turnserver > + COMPONENT Runtime) > + install(FILES examples/etc/turnserver.conf > + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR} > +@@ -164,9 +164,9 @@ install(FILES examples/etc/turnserver.conf > + RENAME turnserver.conf.default > + ) > + install(DIRECTORY > +- examples > +- DESTINATION share > +- COMPONENT examples > ++ examples/ > ++ DESTINATION share/examples/turnserver > ++ COMPONENT turnserver > + ) > + include(cmake/CMakeCPack.cmake) > + > Index: patches/patch-src_apps_common_apputils_c > =================================================================== > RCS file: /cvs/ports/telephony/coturn/patches/patch-src_apps_common_apputils_c,v > diff -u -p -r1.1 patch-src_apps_common_apputils_c > --- patches/patch-src_apps_common_apputils_c 16 Dec 2024 13:14:51 -0000 1.1 > +++ patches/patch-src_apps_common_apputils_c 5 Mar 2026 11:30:24 -0000 > @@ -1,7 +1,7 @@ > Index: src/apps/common/apputils.c > --- src/apps/common/apputils.c.orig > +++ src/apps/common/apputils.c > -@@ -1179,7 +1179,7 @@ char *find_config_file(const char *config_file) { > +@@ -1190,7 +1190,7 @@ char *find_config_file(const char *config_file) { > /////////////////// SYS SETTINGS /////////////////////// > > void ignore_sigpipe(void) { > Index: patches/patch-src_apps_relay_CMakeLists_txt > =================================================================== > RCS file: patches/patch-src_apps_relay_CMakeLists_txt > diff -N patches/patch-src_apps_relay_CMakeLists_txt > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_apps_relay_CMakeLists_txt 5 Mar 2026 11:30:24 -0000 > @@ -0,0 +1,19 @@ > +Index: src/apps/relay/CMakeLists.txt > +--- src/apps/relay/CMakeLists.txt.orig > ++++ src/apps/relay/CMakeLists.txt > +@@ -188,12 +188,8 @@ if(WIN32) > + DESTINATION "${CMAKE_INSTALL_BINDIR}" > + COMPONENT Runtime) > + else() > +- add_custom_target(turnadmin ALL > +- COMMAND > +- ${CMAKE_COMMAND} -E create_symlink $ $/turnadmin > +- DEPENDS ${PROJECT_NAME}) > +- INSTALL(FILES $/turnadmin > +- DESTINATION "${CMAKE_INSTALL_BINDIR}" > ++ INSTALL(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_NAME} turnadmin WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})" > + COMPONENT Runtime > +- ) > ++ ) > + endif() > ++ > Index: patches/patch-src_apps_relay_mainrelay_c > =================================================================== > RCS file: /cvs/ports/telephony/coturn/patches/patch-src_apps_relay_mainrelay_c,v > diff -u -p -r1.3 patch-src_apps_relay_mainrelay_c > --- patches/patch-src_apps_relay_mainrelay_c 16 Dec 2024 13:14:51 -0000 1.3 > +++ patches/patch-src_apps_relay_mainrelay_c 5 Mar 2026 11:30:24 -0000 > @@ -3,9 +3,9 @@ Don't create a default pidfile > Index: src/apps/relay/mainrelay.c > --- src/apps/relay/mainrelay.c.orig > +++ src/apps/relay/mainrelay.c > -@@ -126,7 +126,7 @@ turn_params_t turn_params = { > +@@ -131,7 +131,7 @@ turn_params_t turn_params = { > > - 0, /* do_not_use_config_file */ > + false, /* do_not_use_config_file */ > > - "/var/run/turnserver.pid", /* pidfile */ > + "", /* pidfile */ > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/telephony/coturn/pkg/PLIST,v > diff -u -p -r1.5 PLIST > --- pkg/PLIST 8 Nov 2022 11:17:14 -0000 1.5 > +++ pkg/PLIST 5 Mar 2026 11:30:24 -0000 > @@ -1,23 +1,49 @@ > @newgroup _turnserver:795 > @newuser _turnserver:795:795::TURN Server user:/var/empty:/sbin/nologin > @rcscript ${RCDIR}/turnserver > -@bin bin/turnadmin > +bin/turnadmin > @bin bin/turnserver > @bin bin/turnutils_natdiscovery > @bin bin/turnutils_oauth > @bin bin/turnutils_peer > +@bin bin/turnutils_rfc5769check > @bin bin/turnutils_stunclient > @bin bin/turnutils_uclient > include/turn/ > +include/turn/apputils.h > include/turn/client/ > include/turn/client/TurnMsgLib.h > +include/turn/client/ns_turn_defs.h > include/turn/client/ns_turn_ioaddr.h > include/turn/client/ns_turn_msg.h > include/turn/client/ns_turn_msg_addr.h > include/turn/client/ns_turn_msg_defs.h > include/turn/client/ns_turn_msg_defs_experimental.h > -include/turn/ns_turn_defs.h > +include/turn/ns_turn_openssl.h > +include/turn/ns_turn_utils.h > +include/turn/server/ > +include/turn/server/ns_turn_allocation.h > +include/turn/server/ns_turn_ioalib.h > +include/turn/server/ns_turn_khash.h > +include/turn/server/ns_turn_maps.h > +include/turn/server/ns_turn_maps_rtcp.h > +include/turn/server/ns_turn_server.h > +include/turn/server/ns_turn_session.h > +include/turn/stun_buffer.h > +lib/cmake/coturn/ > +lib/cmake/coturn/coturnConfig.cmake > +lib/cmake/coturn/turn_serverConfig${MODCMAKE_BUILD_SUFFIX} > +lib/cmake/coturn/turn_serverConfig.cmake > +lib/cmake/coturn/turn_serverConfigVersion.cmake > +lib/cmake/coturn/turnclientConfig${MODCMAKE_BUILD_SUFFIX} > +lib/cmake/coturn/turnclientConfig.cmake > +lib/cmake/coturn/turnclientConfigVersion.cmake > +lib/cmake/coturn/turncommonConfig${MODCMAKE_BUILD_SUFFIX} > +lib/cmake/coturn/turncommonConfig.cmake > +lib/cmake/coturn/turncommonConfigVersion.cmake > +@static-lib lib/libturn_server.a > @static-lib lib/libturnclient.a > +@static-lib lib/libturncommon.a > @man man/man1/coturn.1 > @man man/man1/turnadmin.1 > @man man/man1/turnserver.1 > @@ -38,7 +64,11 @@ share/doc/turnserver/schema.mongo.sh > share/doc/turnserver/schema.sql > share/doc/turnserver/schema.stats.redis > share/doc/turnserver/schema.userdb.redis > +share/doc/turnserver/testmongosetup.sh > +share/doc/turnserver/testredisdbsetup.sh > +share/doc/turnserver/testsqldbsetup.sql > share/examples/turnserver/ > +share/examples/turnserver/cpu-mem.sh > share/examples/turnserver/etc/ > share/examples/turnserver/etc/cacert.pem > share/examples/turnserver/etc/coturn.service > @@ -106,6 +136,7 @@ share/examples/turnserver/scripts/restap > share/examples/turnserver/scripts/restapi/secure_relay_secret_with_db_sqlite.sh > share/examples/turnserver/scripts/restapi/secure_udp_client_with_secret.sh > share/examples/turnserver/scripts/restapi/shared_secret_maintainer.pl > +share/examples/turnserver/scripts/rfc5769.sh > share/examples/turnserver/scripts/selfloadbalance/ > share/examples/turnserver/scripts/selfloadbalance/secure_dos_attack.sh > share/examples/turnserver/scripts/selfloadbalance/secure_relay.sh >