Index | Thread | Search

From:
Andrew Kloet <andrew@kloet.net>
Subject:
audio/umurmur: update 0.3.1 -> 0.4.0
To:
ports@openbsd.org
Date:
Wed, 12 Aug 2026 08:45:31 -0400

Download raw body.

Thread
  • Andrew Kloet:

    audio/umurmur: update 0.3.1 -> 0.4.0

Hello ports@

Attached is an update for audio umurmur 0.3.1 -> 0.4.0

In this update:
* Our safe function patches have been upstreamed
* Upstream has added pledge() and unveil() support
* The rc file now checks the config with rc_configtest

Upstream changelog:
https://github.com/umurmur/umurmur/releases/tag/v0.4.0

OK?

Andrew

diff --git a/audio/umurmur/Makefile b/audio/umurmur/Makefile
index b6cb72999..f96fc83e6 100644
--- a/audio/umurmur/Makefile
+++ b/audio/umurmur/Makefile
@@ -2,7 +2,7 @@ COMMENT =		minimalistic Mumble server
 
 GH_ACCOUNT =		umurmur
 GH_PROJECT =		umurmur
-GH_TAGNAME =		v0.3.1
+GH_TAGNAME =		v0.4.0
 
 CATEGORIES =		audio
 
@@ -11,6 +11,7 @@ HOMEPAGE =		https://umurmur.net/
 # BSD
 PERMIT_PACKAGE =	Yes
 
+# uses pledge() and unveil()
 WANTLIB =		c config crypto protobuf-c>=1.0 ssl
 
 MODULES =		devel/cmake
