do not require ocaml; liquidsoap is compiled with the OCaml native compiler [release 1.1.1-8mamba;Sat Jul 20 2013]
This commit is contained in:
parent
503135f4e7
commit
2f2245388e
15
README.md
15
README.md
@ -1,2 +1,17 @@
|
||||
# liquidsoap
|
||||
|
||||
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!
|
||||
|
||||
|
15
liquidsoap.service
Normal file
15
liquidsoap.service
Normal file
@ -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
|
||||
ExecReload=/bin/kill -USR1 $MAINPID
|
||||
User=liquidsoap
|
||||
Group=liquidsoap
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
323
liquidsoap.spec
Normal file
323
liquidsoap.spec
Normal file
@ -0,0 +1,323 @@
|
||||
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
|
Loading…
Reference in New Issue
Block a user