icecast, bump to version 2.5.0 (#13864)

This commit is contained in:
Schrijvers Luc
2026-03-27 19:32:09 +01:00
committed by GitHub
parent af148851eb
commit fe9634c141
4 changed files with 122 additions and 167 deletions

View File

@@ -1,87 +0,0 @@
SUMMARY="Free server software for streaming multimedia"
DESCRIPTION="Icecast is a streaming media (audio/video) server which \
currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams. \
It can be used to create an Internet radio station or a privately running \
jukebox and many things in between. It is very versatile in that new formats \
can be added relatively easily and supports open standards for communication \
and interaction."
HOMEPAGE="https://www.icecast.org/"
COPYRIGHT="2001-2018 the Icecast team
Jack Moffitt
Michael Smith
oddsock
Karl Heyes
Philipp Schafft
Thomas B. Ruecker
David Richards"
LICENSE="GNU LGPL v2"
REVISION="6"
SOURCE_URI="http://downloads.xiph.org/releases/icecast/icecast-$portVersion.tar.gz"
CHECKSUM_SHA256="49b5979f9f614140b6a38046154203ee28218d8fc549888596a683ad604e4d44"
PATCHES="icecast-$portVersion.patchset"
if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
PATCHES+="
icecast-$portVersion-gcc2.patchset"
fi
ARCHITECTURES="all"
GLOBAL_WRITABLE_FILES="settings/icecast.xml keep-old"
PROVIDES="
icecast = $portVersion
cmd:icecast = $portVersion
"
REQUIRES="
haiku
lib:libcurl
lib:libnghttp2
lib:libogg
lib:libspeex
lib:libssl
lib:libtheora
lib:libvorbis
lib:libxml2
lib:libxslt
lib:libz
"
BUILD_REQUIRES="
haiku_devel
devel:libcurl
devel:libnghttp2
devel:libogg
devel:libspeex
devel:libssl
devel:libtheora
devel:libvorbis
devel:libxml2
devel:libxslt
devel:libz
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
cmd:pkg_config
"
defineDebugInfoPackage icecast \
$binDir/icecast
BUILD()
{
autoreconf -vfi
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -0,0 +1,99 @@
SUMMARY="Free server software for streaming multimedia"
DESCRIPTION="Icecast is a streaming media (audio/video) server which \
currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams. \
It can be used to create an Internet radio station or a privately running \
jukebox and many things in between. It is very versatile in that new formats \
can be added relatively easily and supports open standards for communication \
and interaction."
HOMEPAGE="https://www.icecast.org/"
COPYRIGHT="2001-2018 the Icecast team
Jack Moffitt
Michael Smith
oddsock
Karl Heyes
Philipp Schafft
Thomas B. Ruecker
David Richards"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="http://downloads.xiph.org/releases/icecast/icecast-$portVersion.tar.gz"
CHECKSUM_SHA256="d9aa07c7429aec19d950ff6fd425c371f77158cd34ff220fc191b2c186c67c7a"
PATCHES="icecast-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
GLOBAL_WRITABLE_FILES="settings/icecast.xml keep-old"
PROVIDES="
icecast$secondaryArchSuffix = $portVersion
cmd:icecast$commandSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libnghttp2$secondaryArchSuffix
lib:libigloo$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:librhash$secondaryArchSuffix
lib:libspeex$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libtheora$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcrypto$secondaryArchSuffix >= 3
devel:libcurl$secondaryArchSuffix
devel:libnghttp2$secondaryArchSuffix
devel:libigloo$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:librhash$secondaryArchSuffix
devel:libspeex$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libtheora$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
autoreconf -fi
runConfigure --omit-dirs binDir ./configure \
--bindir=$commandBinDir
make $jobArgs
}
INSTALL()
{
make install
}
TEST()
{
make VERBOSE=1 check
}

View File

@@ -1,49 +0,0 @@
From 6d40c726148f69837b5a599dc54f9cdc7f13c1e3 Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Tue, 18 Dec 2018 14:43:08 +0100
Subject: gcc2 fixes
diff --git a/src/slave.c b/src/slave.c
index bd9eecc..522f403 100644
--- a/src/slave.c
+++ b/src/slave.c
@@ -669,6 +669,7 @@ static int update_from_master(ice_config_t *config)
if (!strlen(buf))
continue;
ICECAST_LOG_DEBUG("read %d from master \"%s\"", count++, buf);
+ {
xmlURIPtr parsed_uri = xmlParseURI(buf);
if (parsed_uri == NULL) {
ICECAST_LOG_DEBUG("Error while parsing line from master. Ignoring line.");
@@ -700,6 +701,7 @@ static int update_from_master(ice_config_t *config)
new_relays = r;
}
xmlFreeURI(parsed_uri);
+ }
}
sock_close (mastersock);
diff --git a/src/source.c b/src/source.c
index e7bf39f..909440e 100644
--- a/src/source.c
+++ b/src/source.c
@@ -1474,6 +1474,7 @@ void source_recheck_mounts (int update_all)
if (mount->mounttype != MOUNT_TYPE_NORMAL)
continue;
+ {
source_t *source = source_find_mount (mount->mountname);
if (source)
@@ -1509,6 +1510,7 @@ void source_recheck_mounts (int update_all)
strdup (mount->fallback_mount), THREAD_DETACHED);
}
}
+ }
}
avl_tree_unlock (global.source_tree);
config_release_config();
--
2.19.1

