diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/icecast | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-misc/icecast')
-rw-r--r-- | net-misc/icecast/Manifest | 1 | ||||
-rw-r--r-- | net-misc/icecast/files/icecast-2.3.3-fix-xiph_openssl.patch | 13 | ||||
-rw-r--r-- | net-misc/icecast/files/icecast-2.3.3-libkate.patch | 28 | ||||
-rw-r--r-- | net-misc/icecast/files/icecast.logrotate | 8 | ||||
-rw-r--r-- | net-misc/icecast/files/icecast.service | 9 | ||||
-rw-r--r-- | net-misc/icecast/files/icecast.xml | 180 | ||||
-rw-r--r-- | net-misc/icecast/files/init.d.icecast-2 | 20 | ||||
-rw-r--r-- | net-misc/icecast/icecast-2.4.2.ebuild | 83 | ||||
-rw-r--r-- | net-misc/icecast/metadata.xml | 13 |
9 files changed, 355 insertions, 0 deletions
diff --git a/net-misc/icecast/Manifest b/net-misc/icecast/Manifest new file mode 100644 index 000000000000..559ddcd2139d --- /dev/null +++ b/net-misc/icecast/Manifest @@ -0,0 +1 @@ +DIST icecast-2.4.2.tar.gz 2388381 SHA256 aa1ae2fa364454ccec61a9247949d19959cb0ce1b044a79151bf8657fd673f4f SHA512 6fc5a54b97f1efd63f0d3ea17fc7124cb30cfafae70615f5afdf878df9e3f57ca7882757a0691329d63ee4fc7555c695fefa415f2deb955d01244afc4528a260 WHIRLPOOL bbc369f1a5b35aec364a42aab28e92499fc0cb3a5fcef469899c77d801cd2123637328227d206c2bf9427a2c8c958036d706f61507677e240b6ef8e3546cb037 diff --git a/net-misc/icecast/files/icecast-2.3.3-fix-xiph_openssl.patch b/net-misc/icecast/files/icecast-2.3.3-fix-xiph_openssl.patch new file mode 100644 index 000000000000..7db5be1500de --- /dev/null +++ b/net-misc/icecast/files/icecast-2.3.3-fix-xiph_openssl.patch @@ -0,0 +1,13 @@ +Index: icecast-2.3.3/m4/xiph_openssl.m4 +=================================================================== +--- icecast-2.3.3.orig/m4/xiph_openssl.m4 ++++ icecast-2.3.3/m4/xiph_openssl.m4 +@@ -10,7 +10,7 @@ AC_ARG_WITH(openssl, + AC_HELP_STRING([--with-openssl=PFX],[Prefix where openssl is installed (optional)]), + openssl_prefix="$withval", openssl_prefix="") + +-if test "x$openssl_prefix" != "x" -a "x$openssl_prefix" != "xyes"; then ++if test "x$openssl_prefix" != "x" -a "x$openssl_prefix" != "xyes" -a "x$openssl_prefix" != "xno"; then + OPENSSL_LIBS="-L$openssl_prefix/lib -lssl" + OPENSSL_CFLAGS="-I$openssl_prefix/include" + else diff --git a/net-misc/icecast/files/icecast-2.3.3-libkate.patch b/net-misc/icecast/files/icecast-2.3.3-libkate.patch new file mode 100644 index 000000000000..32cbd78ed964 --- /dev/null +++ b/net-misc/icecast/files/icecast-2.3.3-libkate.patch @@ -0,0 +1,28 @@ +Index: icecast-2.3.3/configure.in +=================================================================== +--- icecast-2.3.3.orig/configure.in ++++ icecast-2.3.3/configure.in +@@ -81,14 +81,18 @@ XIPH_PATH_SPEEX( + [ AC_MSG_WARN([Speex support disabled!]) + ]) + +-AC_CHECK_LIB(kate, kate_decode_init,[have_kate=yes],[have_kate=no], -logg) +-if test "x$have_kate" == "xyes" ++AC_ARG_ENABLE([kate], AS_HELP_STRING([--disable-kate], [Disable karaoke and text encapsulation support for ogg])) ++if test "x$enable_kate" != "xno" + then +- AC_CHECK_LIB(oggkate, kate_ogg_decode_headerin,[have_kate=yes],[have_kate=no],-lkate -logg) ++ AC_CHECK_LIB(kate, kate_decode_init,[have_kate=yes],[have_kate=no], -logg) + if test "x$have_kate" == "xyes" + then +- KATE_LIBS="-loggkate -lkate -logg" +- AC_DEFINE([HAVE_KATE],[1],[Define if you have libkate]) ++ AC_CHECK_LIB(oggkate, kate_ogg_decode_headerin,[have_kate=yes],[have_kate=no],-lkate -logg) ++ if test "x$have_kate" == "xyes" ++ then ++ KATE_LIBS="-loggkate -lkate -logg" ++ AC_DEFINE([HAVE_KATE],[1],[Define if you have libkate]) ++ fi + fi + fi + dnl we still use format_kate as it doesn't need libkate to work diff --git a/net-misc/icecast/files/icecast.logrotate b/net-misc/icecast/files/icecast.logrotate new file mode 100644 index 000000000000..4e7aafb8edcb --- /dev/null +++ b/net-misc/icecast/files/icecast.logrotate @@ -0,0 +1,8 @@ +/var/log/icecast/*log { + missingok + notifempty + sharedscripts + postrotate + /etc/init.d/icecast reload > /dev/null 2>&1 || true + endscript +} diff --git a/net-misc/icecast/files/icecast.service b/net-misc/icecast/files/icecast.service new file mode 100644 index 000000000000..badb65e5d93c --- /dev/null +++ b/net-misc/icecast/files/icecast.service @@ -0,0 +1,9 @@ +[Unit] +Description=An opensource alternative to shoutcast +After=network.target + +[Service] +ExecStart=/usr/bin/icecast -c /etc/icecast2/icecast.xml + +[Install] +WantedBy=multi-user.target diff --git a/net-misc/icecast/files/icecast.xml b/net-misc/icecast/files/icecast.xml new file mode 100644 index 000000000000..3415885deba4 --- /dev/null +++ b/net-misc/icecast/files/icecast.xml @@ -0,0 +1,180 @@ +<icecast> + <limits> + <clients>100</clients> + <sources>2</sources> + <queue-size>524288</queue-size> + <client-timeout>30</client-timeout> + <header-timeout>15</header-timeout> + <source-timeout>10</source-timeout> + <!-- If enabled, this will provide a burst of data when a client + first connects, thereby significantly reducing the startup + time for listeners that do substantial buffering. However, + it also significantly increases latency between the source + client and listening client. For low-latency setups, you + might want to disable this. --> + <burst-on-connect>1</burst-on-connect> + <!-- same as burst-on-connect, but this allows for being more + specific on how much to burst. Most people won't need to + change from the default 64k. Applies to all mountpoints --> + <burst-size>65535</burst-size> + </limits> + + <authentication> + <!-- Sources log in with username 'source' --> + <source-password>hackme</source-password> + <!-- Relays log in username 'relay' --> + <relay-password>hackme</relay-password> + + <!-- Admin logs in with the username given below --> + <admin-user>admin</admin-user> + <admin-password>hackme</admin-password> + </authentication> + + <!-- Uncomment this if you want directory listings --> + <!-- + <directory> + <yp-url-timeout>15</yp-url-timeout> + <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> + </directory> + <directory> + <yp-url-timeout>15</yp-url-timeout> + <yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url> + </directory> + --> + + <!-- This is the hostname other people will use to connect to your server. + It affects mainly the urls generated by Icecast for playlists and yp + listings. --> + <hostname>localhost</hostname> + + <!-- You can use these two if you only want a single listener --> + <!--<port>8000</port> --> + <!--<bind-address>127.0.0.1</bind-address>--> + + <!-- You may have multiple <listener> elements --> + <listen-socket> + <port>8000</port> + <!-- <bind-address>127.0.0.1</bind-address> --> + </listen-socket> + <!-- + <listen-socket> + <port>8001</port> + </listen-socket> + --> + + <!--<master-server>127.0.0.1</master-server>--> + <!--<master-server-port>8001</master-server-port>--> + <!--<master-update-interval>120</master-update-interval>--> + <!--<master-password>hackme</master-password>--> + + <!-- setting this makes all relays on-demand unless overridden, this is + useful for master relays which do not have <relay> definitions here. + The default is 0 --> + <!--<relays-on-demand>1</relays-on-demand>--> + + <!-- + <relay> + <server>127.0.0.1</server> + <port>8001</port> + <mount>/example.ogg</mount> + <local-mount>/different.ogg</local-mount> + <on-demand>0</on-demand> + + <relay-shoutcast-metadata>0</relay-shoutcast-metadata> + </relay> + --> + + <!-- Only define a <mount> section if you want to use advanced options, + like alternative usernames or passwords --> + <!-- + <mount> + <mount-name>/example-complex.ogg</mount-name> + + <username>othersource</username> + <password>hackmemore</password> + + <max-listeners>1</max-listeners> + <dump-file>/tmp/dump-example1.ogg</dump-file> + <burst-size>65536</burst-size> + <fallback-mount>/example2.ogg</fallback-mount> + <fallback-override>1</fallback-override> + <fallback-when-full>1</fallback-when-full> + <intro>/example_intro.ogg</intro> + <hidden>1</hidden> + <no-yp>1</no-yp> + <authentication type="htpasswd"> + <option name="filename" value="myauth"/> + <option name="allow_duplicate_users" value="0"/> + </authentication> + <on-connect>/home/icecast/bin/stream-start</on-connect> + <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> + </mount> + + <mount> + <mount-name>/auth_example.ogg</mount-name> + <authentication type="url"> + <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> + <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> + <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> + <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> + </authentication> + </mount> + + --> + + <fileserve>1</fileserve> + + <!-- set the mountpoint for a shoutcast source to use, the default if not + specified is /stream but you can change it here if an alternative is + wanted or an extension is required --> + <!-- + <shoutcast-mount>/live.nsv</shoutcast-mount> + --> + + <paths> + <!-- basedir is only used if chroot is enabled --> + <basedir>/usr/share/icecast</basedir> + + <!-- Note that if <chroot> is turned on below, these paths must both + be relative to the new root, not the original root --> + <logdir>/var/log/icecast</logdir> + <webroot>/usr/share/icecast/web</webroot> + <adminroot>/usr/share/icecast/admin</adminroot> + <!-- <pidfile>/usr/share/icecast/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" + and "bind-address" attributes. + --> + <!-- + <alias source="/foo" dest="/bar"/> + --> + <!-- Aliases: can also be used for simple redirections as well, + this example will redirect all requests for http://server:port/ to + the status page + --> + <alias source="/" dest="/status.xsl"/> + </paths> + + <logging> + <accesslog>access.log</accesslog> + <errorlog>error.log</errorlog> + <!-- <playlistlog>playlist.log</playlistlog> --> + <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> + <logsize>10000</logsize> <!-- Max size of a logfile --> + <!-- If logarchive is enabled (1), then when logsize is reached + the logfile will be moved to [error|access|playlist].log.DATESTAMP, + otherwise it will be moved to [error|access|playlist].log.old. + Default is non-archive mode (i.e. overwrite) + --> + <!-- <logarchive>1</logarchive> --> + </logging> + + <security> + <chroot>0</chroot> + <changeowner> + <user>icecast</user> + <group>nogroup</group> + </changeowner> + </security> +</icecast> diff --git a/net-misc/icecast/files/init.d.icecast-2 b/net-misc/icecast/files/init.d.icecast-2 new file mode 100644 index 000000000000..bde5877c62b6 --- /dev/null +++ b/net-misc/icecast/files/init.d.icecast-2 @@ -0,0 +1,20 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_started_commands="reload" + +pidfile="/var/run/icecast.pid" +command="/usr/bin/icecast" +command_args="-c /etc/icecast2/icecast.xml" +command_background="true" + +depend() { + need net +} + +reload() { + ebegin "Reloading Icecast2 configuration" + start-stop-daemon --signal HUP --pidfile ${pidfile} + eend $? +} diff --git a/net-misc/icecast/icecast-2.4.2.ebuild b/net-misc/icecast/icecast-2.4.2.ebuild new file mode 100644 index 000000000000..31271f707df7 --- /dev/null +++ b/net-misc/icecast/icecast-2.4.2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils autotools systemd user + +DESCRIPTION="An opensource alternative to shoutcast that supports mp3, ogg (vorbis/theora) and aac streaming" +HOMEPAGE="http://www.icecast.org/" +SRC_URI="http://downloads.xiph.org/releases/icecast/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd" +IUSE="kate logrotate +speex +ssl +theora +yp" + +#Although there is a --with-ogg and --with-orbis configure option, they're +#only useful for specifying paths, not for disabling. +DEPEND="dev-libs/libxslt + dev-libs/libxml2 + media-libs/libogg + media-libs/libvorbis + kate? ( media-libs/libkate ) + logrotate? ( app-admin/logrotate ) + speex? ( media-libs/speex ) + theora? ( media-libs/libtheora ) + yp? ( net-misc/curl ) + ssl? ( dev-libs/openssl:0= )" +RDEPEND="${DEPEND}" + +pkg_setup() { + enewuser icecast -1 -1 -1 nogroup +} + +src_prepare() { + # bug #368539 + epatch "${FILESDIR}"/${PN}-2.3.3-libkate.patch + # bug #430434 + epatch "${FILESDIR}"/${PN}-2.3.3-fix-xiph_openssl.patch + eautoreconf +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --docdir=/usr/share/doc/${PF} \ + --sysconfdir=/etc/icecast2 \ + $(use_enable kate) \ + $(use_with theora) \ + $(use_with speex) \ + $(use_with yp curl) \ + $(use_with ssl openssl) \ + $(use_enable yp) +} + +src_install() { + emake DESTDIR="${D}" install + dodoc AUTHORS README TODO HACKING NEWS conf/icecast.xml.dist + dohtml -A chm,hhc,hhp doc/* + + newinitd "${FILESDIR}"/init.d.icecast-2 icecast + systemd_dounit "${FILESDIR}"/${PN}.service + + insinto /etc/icecast2 + doins "${FILESDIR}"/icecast.xml + fperms 600 /etc/icecast2/icecast.xml + + if use logrotate; then + dodir /etc/logrotate.d + insopts -m0644 + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + fi + diropts -m0764 -o icecast -g nogroup + dodir /var/log/icecast + keepdir /var/log/icecast + rm -rf "${D}"/usr/share/doc/icecast +} + +pkg_postinst() { + touch "${ROOT}"var/log/icecast/{access,error}.log + chown icecast:nogroup "${ROOT}"var/log/icecast/{access,error}.log +} diff --git a/net-misc/icecast/metadata.xml b/net-misc/icecast/metadata.xml new file mode 100644 index 000000000000..0d2c237afa84 --- /dev/null +++ b/net-misc/icecast/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>polynomial-c@gentoo.org</email> + <name>Lars Wendler</name> + </maintainer> + <use> + <flag name="kate">Add karaoke and text encapsulation support for Ogg files</flag> + <flag name="logrotate">Install support files for <pkg>app-admin/logrotate</pkg>?</flag> + <flag name="yp">Build support for yp public directory listings</flag> + </use> +</pkgmetadata> |