From d007eb1099dc151de4104f52c5e85c4bbcd4b908 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Mon, 21 Jan 2019 18:09:45 +0100 Subject: [PATCH] icecast, new recipe (#3479) --- net-misc/icecast/icecast-2.4.4.recipe | 89 +++++++++++++++++++ .../patches/icecast-2.4.4-gcc2.patchset | 49 ++++++++++ .../icecast/patches/icecast-2.4.4.patchset | 22 +++++ 3 files changed, 160 insertions(+) create mode 100644 net-misc/icecast/icecast-2.4.4.recipe create mode 100644 net-misc/icecast/patches/icecast-2.4.4-gcc2.patchset create mode 100644 net-misc/icecast/patches/icecast-2.4.4.patchset diff --git a/net-misc/icecast/icecast-2.4.4.recipe b/net-misc/icecast/icecast-2.4.4.recipe new file mode 100644 index 000000000..ca8d22ef1 --- /dev/null +++ b/net-misc/icecast/icecast-2.4.4.recipe @@ -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 +} diff --git a/net-misc/icecast/patches/icecast-2.4.4-gcc2.patchset b/net-misc/icecast/patches/icecast-2.4.4-gcc2.patchset new file mode 100644 index 000000000..53b551989 --- /dev/null +++ b/net-misc/icecast/patches/icecast-2.4.4-gcc2.patchset @@ -0,0 +1,49 @@ +From 6d40c726148f69837b5a599dc54f9cdc7f13c1e3 Mon Sep 17 00:00:00 2001 +From: begasus +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 + diff --git a/net-misc/icecast/patches/icecast-2.4.4.patchset b/net-misc/icecast/patches/icecast-2.4.4.patchset new file mode 100644 index 000000000..c9c99496c --- /dev/null +++ b/net-misc/icecast/patches/icecast-2.4.4.patchset @@ -0,0 +1,22 @@ +From 2f182b416478c3a52e6d6e45068c7b2b05b06f42 Mon Sep 17 00:00:00 2001 +From: begasus +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 +