diff --git a/audio/umurmur/distinfo b/audio/umurmur/distinfo
index ead2483e3..c112fd69e 100644
--- a/audio/umurmur/distinfo
+++ b/audio/umurmur/distinfo
@@ -1,2 +1,2 @@
-SHA256 (umurmur-0.3.1.tar.gz) = gyfdCyxb0YejjQmCleiWprhdaYySaCBbyyf2JE92CnM=
-SIZE (umurmur-0.3.1.tar.gz) = 94742
+SHA256 (umurmur-0.4.0.tar.gz) = pK2lEny7FZs5XCPSOX+1Jmnnlu3oyNBGhdQLNAU3YuE=
+SIZE (umurmur-0.4.0.tar.gz) = 85739
diff --git a/audio/umurmur/patches/patch-CMakeLists_txt b/audio/umurmur/patches/patch-CMakeLists_txt
index df1a0b7b6..fe7f18291 100644
--- a/audio/umurmur/patches/patch-CMakeLists_txt
+++ b/audio/umurmur/patches/patch-CMakeLists_txt
@@ -1,16 +1,7 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -3,7 +3,7 @@ project(umurmurd C)
- 
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
--set(UMURMUR_BINARY_DIR "${CMAKE_BINARY_DIR}/bin")
-+set(UMURMUR_BINARY_DIR "${CMAKE_BINARY_DIR}/sbin")
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${UMURMUR_BINARY_DIR}")
- 
- if(NOT CMAKE_BUILD_TYPE)
-@@ -31,7 +31,7 @@ add_subdirectory(src)
+@@ -44,7 +44,7 @@ add_subdirectory(src)
  
  install(
    FILES "umurmur.conf.example"
diff --git a/audio/umurmur/patches/patch-src_CMakeLists_txt b/audio/umurmur/patches/patch-src_CMakeLists_txt
new file mode 100644
index 000000000..57567cc6f
--- /dev/null
+++ b/audio/umurmur/patches/patch-src_CMakeLists_txt
@@ -0,0 +1,10 @@
+Index: src/CMakeLists.txt
+--- src/CMakeLists.txt.orig
++++ src/CMakeLists.txt
+@@ -70,5 +70,5 @@ target_link_libraries(${PROJECT_NAME}
+                       ${CRYPTO_LIBRARIES})
+ 
+ install(TARGETS ${PROJECT_NAME}
+-	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++	RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
+ )
diff --git a/audio/umurmur/patches/patch-src_client_c b/audio/umurmur/patches/patch-src_client_c
deleted file mode 100644
index b8cdac979..000000000
--- a/audio/umurmur/patches/patch-src_client_c
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: src/client.c
---- src/client.c.orig
-+++ src/client.c
-@@ -200,7 +200,7 @@ void Client_token_free(client_t *client)
- void recheckCodecVersions(client_t *connectingClient)
- {
- 	client_t *client_itr = NULL;
--	int max = 0, version, current_version;
-+	int max = 0, version = 0, current_version = 0;
- 	int users = 0, opus = 0;
- 	message_t *sendmsg;
- 	struct dlist codec_list, *itr, *save;
-@@ -679,7 +679,7 @@ void Client_textmessage(client_t *client, char *text)
- 	sendmsg->payload.textMessage->message = message;
- 	sendmsg->payload.textMessage->n_tree_id = 1;
- 	sendmsg->payload.textMessage->tree_id = tree_id;
--	strcpy(message, text);
-+	strlcpy(message, text, strlen(text) + 1);
- 	Client_send_message(client, sendmsg);
- }
- 
diff --git a/audio/umurmur/patches/patch-src_config_h_in b/audio/umurmur/patches/patch-src_config_h_in
index ee8a9acd8..305736d61 100644
--- a/audio/umurmur/patches/patch-src_config_h_in
+++ b/audio/umurmur/patches/patch-src_config_h_in
@@ -1,9 +1,9 @@
 Index: src/config.h.in
 --- src/config.h.in.orig
 +++ src/config.h.in
-@@ -8,6 +8,6 @@
- 
- #cmakedefine USE_SHAREDMEMORY_API
+@@ -12,6 +12,6 @@
+ #cmakedefine UMURMUR_CODENAME "@UMURMUR_CODENAME@"
+ #cmakedefine SSL_LIBRARY "@SSL_LIBRARY@"
  
 -#define DEFAULT_CONFIG "${CMAKE_INSTALL_FULL_SYSCONFDIR}/umurmur/umurmur.conf"
 +#define DEFAULT_CONFIG "${SYSCONFDIR}/umurmur/umurmur.conf"
diff --git a/audio/umurmur/patches/patch-src_messagehandler_c b/audio/umurmur/patches/patch-src_messagehandler_c
deleted file mode 100644
index 473464356..000000000
--- a/audio/umurmur/patches/patch-src_messagehandler_c
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: src/messagehandler.c
---- src/messagehandler.c.orig
-+++ src/messagehandler.c
-@@ -521,9 +521,9 @@ void Mh_handle_message(client_t *client, message_t *ms
- 			sendmsg->payload.textMessage->n_tree_id = 1;
- 			sendmsg->payload.textMessage->tree_id = tree_id;
- 			if (client->recording)
--				sprintf(message, "User %s started recording", client->username);
-+				snprintf(message, strlen(client->username) + 32, "User %s started recording", client->username);
- 			else
--				sprintf(message, "User %s stopped recording", client->username);
-+				snprintf(message, strlen(client->username) + 32, "User %s stopped recording", client->username);
- 			Client_send_message_except_ver(NULL, sendmsg, ~0x010203);
- 			sendmsg = NULL;
- 		}
diff --git a/audio/umurmur/patches/patch-src_server_c b/audio/umurmur/patches/patch-src_server_c
deleted file mode 100644
index 6a21d5113..000000000
--- a/audio/umurmur/patches/patch-src_server_c
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: src/server.c
---- src/server.c.orig
-+++ src/server.c
-@@ -102,8 +102,8 @@ struct sockaddr_storage** Server_setupAddressesAndPort
- 	v6address->ss_family = AF_INET6;
- 
- #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
--	v4address->ss_len = sizeof(struct sockaddr_storage);
--	v6address->ss_len = sizeof(struct sockaddr_storage);
-+	v4address->ss_len = sizeof(struct sockaddr_in);
-+	v6address->ss_len = sizeof(struct sockaddr_in6);
- #endif
- 
- 	int error = 0;
diff --git a/audio/umurmur/patches/patch-umurmur_conf_example b/audio/umurmur/patches/patch-umurmur_conf_example
index e54b959e6..154bd7338 100644
--- a/audio/umurmur/patches/patch-umurmur_conf_example
+++ b/audio/umurmur/patches/patch-umurmur_conf_example
@@ -4,10 +4,10 @@ Index: umurmur.conf.example
 @@ -1,7 +1,7 @@
  max_bandwidth = 48000;
  welcometext = "Welcome to uMurmur!";
--certificate = "/etc/umurmur/cert.crt";
--private_key = "/etc/umurmur/key.key";
-+certificate = "${SYSCONFDIR}/umurmur/certificate.crt";
-+private_key = "${SYSCONFDIR}/umurmur/private_key.key";
+-certificate = "/etc/umurmur/certificate.crt";
+-private_key = "/etc/umurmur/private_key.key";
++certificate = "${SYSCONFDIR}/umurmur/certificate.crt"
++certificate = "${SYSCONFDIR}/umurmur/private_key.key"
  password = "";
  # admin_password = "test";   # Set to enable admin functionality.
  # ban_length = 0;            # Length in seconds for a ban. Default is 0. 0 = forever.
diff --git a/audio/umurmur/pkg/umurmurd.rc b/audio/umurmur/pkg/umurmurd.rc
index 5e36e9b7d..f77bc746d 100644
--- a/audio/umurmur/pkg/umurmurd.rc
+++ b/audio/umurmur/pkg/umurmurd.rc
@@ -4,6 +4,10 @@ daemon="${TRUEPREFIX}/sbin/umurmurd"
 
 . /etc/rc.d/rc.subr
 
+rc_configtest() {
+	rc_exec "${daemon} -t ${daemon_flags}"
+}
+
 rc_reload=NO
 
 rc_cmd $1