View File

@@ -4,19 +4,19 @@ Date: Tue, 18 Dec 2018 14:36:17 +0100
Subject: comment out pthread_attr_setinheritsched
diff --git a/src/thread/thread.c b/src/thread/thread.c
index e842448..ebc786c 100644
--- a/src/thread/thread.c
+++ b/src/thread/thread.c
@@ -294,7 +294,7 @@ thread_type *thread_create_c(char *name, void *(*start_routine)(void *),
start->thread = thread;
diff --git a/src/common/thread/thread.c b/src/common/thread/thread.c
index 6c6db81..5cffdda 100644
--- a/src/common/thread/thread.c
+++ b/src/common/thread/thread.c
@@ -301,7 +301,7 @@ thread_type *thread_create_c(const char *name, void *(*start_routine)(void *),
pthread_attr_setstacksize (&attr, 512*1024);
- pthread_attr_setinheritsched (&attr, PTHREAD_INHERIT_SCHED);
+ // pthread_attr_setinheritsched (&attr, PTHREAD_INHERIT_SCHED);
if (detached)
{
pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
-#ifndef __ANDROID__
+#if !defined(__ANDROID__) && !defined(__HAIKU__)
pthread_attr_setinheritsched (&attr, PTHREAD_INHERIT_SCHED);
#endif
--
2.24.1
@@ -27,28 +27,20 @@ Date: Mon, 23 Dec 2019 09:52:32 +0100
Subject: Move PATCH and libnetwork check to configure.in
diff --git a/configure.in b/configure.in
index a3f5315..070300b 100644
--- a/configure.in
+++ b/configure.in
@@ -6,6 +6,7 @@ dnl Process this file with autoconf to produce a configure script.
diff --git a/configure.ac b/configure.ac
index be6a34a..8ff5a3a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -47,6 +47,9 @@ AM_MAINTAINER_MODE([enable])
LT_INIT
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
+AC_CONFIG_MACRO_DIRS([m4])
AM_MAINTAINER_MODE
AC_PROG_CC
@@ -13,6 +14,9 @@ AC_CANONICAL_HOST
AC_PROG_LIBTOOL
AC_SYS_LARGEFILE
+dnl Add search for Haiku's libnetwork
+AC_CHECK_LIB(network, socket, [LIBS="$LIBS -lnetwork"])
+
dnl Set some options based on environment
dnl Sanitizer flags
DEBUG="-g"
AC_ARG_WITH([sanitizer],
--
2.24.1
@@ -60,18 +52,18 @@ Subject: Disable: don't run as root
diff --git a/src/main.c b/src/main.c
index 4844415..679b58c 100644
index dd7eb7c..76d58f7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -501,7 +501,7 @@ int main(int argc, char **argv)
@@ -755,7 +755,7 @@ int main(int argc, char **argv)
stats_initialize(); /* We have to do this later on because of threading */
fserve_initialize(); /* This too */
-#ifdef HAVE_SETUID
-#ifdef HAVE_SETUID
+#if defined(HAVE_SETUID) && !defined(__HAIKU__)
/* We'll only have getuid() if we also have setuid(), it's reasonable to
* assume */
if(!getuid()) /* Running as root! Don't allow this */
if(!getuid() && getpid() != 1) /* Running as root! Don't allow this */
--
2.24.1