323 lines
12 KiB
RPMSpec
323 lines
12 KiB
RPMSpec
|
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 <silvan.calarco@mambasoft.it>
|
||
|
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 <daemon_name> 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 <webbuild@openmamba.org> 1.1.1-8mamba
|
||
|
- do not require ocaml; liquidsoap is compiled with the OCaml native compiler
|
||
|
|
||
|
* Mon Jul 01 2013 Automatic Build System <autodist@mambasoft.it> 1.1.1-7mamba
|
||
|
- arm: rebuilt after fixing ocaml (rpi)
|
||
|
|
||
|
* Sat Jun 29 2013 Davide Madrisan <davide.madrisan@gmail.com> 1.1.1-6mamba
|
||
|
- build the dynamic ocaml plugins ffmpeg, samplerate, and taglib
|
||
|
|
||
|
* Thu Jun 27 2013 Davide Madrisan <davide.madrisan@gmail.com> 1.1.1-5mamba
|
||
|
- build ocaml shine and voaacenc as dynamic plugins
|
||
|
|
||
|
* Thu Jun 27 2013 Davide Madrisan <davide.madrisan@gmail.com> 1.1.1-4mamba
|
||
|
- requires festival, sox, and ocaml-camomile
|
||
|
- rebuild againt ocaml-shine and ocaml-voaacenc
|
||
|
|
||
|
* Wed Jun 26 2013 Davide Madrisan <davide.madrisan@gmail.com> 1.1.1-3mamba
|
||
|
- enable support for icecast/shoutcas
|
||
|
- package all the liquidsoap extensions as dynamic plugins
|
||
|
|
||
|
* Tue Jun 25 2013 Davide Madrisan <davide.madrisan@gmail.com> 1.1.1-2mamba
|
||
|
- add the subpackages liguidsoap and docs
|
||
|
|
||
|
* Sat Jun 22 2013 Davide Madrisan <davide.madrisan@gmail.com> 1.1.1-1mamba
|
||
|
- update to 1.1.1
|
||
|
|
||
|
* Fri Jan 11 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.1-1mamba
|
||
|
- package created by silvan using the webbuild interface
|