Name: liquidsoap Version: 1.1.1 Release: 8mamba Summary: Audio toolkit for streaming, aiming at complex Internet radio systems Group: Applications/Multimedia Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://savonet.sourceforge.net/ Source0: http://downloads.sourceforge.net/project/savonet/liquidsoap/%{version}/liquidsoap-%{version}.tar.bz2 Source1: %{name}.service License: GPL, LGPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libaacplus-devel BuildRequires: libalsa-devel BuildRequires: libao-devel BuildRequires: libfaad2-devel BuildRequires: libfftw-devel BuildRequires: libflac-devel BuildRequires: libgavl-devel BuildRequires: libgcc BuildRequires: libglib-devel BuildRequires: libgst-plugins-base010-devel BuildRequires: libgstreamer010-devel BuildRequires: libjack-devel BuildRequires: liblame-devel BuildRequires: liblo-devel BuildRequires: libmad-devel BuildRequires: libogg-devel BuildRequires: libpcre-devel BuildRequires: libportaudio-devel BuildRequires: libpulseaudio-devel BuildRequires: libpython-devel BuildRequires: libsamplerate-devel BuildRequires: libschroedinger-devel BuildRequires: libsoundtouch-devel BuildRequires: libspeex-devel BuildRequires: libstdc++6-devel BuildRequires: libtag-devel BuildRequires: libtheora-devel BuildRequires: libvo-aacenc-devel BuildRequires: libvorbis-devel BuildRequires: libX11-devel BuildRequires: libxml2-devel BuildRequires: perl-devel ## AUTOBUILDREQ-END BuildRequires: camlidl BuildRequires: ocaml >= 4.00.1 BuildRequires: ocaml-findlib BuildRequires: ocaml-dtools BuildRequires: ocaml-duppy-devel BuildRequires: ocaml-camomile-devel BuildRequires: ocaml-cry-devel BuildRequires: ocaml-faad-devel BuildRequires: ocaml-ffmpeg-devel BuildRequires: ocaml-flac-devel BuildRequires: ocaml-lame-devel BuildRequires: ocaml-mad-devel BuildRequires: ocaml-mm-devel BuildRequires: ocaml-pcre-devel BuildRequires: ocaml-samplerate-devel BuildRequires: ocaml-shine-devel BuildRequires: ocaml-taglib-devel BuildRequires: ocaml-voaacenc-devel BuildRequires: ocaml-xmlm-devel BuildRequires: ocaml-xmlplaylist-devel # note: festival provides text2wave BuildRequires: festival BuildRequires: python-devel BuildRequires: pygtk BuildRequires: sox BuildRequires: dejavu-fonts-ttf Requires: festival Requires: sox Requires: vorbis-tools #Requires: mp3gain #Requires: vorbisgain Requires: ocaml-camomile Requires: ocaml-shine Requires: ocaml-voaacenc BuildRoot: %{_tmppath}/%{name}-%{version}-root # FIXME: # checking for ocaml lastfm module >= 0.3.0... lastfm needs xmlplaylist # checking for ocaml opus module >= 0.1.0... Not found. # checking for ocaml frei0r module >= 0.1.0... Not found. # checking for ocaml fdkaac module >= 0.1.0... Not found. # checking for ocaml gavl module >= 0.1.4... Not found. # checking for ocaml bjack module >= 0.1.3... Not found. # checking for ocaml inotify module >= 1.0... Not found. # checking for ocaml soundtouch module >= 0.1.7... Not found. # checking for ocaml portaudio module >= 0.2.0... Not found. # checking for ocaml pulseaudio module >= 0.1.2... Not found. # checking for ocaml ladspa module >= 0.1.4... Not found. # checking for ocaml dssi module >= 0.1.0... Not found. # checking for ocaml camlimages module >= 4.0.0... Not found. # checking for ocaml lo module >= 0.1.0... Not found. # checking for ocaml yojson module... Not found. # checking for ocaml gd module... Not found. # checking for ocaml winsvc module >= 0.0.1... Not found. %description Liquidsoap is a powerful and flexible language for describing your streams. It offers a rich collection of operators that you can combine at will, giving you more power than you need for creating or transforming streams. But liquidsoap is still very light and easy to use, in the Unix tradition of simple strong components working together. Some examples of what you can do using Liquidsoap: * static or dynamic playlists * time-based selection of the audio source * quota- or time-based insertions or mixes of jingles * live DJ interventions * interactive user requests * fully-customizable transitions, e.g. crossfading * speech-synthesis of track metadata * simple access to remote files * and much more! %package -n liguidsoap Group: Graphical Desktop/Applications/Multimedia Summary: Control GUI for liguidsoap Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: python Requires: pygtk Requires: dejavu-fonts-ttf %description -n liguidsoap Liguidsoap is a GUI for controlling liquidsoap, using pyGTK. %package docs Group: Documentation Summary: Documentation for Liquidsoap Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description docs Liquidsoap is a powerful and flexible language for describing your streams. This package contains documentation in HTML format. %prep %setup -q %build # NOTE: --enable-ogg-dynamic-plugin lead to the following error # ocamlfind: [WARNING] Package 'threads' signals error: Missing -thread or -vmthread switch # File "ogg_formats/ogg_muxer.ml", line 45, characters 35-47: # Error: Unbound module Ogg ./configure \ --prefix=%{_prefix} \ --localstatedir=%{_localstatedir} \ --sysconfdir=%{_sysconfdir} \ --enable-alsa-dynamic-plugin \ --enable-ao-dynamic-plugin \ --enable-cry-dynamic-plugin \ --enable-faad-dynamic-plugin \ --enable-ffmpeg-dynamic-plugin \ --enable-flac-dynamic-plugin \ --enable-flac.ogg-dynamic-plugin \ --enable-graphics-dynamic-plugin \ --enable-gstreamer-dynamic-plugin \ --enable-lame-dynamic-plugin \ --enable-mad-dynamic-plugin \ --enable-oss-dynamic-plugin \ --enable-samplerate-dynamic-plugin \ --enable-schroedinger-dynamic-plugin \ --enable-sdl-dynamic-plugin \ --enable-shine-dynamic-plugin \ --enable-speex-dynamic-plugin \ --enable-taglib-dynamic-plugin \ --enable-theora-dynamic-plugin \ --enable-voaacenc-dynamic-plugin \ --enable-vorbis-dynamic-plugin \ --enable-xmlplaylist-dynamic-plugin \ --without-user --without-group \ --with-default-font=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf # -or- /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf %make all %make doc %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" export OCAMLFIND_DESTDIR=%{buildroot}$(ocamlfind printconf destdir) export INSTALL_DAEMON=no install -d $OCAMLFIND_DESTDIR %makeinstall \ prefix=%{buildroot}%{_prefix} \ sysconfdir=%{buildroot}%{_sysconfdir} # install the systemd service for liquidsoap install -d %{buildroot}/lib/systemd/system # NOTE: the at sign in the service is what makes SystemD so interesting for liquidsoap. # It means that everything placed behind the @ sign is sent to liquidsoap as a parameter. # starting liquidsoap@foo.service executes liquidsoap --quiet /etc/liquidsoap/foo.liq, install -m 0644 %{S:1} %{buildroot}/lib/systemd/system/%{name}@.service # create the required folders install -d %{buildroot}%{_localstatedir}/log/liquidsoap install -d %{buildroot}%{_localstatedir}/run/liquidsoap # remove unpackaged file rm -f %{buildroot}%{_sysconfdir}/liquidsoap/radio.liq.example rm -fr %{buildroot}%{_datadir}/doc %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %pre if ! getent group liquidsoap >/dev/null 2>&1; then /usr/sbin/groupadd --system liquidsoap # >/dev/null 2>&1 fi if ! id liquidsoap >/dev/null 2>&1; then /usr/sbin/useradd --system -s /bin/false -d %{_localstatedir}/empty \ -c 'Liquidsoap user' -g liquidsoap liquidsoap # >/dev/null 2>&1 fi exit 0 %postun if [ $1 -eq 0 ]; then # /sbin/service stop >/dev/null 2>&1 /usr/sbin/userdel liquidsoap # >/dev/null 2>&1 /usr/sbin/groupdel liquidsoap # >/dev/null 2>&1 fi exit 0 %files %defattr(-,root,root) %{_bindir}/liquidsoap %dir %{_sysconfdir}/liquidsoap %dir %{_libdir}/liquidsoap %dir %{_libdir}/liquidsoap/%{version} %{_libdir}/liquidsoap/%{version}/externals.liq %{_libdir}/liquidsoap/%{version}/extract-replaygain %{_libdir}/liquidsoap/%{version}/flows.liq %{_libdir}/liquidsoap/%{version}/gstreamer.liq %{_libdir}/liquidsoap/%{version}/http.liq %{_libdir}/liquidsoap/%{version}/http_codes.liq %{_libdir}/liquidsoap/%{version}/lastfm.liq %{_libdir}/liquidsoap/%{version}/liquidtts %{_libdir}/liquidsoap/%{version}/pervasives.liq %{_libdir}/liquidsoap/%{version}/shoutcast.liq %{_libdir}/liquidsoap/%{version}/utils.liq %{_libdir}/liquidsoap/%{version}/video.liq #%{_libdir}/liquidsoap/%{version}/video_text.liq # %dir %{_libdir}/liquidsoap/%{version}/plugins %{_libdir}/liquidsoap/%{version}/plugins/alsa.cmxs %{_libdir}/liquidsoap/%{version}/plugins/ao.cmxs %{_libdir}/liquidsoap/%{version}/plugins/cry.cmxs %{_libdir}/liquidsoap/%{version}/plugins/faad.cmxs %{_libdir}/liquidsoap/%{version}/plugins/ffmpeg.cmxs %{_libdir}/liquidsoap/%{version}/plugins/flac.cmxs %{_libdir}/liquidsoap/%{version}/plugins/flac_ogg.cmxs %{_libdir}/liquidsoap/%{version}/plugins/graphics.cmxs %{_libdir}/liquidsoap/%{version}/plugins/gstreamer.cmxs %{_libdir}/liquidsoap/%{version}/plugins/lame.cmxs %{_libdir}/liquidsoap/%{version}/plugins/mad.cmxs %{_libdir}/liquidsoap/%{version}/plugins/oss.cmxs %{_libdir}/liquidsoap/%{version}/plugins/samplerate.cmxs %{_libdir}/liquidsoap/%{version}/plugins/schroedinger.cmxs %{_libdir}/liquidsoap/%{version}/plugins/sdl.cmxs %{_libdir}/liquidsoap/%{version}/plugins/shine.cmxs %{_libdir}/liquidsoap/%{version}/plugins/speex.cmxs %{_libdir}/liquidsoap/%{version}/plugins/taglib.cmxs %{_libdir}/liquidsoap/%{version}/plugins/theora.cmxs %{_libdir}/liquidsoap/%{version}/plugins/voaacenc.cmxs %{_libdir}/liquidsoap/%{version}/plugins/vorbis.cmxs %{_libdir}/liquidsoap/%{version}/plugins/xmlplaylist.cmxs # /lib/systemd/system/%{name}@.service %{_sysconfdir}/logrotate.d/liquidsoap %dir %attr(755,liquidsoap,liquidsoap) %{_localstatedir}/log/liquidsoap %dir %attr(755,liquidsoap,liquidsoap) %{_localstatedir}/run/liquidsoap %{_mandir}/man1/liquidsoap.* %doc examples %files -n liguidsoap %defattr(-,root,root) %{_bindir}/liguidsoap %dir %{python_sitearch}/liquidsoap %{python_sitearch}/liquidsoap/client.py %{python_sitearch}/liquidsoap/editable.py %{python_sitearch}/liquidsoap/liguidsoap.py %{python_sitearch}/liquidsoap/mix.py %{python_sitearch}/liquidsoap/output.py %{python_sitearch}/liquidsoap/playlist.py %{python_sitearch}/liquidsoap/queue.py %{python_sitearch}/liquidsoap/widgets.py %{_mandir}/man1/liguidsoap.* %files docs %defattr(-,root,root) %doc doc/html %changelog * Sat Jul 20 2013 openmamba WebBuild System 1.1.1-8mamba - do not require ocaml; liquidsoap is compiled with the OCaml native compiler * Mon Jul 01 2013 Automatic Build System 1.1.1-7mamba - arm: rebuilt after fixing ocaml (rpi) * Sat Jun 29 2013 Davide Madrisan 1.1.1-6mamba - build the dynamic ocaml plugins ffmpeg, samplerate, and taglib * Thu Jun 27 2013 Davide Madrisan 1.1.1-5mamba - build ocaml shine and voaacenc as dynamic plugins * Thu Jun 27 2013 Davide Madrisan 1.1.1-4mamba - requires festival, sox, and ocaml-camomile - rebuild againt ocaml-shine and ocaml-voaacenc * Wed Jun 26 2013 Davide Madrisan 1.1.1-3mamba - enable support for icecast/shoutcas - package all the liquidsoap extensions as dynamic plugins * Tue Jun 25 2013 Davide Madrisan 1.1.1-2mamba - add the subpackages liguidsoap and docs * Sat Jun 22 2013 Davide Madrisan 1.1.1-1mamba - update to 1.1.1 * Fri Jan 11 2013 Silvan Calarco 1.0.1-1mamba - package created by silvan using the webbuild interface