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 <bsd.port.mk>
> 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
> $<TARGET_FILE:${PROJECT_NAME}> $<TARGET_FILE_DIR:${PROJECT_NAME}>/turnadmin
> +- DEPENDS ${PROJECT_NAME})
> +- INSTALL(FILES $<TARGET_FILE_DIR:${PROJECT_NAME}>/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
>