Download raw body.
[update] icecast-2.5.0 (+ new dep libigloo)
Here's a diff on top of -current for an long-awaited update. It
requires a new port, libigloo, that ships code common to various
icecast projets. libigloo has one test broken but AFAIK it shouldn't
be an issue. ok to import libigloo?
If you use icecast, please test and report (oks also welcome,
obviously).
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/icecast/Makefile,v
diff -u -p -r1.75 Makefile
--- Makefile 29 Jun 2026 17:52:14 -0000 1.75
+++ Makefile 29 Jun 2026 17:55:10 -0000
@@ -1,32 +1,30 @@
COMMENT= server for streaming various media formats
CATEGORIES= net audio
-DISTNAME= icecast-2.4.4
-REVISION= 5
+DISTNAME= icecast-2.5.0
HOMEPAGE= https://icecast.org/
# GPL
PERMIT_PACKAGE= Yes
-WANTLIB = c crypto curl>=2 iconv intl lzma m nghttp2 nghttp3 ngtcp2
-WANTLIB += ngtcp2_crypto_libressl ogg pthread speex>=3 ssl theora>=1
-WANTLIB += vorbis>=3 xml2 xslt>=3 z
+WANTLIB += c crypto curl>=2 iconv igloo m nghttp2 nghttp3 ngtcp2
+WANTLIB += ngtcp2_crypto_libressl ogg pthread rhash speex>=3 ssl
+WANTLIB += theora>=1 vorbis>=3 xml2 xslt>=3 z
SITES= https://downloads.xiph.org/releases/icecast/
-
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS+= --with-theora=${LOCALBASE}
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
-LIB_DEPENDS = archivers/xz \
- audio/libvorbis \
+LIB_DEPENDS = audio/libvorbis \
audio/speex \
- devel/gettext,-runtime \
+ devel/libigloo \
multimedia/libtheora \
net/curl \
+ security/rhash \
textproc/libxslt
SEPARATE_BUILD= Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/icecast/distinfo,v
diff -u -p -r1.17 distinfo
--- distinfo 20 Nov 2018 17:32:36 -0000 1.17
+++ distinfo 29 Jun 2026 17:55:10 -0000
@@ -1,2 +1,2 @@
-SHA256 (icecast-2.4.4.tar.gz) = SbWXn59hQUC2o4BGFUID7ighjY/FSYiFlqaDrWBOTUQ=
-SIZE (icecast-2.4.4.tar.gz) = 2360592
+SHA256 (icecast-2.5.0.tar.gz) = 2aoHx0Ka7BnZUP9v1CXDcfdxWM00/yIPwZGywYbGfHo=
+SIZE (icecast-2.5.0.tar.gz) = 1605985
Index: patches/patch-Makefile_in
===================================================================
RCS file: patches/patch-Makefile_in
diff -N patches/patch-Makefile_in
--- patches/patch-Makefile_in 11 Mar 2022 19:46:05 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: Makefile.in
---- Makefile.in.orig
-+++ Makefile.in
-@@ -404,7 +404,7 @@ EXTRA_DIST = HACKING m4/acx_pthread.m4 m4/ogg.m4 \
- m4/xiph_compiler.m4 m4/xiph_curl.m4 m4/xiph_net.m4 \
- m4/xiph_types.m4 m4/xiph_xml2.m4
-
--doc_DATA = README AUTHORS COPYING NEWS TODO ChangeLog
-+doc_DATA = AUTHORS NEWS
- all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
Index: patches/patch-conf_Makefile_in
===================================================================
RCS file: /cvs/ports/net/icecast/patches/patch-conf_Makefile_in,v
diff -u -p -r1.10 patch-conf_Makefile_in
--- patches/patch-conf_Makefile_in 11 Mar 2022 19:46:05 -0000 1.10
+++ patches/patch-conf_Makefile_in 29 Jun 2026 17:55:10 -0000
@@ -1,7 +1,7 @@
Index: conf/Makefile.in
--- conf/Makefile.in.orig
+++ conf/Makefile.in
-@@ -281,7 +281,7 @@ build_vendor = @build_vendor@
+@@ -282,7 +282,7 @@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
@@ -10,7 +10,7 @@ Index: conf/Makefile.in
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
-@@ -480,7 +480,6 @@ info-am:
+@@ -479,7 +479,6 @@ info-am:
install-data-am: install-docDATA
@$(NORMAL_INSTALL)
Index: patches/patch-conf_icecast_minimal_xml_in
===================================================================
RCS file: /cvs/ports/net/icecast/patches/patch-conf_icecast_minimal_xml_in,v
diff -u -p -r1.4 patch-conf_icecast_minimal_xml_in
--- patches/patch-conf_icecast_minimal_xml_in 11 Mar 2022 19:46:05 -0000 1.4
+++ patches/patch-conf_icecast_minimal_xml_in 29 Jun 2026 17:55:10 -0000
@@ -1,8 +1,9 @@
---- conf/icecast_minimal.xml.in.orig Mon Nov 10 00:17:57 2014
-+++ conf/icecast_minimal.xml.in Sun Jan 4 17:06:40 2015
+Index: conf/icecast_minimal.xml.in
+--- conf/icecast_minimal.xml.in.orig
++++ conf/icecast_minimal.xml.in
@@ -23,9 +23,10 @@
+ <port>8000</port>
</listen-socket>
- <fileserve>1</fileserve>
<paths>
- <logdir>@localstatedir@/log/@PACKAGE@</logdir>
- <webroot>@pkgdatadir@/web</webroot>
@@ -16,15 +17,15 @@
<logging>
@@ -33,6 +34,13 @@
<errorlog>error.log</errorlog>
- <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
+ <loglevel>information</loglevel> <!-- "debug", "information", "warning", or "error" -->
</logging>
+ <security>
-+ <chroot>1</chroot>
++ <chroot>true</chroot>
+ <changeowner>
+ <user>_icecast</user>
+ <group>_icecast</group>
+ </changeowner>
+ </security>
<http-headers>
- <header name="Access-Control-Allow-Origin" value="*" />
- </http-headers>
+ <header type="cors" name="Access-Control-Allow-Origin" />
+ <header type="cors" name="Access-Control-Allow-Headers" />
Index: patches/patch-conf_icecast_xml_in
===================================================================
RCS file: /cvs/ports/net/icecast/patches/patch-conf_icecast_xml_in,v
diff -u -p -r1.10 patch-conf_icecast_xml_in
--- patches/patch-conf_icecast_xml_in 11 Mar 2022 19:46:05 -0000 1.10
+++ patches/patch-conf_icecast_xml_in 29 Jun 2026 17:55:10 -0000
@@ -1,7 +1,7 @@
Index: conf/icecast.xml.in
--- conf/icecast.xml.in.orig
+++ conf/icecast.xml.in
-@@ -66,7 +66,7 @@
+@@ -68,7 +68,7 @@
<!-- You may have multiple <listen-socket> elements -->
<listen-socket>
<port>8000</port>
@@ -10,33 +10,31 @@ Index: conf/icecast.xml.in
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>
<!--
-@@ -191,14 +191,14 @@
+@@ -258,13 +258,13 @@
<paths>
<!-- basedir is only used if chroot is enabled -->
- <basedir>@pkgdatadir@</basedir>
+ <basedir>/var/icecast</basedir>
- <!-- Note that if <chroot> is turned on below, these paths must both
+ <!-- Note that if <chroot> is turned on below, these paths must all
be relative to the new root, not the original root -->
- <logdir>@localstatedir@/log/@PACKAGE@</logdir>
- <webroot>@pkgdatadir@/web</webroot>
- <adminroot>@pkgdatadir@/admin</adminroot>
-- <!-- <pidfile>@pkgdatadir@/icecast.pid</pidfile> -->
+ <logdir>/log</logdir>
+ <webroot>/web</webroot>
+ <adminroot>/admin</adminroot>
-+ <!-- <pidfile>@localstatedir@/run/icecast.pid</pidfile> -->
+ <reportxmldb>@pkgdatadir@/report-db.xml</reportxmldb>
+ <!-- <pidfile>@pkgdatadir@/icecast.pid</pidfile> -->
- <!-- Aliases: treat requests for 'source' path as being for 'dest' path
- May be made specific to a port or bound address using the "port"
-@@ -233,12 +233,10 @@
+@@ -297,13 +297,11 @@
</logging>
<security>
-- <chroot>0</chroot>
+- <chroot>false</chroot>
- <!--
-+ <chroot>1</chroot>
++ <chroot>true</chroot>
<changeowner>
- <user>nobody</user>
- <group>nogroup</group>
@@ -44,5 +42,14 @@ Index: conf/icecast.xml.in
+ <group>_icecast</group>
</changeowner>
- -->
- </security>
- </icecast>
+
+ <tls-context>
+ <!-- The certificate file containng public and optionally private key.
+@@ -331,6 +329,7 @@
+ The linux profile includes the bsd profile but adds linux specific interfaces (such as /proc).
+ <prng-seed type="profile">linux</prng-seed>
+ -->
++ <prng-seed type="profile">bsd</prng-seed>
+ <!-- If your OS provides a urandom style device and there is no profile for your OS you can
+ provide a custom device name.
+ The size parameter defines how many bytes are read per (re)seeding. The optimal setting
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- patches/patch-configure 11 Mar 2022 19:46:05 -0000 1.15
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-Index: configure
---- configure.orig
-+++ configure
-@@ -14634,7 +14634,7 @@ fi
-
-
- if test "x$openssl_prefix" != "x" -a "x$openssl_prefix" != "xyes"; then
-- OPENSSL_LIBS="-L$openssl_prefix/lib -lssl"
-+ OPENSSL_LIBS="-L$openssl_prefix/lib -lssl -lcrypto"
- OPENSSL_CFLAGS="-I$openssl_prefix/include"
- else
- # Extract the first word of "pkg-config", so it can be a program name with args.
-@@ -14687,7 +14687,7 @@ fi
- else
- openssl_prefix="$prefix"
- fi
-- OPENSSL_LIBS="-L$openssl_prefix/lib -lssl"
-+ OPENSSL_LIBS="-L$openssl_prefix/lib -lssl -lcrypto"
- OPENSSL_CFLAGS="-I$openssl_prefix/include"
- fi
- fi
Index: patches/patch-doc_Makefile_in
===================================================================
RCS file: patches/patch-doc_Makefile_in
diff -N patches/patch-doc_Makefile_in
--- patches/patch-doc_Makefile_in 11 Mar 2022 19:46:05 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: doc/Makefile.in
---- doc/Makefile.in.orig
-+++ doc/Makefile.in
-@@ -341,7 +341,7 @@ build_vendor = @build_vendor@
- builddir = @builddir@
- datadir = @datadir@
- datarootdir = @datarootdir@
--docdir = $(datadir)/doc/icecast
-+docdir = $(datadir)/doc/@PACKAGE@
- dvidir = @dvidir@
- exec_prefix = @exec_prefix@
- host = @host@
Index: patches/patch-src_md5_c
===================================================================
RCS file: patches/patch-src_md5_c
diff -N patches/patch-src_md5_c
--- patches/patch-src_md5_c 11 Mar 2022 19:46:05 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Fix memset size param.
-
-Index: src/md5.c
---- src/md5.c.orig
-+++ src/md5.c
-@@ -174,7 +174,7 @@ void MD5Final(unsigned char digest[HASH_LEN], struct M
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- byteReverse((unsigned char *) ctx->buf, 4);
- memcpy(digest, ctx->buf, HASH_LEN);
-- memset(ctx, 0, sizeof(ctx));
-+ memset(ctx, 0, sizeof(*ctx));
- /* In case it's sensitive */
- }
-
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/icecast/pkg/PLIST,v
diff -u -p -r1.17 PLIST
--- pkg/PLIST 8 Nov 2022 11:14:56 -0000 1.17
+++ pkg/PLIST 29 Jun 2026 17:55:10 -0000
@@ -4,44 +4,44 @@
@bin bin/icecast
share/doc/icecast/
share/doc/icecast/AUTHORS
+share/doc/icecast/COPYING
+share/doc/icecast/ChangeLog
share/doc/icecast/NEWS
-share/doc/icecast/admin-interface.html
-share/doc/icecast/assets/
-share/doc/icecast/assets/css/
-share/doc/icecast/assets/css/style.css
-share/doc/icecast/assets/font/
-share/doc/icecast/assets/font/FiraMono-Bold.eot
-share/doc/icecast/assets/font/FiraMono-Bold.woff
-share/doc/icecast/assets/font/FiraMono-Regular.eot
-share/doc/icecast/assets/font/FiraMono-Regular.woff
-share/doc/icecast/assets/font/FiraSans-Bold.eot
-share/doc/icecast/assets/font/FiraSans-Bold.woff
-share/doc/icecast/assets/font/FiraSans-BoldItalic.eot
-share/doc/icecast/assets/font/FiraSans-BoldItalic.woff
-share/doc/icecast/assets/font/FiraSans-Italic.eot
-share/doc/icecast/assets/font/FiraSans-Italic.woff
-share/doc/icecast/assets/font/FiraSans-Regular.eot
-share/doc/icecast/assets/font/FiraSans-Regular.woff
-share/doc/icecast/assets/img/
-share/doc/icecast/assets/img/xiph-community.svg
-share/doc/icecast/auth.html
-share/doc/icecast/basic-setup.html
-share/doc/icecast/changes.html
-share/doc/icecast/config-file.html
-share/doc/icecast/faq.html
-share/doc/icecast/glossary.html
+share/doc/icecast/README.md
+share/doc/icecast/admin_interface/
+share/doc/icecast/admin_interface/index.html
+share/doc/icecast/auth/
+share/doc/icecast/auth/index.html
+share/doc/icecast/basic_setup/
+share/doc/icecast/basic_setup/index.html
+share/doc/icecast/config_file/
+share/doc/icecast/config_file/index.html
+share/doc/icecast/css/
+share/doc/icecast/css/highlight.css
+share/doc/icecast/css/theme.css
+share/doc/icecast/css/theme_extra.css
+share/doc/icecast/fonts/
+share/doc/icecast/fonts/fontawesome-webfont.eot
+share/doc/icecast/fonts/fontawesome-webfont.svg
+share/doc/icecast/fonts/fontawesome-webfont.ttf
+share/doc/icecast/fonts/fontawesome-webfont.woff
share/doc/icecast/img/
-share/doc/icecast/img/listener_auth1.png
-share/doc/icecast/img/listener_auth2.png
-share/doc/icecast/img/listener_auth3.png
-share/doc/icecast/img/masterslave.png
-share/doc/icecast/img/relay.png
+share/doc/icecast/img/Icecast_shema.svg
+share/doc/icecast/img/favicon.ico
share/doc/icecast/index.html
-share/doc/icecast/introduction.html
-share/doc/icecast/relaying.html
-share/doc/icecast/server-stats.html
-share/doc/icecast/win32.html
-share/doc/icecast/yp.html
+share/doc/icecast/js/
+share/doc/icecast/js/highlight.pack.js
+share/doc/icecast/js/jquery-2.1.1.min.js
+share/doc/icecast/js/modernizr-2.8.3.min.js
+share/doc/icecast/js/theme.js
+share/doc/icecast/relaying/
+share/doc/icecast/relaying/index.html
+share/doc/icecast/server_stats/
+share/doc/icecast/server_stats/index.html
+share/doc/icecast/win32/
+share/doc/icecast/win32/index.html
+share/doc/icecast/yp/
+share/doc/icecast/yp/index.html
share/doc/pkg-readmes/${PKGSTEM}
share/examples/icecast/
@owner _icecast
@@ -49,8 +49,40 @@ share/examples/icecast/
@sample /var/icecast/
@sample /var/icecast/admin/
share/examples/icecast/admin/
+share/examples/icecast/admin/dashboard.xsl
+@sample /var/icecast/admin/dashboard.xsl
+share/examples/icecast/admin/error-html.xsl
+@sample /var/icecast/admin/error-html.xsl
+share/examples/icecast/admin/error-plaintext.xsl
+@sample /var/icecast/admin/error-plaintext.xsl
+share/examples/icecast/admin/fallbacks.xsl
+@sample /var/icecast/admin/fallbacks.xsl
+share/examples/icecast/admin/includes/
+@sample /var/icecast/admin/includes/
+share/examples/icecast/admin/includes/authlist.xsl
+@sample /var/icecast/admin/includes/authlist.xsl
+share/examples/icecast/admin/includes/confirm.xsl
+@sample /var/icecast/admin/includes/confirm.xsl
+share/examples/icecast/admin/includes/footer.xsl
+@sample /var/icecast/admin/includes/footer.xsl
+share/examples/icecast/admin/includes/head.xsl
+@sample /var/icecast/admin/includes/head.xsl
+share/examples/icecast/admin/includes/header.xsl
+@sample /var/icecast/admin/includes/header.xsl
+share/examples/icecast/admin/includes/mountnav.xsl
+@sample /var/icecast/admin/includes/mountnav.xsl
+share/examples/icecast/admin/includes/page.xsl
+@sample /var/icecast/admin/includes/page.xsl
+share/examples/icecast/admin/includes/player.xsl
+@sample /var/icecast/admin/includes/player.xsl
+share/examples/icecast/admin/includes/playlist.xsl
+@sample /var/icecast/admin/includes/playlist.xsl
+share/examples/icecast/admin/includes/web-page.xsl
+@sample /var/icecast/admin/includes/web-page.xsl
share/examples/icecast/admin/listclients.xsl
@sample /var/icecast/admin/listclients.xsl
+share/examples/icecast/admin/listensocketlist.xsl
+@sample /var/icecast/admin/listensocketlist.xsl
share/examples/icecast/admin/listmounts.xsl
@sample /var/icecast/admin/listmounts.xsl
share/examples/icecast/admin/manageauth.xsl
@@ -59,12 +91,26 @@ share/examples/icecast/admin/moveclients
@sample /var/icecast/admin/moveclients.xsl
share/examples/icecast/admin/response.xsl
@sample /var/icecast/admin/response.xsl
+share/examples/icecast/admin/showlog.xsl
+@sample /var/icecast/admin/showlog.xsl
share/examples/icecast/admin/stats.xsl
@sample /var/icecast/admin/stats.xsl
+share/examples/icecast/admin/ui/
+@sample /var/icecast/admin/ui/
+share/examples/icecast/admin/ui/confirmdeleteuser.xsl
+@sample /var/icecast/admin/ui/confirmdeleteuser.xsl
+share/examples/icecast/admin/ui/confirmkillclient.xsl
+@sample /var/icecast/admin/ui/confirmkillclient.xsl
+share/examples/icecast/admin/ui/confirmkilldumpfile.xsl
+@sample /var/icecast/admin/ui/confirmkilldumpfile.xsl
+share/examples/icecast/admin/ui/confirmkillsource.xsl
+@sample /var/icecast/admin/ui/confirmkillsource.xsl
share/examples/icecast/admin/updatemetadata.xsl
@sample /var/icecast/admin/updatemetadata.xsl
share/examples/icecast/admin/vclt.xsl
@sample /var/icecast/admin/vclt.xsl
+share/examples/icecast/admin/version.xsl
+@sample /var/icecast/admin/version.xsl
share/examples/icecast/admin/xspf.xsl
@sample /var/icecast/admin/xspf.xsl
@mode 600
@@ -73,26 +119,35 @@ share/examples/icecast/icecast.xml.dist
@mode
share/examples/icecast/icecast_minimal.xml.dist
share/examples/icecast/icecast_shoutcast_compat.xml.dist
-share/examples/icecast/icecast_urlauth.xml.dist
share/examples/icecast/web/
@sample /var/icecast/web/
+share/examples/icecast/web/assets/
+@sample /var/icecast/web/assets/
+share/examples/icecast/web/assets/css/
+@sample /var/icecast/web/assets/css/
+share/examples/icecast/web/assets/css/style.css
+@sample /var/icecast/web/assets/css/style.css
+share/examples/icecast/web/assets/img/
+@sample /var/icecast/web/assets/img/
+share/examples/icecast/web/assets/img/icecast.png
+@sample /var/icecast/web/assets/img/icecast.png
share/examples/icecast/web/auth.xsl
@sample /var/icecast/web/auth.xsl
-share/examples/icecast/web/icecast.png
-@sample /var/icecast/web/icecast.png
-share/examples/icecast/web/key.png
-@sample /var/icecast/web/key.png
+share/examples/icecast/web/favicon.ico
+@sample /var/icecast/web/favicon.ico
+@owner _icecast
+@group _icecast
share/examples/icecast/web/server_version.xsl
@sample /var/icecast/web/server_version.xsl
share/examples/icecast/web/status-json.xsl
@sample /var/icecast/web/status-json.xsl
share/examples/icecast/web/status.xsl
@sample /var/icecast/web/status.xsl
-share/examples/icecast/web/style.css
-@sample /var/icecast/web/style.css
-share/examples/icecast/web/tunein.png
-@sample /var/icecast/web/tunein.png
@sample /var/icecast/log/
@sample /var/icecast/etc/
share/examples/icecast/web/xml2json.xslt
@sample /var/icecast/web/xml2json.xslt
+@owner
+@group
+share/icecast/
+share/icecast/report-db.xml
--
jca
[update] icecast-2.5.0 (+ new dep libigloo)