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
> 

Reply via email to