icecast, new recipe (#3479)

This commit is contained in:
Schrijvers Luc
2019-01-21 18:09:45 +01:00
committed by GitHub
parent 8052d839bd
commit d007eb1099
3 changed files with 160 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
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="http://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="49b5979f9f614140b6a38046154203ee28218d8fc549888596a683ad604e4d44"
PATCHES="icecast-$portVersion.patchset"
if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then
PATCHES+="
icecast-$portVersion-gcc2.patchset"
fi
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
GLOBAL_WRITABLE_FILES="settings/icecast.xml keep-old"
PROVIDES="
icecast$secondaryArchSuffix = $portVersion
cmd:icecast$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libnghttp2$secondaryArchSuffix
lib:libogg$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:libcurl$secondaryArchSuffix
devel:libnghttp2$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libspeex$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
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
"
defineDebugInfoPackage icecast$secondaryArchSuffix \
$binDir/icecast
BUILD()
{
export LIBS="-lnetwork"
echo "AC_CONFIG_MACRO_DIRS([m4])" >> configure.in
autoreconf -vfi
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -0,0 +1,49 @@
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

@@ -0,0 +1,22 @@
From 2f182b416478c3a52e6d6e45068c7b2b05b06f42 Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
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;
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);
--
2.19.1