diff options
author | Leonard de Ruijter | 2015-06-02 19:01:35 +0200 |
---|---|---|
committer | Leonard de Ruijter | 2015-06-09 08:43:13 +0200 |
commit | 45424e156f561eb3fdee22a81d07a02efb934d73 (patch) | |
tree | f7c2c95060951d7edbea5b1a593990f2950613c2 | |
download | aur-45424e156f561eb3fdee22a81d07a02efb934d73.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 51 | ||||
-rw-r--r-- | PACKAGES | 158 | ||||
-rw-r--r-- | PKGBUILD | 44 | ||||
-rw-r--r-- | liquidsoap.install | 34 | ||||
-rw-r--r-- | liquidsoap.service | 15 | ||||
-rw-r--r-- | liquidsoap.tmpfilesd | 1 |
6 files changed, 303 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..c3a6b43aa070 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,51 @@ +pkgbase = liquidsoap + pkgdesc = a swiss-army knife for multimedia streaming, notably used for netradios and webtvs + pkgver = 1.1.1 + pkgrel = 4 + url = http://savonet.sourceforge.net/ + install = liquidsoap.install + arch = i686 + arch = x86_64 + license = GPL + makedepends = dssi + makedepends = frei0r-plugins + makedepends = ladspa + makedepends = libxml-perl + makedepends = ocaml-gd4o + makedepends = ocaml-includepatch + makedepends = ocaml-ocamlsdl + makedepends = ocaml-pcre + makedepends = ocaml-xmlm + makedepends = ocaml-yojson + makedepends = perl-xml-dom + depends = faad2 + depends = ffmpeg + depends = gavl + depends = gd + depends = giflib + depends = gst-plugins-base-libs + depends = libao + depends = libfdk-aac + depends = liblo + depends = libmad + depends = libxpm + depends = ocaml-camomile + depends = portaudio + depends = sdl_image + depends = sdl_ttf + depends = soundtouch + depends = taglib + conflicts = liquidsoap-git + conflicts = liquidsoap-full + options = !makeflags + source = http://sourceforge.net/projects/savonet/files/liquidsoap/1.1.1/liquidsoap-1.1.1-full.tar.gz + source = PACKAGES + source = liquidsoap.service + source = liquidsoap.tmpfilesd + md5sums = db65ddb099526423cc19fb7283db8821 + md5sums = 21d7e17ac7114edfd0a944c7773aa5af + md5sums = 762d6607ff0889e34b8c874970b38bc9 + md5sums = f9106e5c42cabc21c4c8464d9b1ad63e + +pkgname = liquidsoap + diff --git a/PACKAGES b/PACKAGES new file mode 100644 index 000000000000..2e2b73057b90 --- /dev/null +++ b/PACKAGES @@ -0,0 +1,158 @@ +# Edit this file by (un)commenting the libraries that you (don't) want to +# build in order to get the corresponding features in liquidsoap. + +# The default file has every dependency enabled. +# It is certain that you don't need everything. +# If you don't know why you should have something, uncomment it, +# especially if it does not build for some reason. + +# It is useless to add savonet packages that are not listed below, +# like ocaml-fetch, ocaml-smbclient, etc. These are not dependencies of +# liquidsoap. + + +# ============================================================================ +# Input/output +# ============================================================================ + +# Cry is the lib for streaming to icecast and compatible servers. +ocaml-cry + +# AO is portable and stable, but it does only output. +ocaml-ao + +# Portaudio is a portable audio library with both input and output. +ocaml-portaudio + +# ALSA is only for LINUX, and is sometimes not working. +ocaml-alsa + +# PulseAudio is a cross-plateform audio sound server. It is intended to +# be a single replacement for sound support under linux, windows or OSX. +ocaml-pulseaudio + +# JACK is an audio connection kit, designed for low latency +# and easy communication between audio applications. +ocaml-bjack + +# Gstreamer is a library for constructing graphs of media-handling components. +# It is currently used to provide audio and video encoding and decoding +# as well as input and outputs such as V4l inputs. +ocaml-gstreamer + +# ============================================================================ +# Codecs +# ============================================================================ + +# MAD is for MP3 decoding. +ocaml-mad + +# TAGLIB is for MP3 ID3 tag reading +ocaml-taglib + +# LAME is for MP3 encoding. +ocaml-lame + +# SHINE is for fixed-point MP3 encoding. +#ocaml-shine + +# AACPLUS is for AAC+ encoding. +#ocaml-aacplus + +# OGG is for ogg/vorbis and ogg/theora encoding and decoding +ocaml-ogg + +# VORBIS is for ogg/vorbis encoding and decoding. +# you need ocaml-ogg to enable ocaml-vorbis. +ocaml-vorbis + +# SPEEX is for ogg/speex encoding and decoding +# you need ocaml-ogg to enable ocaml-speex +ocaml-speex + +# THEORA is for ogg/theora encoding and decoding +# you need ocaml-ogg to enable ocaml-theora +ocaml-theora + +# OPUS is s a lossy audio compression format made especially +# suitable for interactive real-time applications over the Internet. +# you need ocaml-ogg to enable ocaml-opus +ocaml-opus + +# SCHROEDINGER is for ogg/dirac encoding and decoding +# you need ocaml-ogg to enable ocaml-schroedinger +ocaml-schroedinger + +# VOAACENC is for AAC encoding. +#ocaml-voaacenc + +# FDK-AAC is for AAC and AAC+ encoding +ocaml-fdkaac + +# FAAD for AAC decoding. +ocaml-faad + +# FLAC is for flac, native and/or ogg (if using ocaml-ogg) +# format decoding and encoding. +ocaml-flac + +# ============================================================================ +# Sound processing +# ============================================================================ + +# LADSPA are audio plugins providing sound effects +ocaml-ladspa + +# SoundTouch is for changing pitch and tempo of sound +ocaml-soundtouch + +# Samplerate is for having better quality resampling +ocaml-samplerate + +# ============================================================================ +# Video processing +# ============================================================================ + +# GAVL converts from and to many formats, +# is very efficient and has a quality setting for +# tweaking load vs. quality of the conversion. +# It is the recommended module to use with video +ocaml-gavl + +# FFMPEG is currently only used to convert from +# and to many formats. +ocaml-ffmpeg + +# Frei0r is a minimalistic plugin API for video sources and filters. +ocaml-frei0r + +# ============================================================================ +# Sound synthesis +# ============================================================================ + +# DSSI is a standard for synthesizer plugins +ocaml-dssi + +# ============================================================================ +# Various modules +# ============================================================================ + +# Xmlplaylist allow support for various xml format, such as rss, podcast, etc.. +ocaml-xmlplaylist + +# Lastfm allow support for lastfm radios and the audioscrobbler protocol +# It should be listed *after* ocaml-xmlplaylist in this file +ocaml-lastfm + +# A library supporting the OSC protocol to have external controls +# such as faders +ocaml-lo + +# ============================================================================ +# Finally, the mandatory lib dtools, duppy and liquidsoap... +# ============================================================================ + +ocaml-dtools +ocaml-duppy +ocaml-mm +liquidsoap diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..bcfe9a510a7a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Leonard de Ruijter <leonard@aur.archlinux.org> +pkgname=liquidsoap +pkgver=1.1.1 +pkgrel=4 +pkgdesc="a swiss-army knife for multimedia streaming, notably used for netradios and webtvs" +arch=('i686' 'x86_64') +url="http://savonet.sourceforge.net/" +license=('GPL') +depends=('faad2' 'ffmpeg' 'gavl' 'gd' 'giflib' 'gst-plugins-base-libs' 'libao' 'libfdk-aac' 'liblo' 'libmad' 'libxpm' +'ocaml-camomile' 'portaudio' 'sdl_image' 'sdl_ttf' 'soundtouch' 'taglib') +makedepends=('dssi' 'frei0r-plugins' 'ladspa' 'libxml-perl' 'ocaml-gd4o' 'ocaml-includepatch' 'ocaml-ocamlsdl' 'ocaml-pcre' 'ocaml-xmlm' 'ocaml-yojson' 'perl-xml-dom') +source=(http://sourceforge.net/projects/savonet/files/$pkgname/$pkgver/$pkgname-$pkgver-full.tar.gz +PACKAGES +$pkgname.service +$pkgname.tmpfilesd) +install=$pkgname.install +options=(!makeflags) +conflicts=('liquidsoap-git' 'liquidsoap-full') +md5sums=('db65ddb099526423cc19fb7283db8821' + '21d7e17ac7114edfd0a944c7773aa5af' + '762d6607ff0889e34b8c874970b38bc9' + 'f9106e5c42cabc21c4c8464d9b1ad63e') + +prepare() { + cd $srcdir/$pkgname-$pkgver-full + cp $srcdir/PACKAGES PACKAGES +} + +build() { + cd $srcdir/$pkgname-$pkgver-full + ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --without-user --without-group + make all && make doc +} + +package() { + cd $srcdir/$pkgname-$pkgver-full + make DESTDIR="$pkgdir/" datadir="$pkgdir/usr/share/" mandir="$pkgdir/usr/share/man/" localstatedir="$pkgdir/var" bindir="$pkgdir/usr/bin/" libdir="$pkgdir/usr/lib/" sysconfdir="$pkgdir/etc/" install + + # install systemd unit + install -Dm0644 "$srcdir/$pkgname.service" "$pkgdir/usr/lib/systemd/system/liquidsoap@.service" +# Install the tmpfilesd file + install -Dm0644 $srcdir/$pkgname.tmpfilesd $pkgdir/usr/lib/tmpfiles.d/liquidsoap.conf +} +# vim:set ts=2 sw=2 et: diff --git a/liquidsoap.install b/liquidsoap.install new file mode 100644 index 000000000000..ac5bb3e8e186 --- /dev/null +++ b/liquidsoap.install @@ -0,0 +1,34 @@ +# arg 1: the new package version +post_install() { + # Make sure the group and user "liquidsoap" exists on this system and have the correct values + if getent group liquidsoap &> /dev/null ; then + groupmod -g 140 -n liquidsoap liquidsoap &> /dev/null + else + groupadd -g 140 liquidsoap &> /dev/null + fi + + if getent passwd liquidsoap &> /dev/null ; then + usermod -s /bin/false -c "liquidsoap user" -d /var/lib/liquidsoap -u 140 -g liquidsoap -G audio -a liquidsoap &> /dev/null + else + useradd -m -s /bin/false -c "liquidsoap user" -d /var/lib/liquidsoap -u 140 -g liquidsoap -G audio -r liquidsoap &> /dev/null + fi + # create the logs folder + install -do140 -g19 -m0755 /var/log/liquidsoap +# Create /run/liquidsoap + if [[ ! -d run/liquidsoap ]]; then + usr/bin/systemd-tmpfiles --create liquidsoap.conf + fi +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +# arg 1: the old package version +pre_remove() { + userdel liquidsoap &> /dev/null + groupdel liquidsoap &> /dev/null || /bin/true + rm -rf /var/log/liquidsoap/ &> /dev/null || /bin/true +} diff --git a/liquidsoap.service b/liquidsoap.service new file mode 100644 index 000000000000..26eec12c616c --- /dev/null +++ b/liquidsoap.service @@ -0,0 +1,15 @@ +[Unit] +Description=Liquidsoap service for channel %I +Documentation=man:liquidsoap(1) +After=network.target +ConditionPathExists=/etc/liquidsoap/%I.liq + +[Service] +Type=simple +ExecStart=/usr/bin/liquidsoap --quiet /etc/liquidsoap/%I.liq +User=liquidsoap +Group=liquidsoap + +[Install] +WantedBy=multi-user.target + diff --git a/liquidsoap.tmpfilesd b/liquidsoap.tmpfilesd new file mode 100644 index 000000000000..dc3e02484ae6 --- /dev/null +++ b/liquidsoap.tmpfilesd @@ -0,0 +1 @@ +d /run/liquidsoap 755 liquidsoap liquidsoap - |