344 lines
11 KiB
RPMSpec
344 lines
11 KiB
RPMSpec
%define majver %(echo %version | cut -d. -f1-2)
|
|
Name: liquidsoap
|
|
Version: 2.2.2
|
|
Release: 1mamba
|
|
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: https://savonet.sourceforge.net/
|
|
Source0: https://github.com/savonet/liquidsoap.git/v%{version}/liquidsoap-%{version}.tar.bz2
|
|
Source1: liquidsoap.service
|
|
Source2: liquidsoap.tmpfilesd
|
|
Patch0: liquidsoap-2.2.0-ocaml-flac-0.4.0.patch
|
|
License: GPL, LGPL
|
|
## AUTOBUILDREQ-BEGIN
|
|
BuildRequires: dune
|
|
BuildRequires: glibc-devel
|
|
BuildRequires: libX11-devel
|
|
BuildRequires: libalsa-devel
|
|
BuildRequires: libao-devel
|
|
BuildRequires: libavcodec-ffmpeg-devel
|
|
BuildRequires: libavdevice-ffmpeg-devel
|
|
BuildRequires: libavfilter-ffmpeg-devel
|
|
BuildRequires: libavformat-ffmpeg-devel
|
|
BuildRequires: libavutil-ffmpeg-devel
|
|
BuildRequires: libcurl-devel
|
|
BuildRequires: libfaad2-devel
|
|
BuildRequires: libfdk-aac-devel
|
|
BuildRequires: libffi-devel
|
|
BuildRequires: libflac-devel
|
|
BuildRequires: libgcc
|
|
BuildRequires: libjack-devel
|
|
BuildRequires: liblame-devel
|
|
BuildRequires: liblilv-devel
|
|
BuildRequires: liblo-devel
|
|
BuildRequires: libmad-devel
|
|
BuildRequires: libmagic-devel
|
|
BuildRequires: libogg-devel
|
|
BuildRequires: libopenssl-devel
|
|
BuildRequires: libopus-devel
|
|
BuildRequires: libpcre-devel
|
|
BuildRequires: libportaudio-devel
|
|
BuildRequires: libpulseaudio-devel
|
|
BuildRequires: libsamplerate-devel
|
|
BuildRequires: libserd-devel
|
|
BuildRequires: libshine-devel
|
|
BuildRequires: libsord-devel
|
|
BuildRequires: libsoundtouch-devel
|
|
BuildRequires: libspeex-devel
|
|
BuildRequires: libsratom-devel
|
|
BuildRequires: libsrt-devel
|
|
BuildRequires: libstdc++6-devel
|
|
BuildRequires: libswresample-ffmpeg-devel
|
|
BuildRequires: libswscale-ffmpeg-devel
|
|
BuildRequires: libtag-devel
|
|
BuildRequires: libtheora-devel
|
|
BuildRequires: libvorbis-devel
|
|
BuildRequires: libz-devel
|
|
BuildRequires: ocaml-gen-devel
|
|
BuildRequires: ocaml-menhir-devel
|
|
BuildRequires: ocaml-runtime
|
|
BuildRequires: ocaml-sedlex-devel
|
|
BuildRequires: ocaml-seq-devel
|
|
## AUTOBUILDREQ-END
|
|
%ifnarch arm aarch64
|
|
BuildRequires: ghc-pandoc
|
|
%endif
|
|
BuildRequires: camlidl
|
|
BuildRequires: ocaml >= 4.00.1
|
|
BuildRequires: ocaml-bjack-devel
|
|
BuildRequires: ocaml-curl-devel
|
|
BuildRequires: ocaml-dssi-devel
|
|
BuildRequires: ocaml-fileutils-devel
|
|
BuildRequires: ocaml-findlib
|
|
BuildRequires: ocaml-frei0r-devel
|
|
BuildRequires: ocaml-dtools-devel
|
|
BuildRequires: ocaml-duppy-devel
|
|
BuildRequires: ocaml-camomile-devel
|
|
BuildRequires: ocaml-cry-devel
|
|
BuildRequires: ocaml-faad-devel
|
|
BuildRequires: ocaml-fdkaac-devel
|
|
BuildRequires: ocaml-ffmpeg-devel
|
|
BuildRequires: ocaml-flac-devel
|
|
BuildRequires: ocaml-inotify-devel
|
|
BuildRequires: ocaml-ladspa-devel
|
|
BuildRequires: ocaml-lame-devel
|
|
BuildRequires: ocaml-lilv-devel
|
|
BuildRequires: ocaml-lo-devel
|
|
BuildRequires: ocaml-mad-devel
|
|
BuildRequires: ocaml-magic-devel
|
|
BuildRequires: ocaml-menhir-devel
|
|
BuildRequires: ocaml-metadata-devel
|
|
BuildRequires: ocaml-mm-devel
|
|
BuildRequires: ocaml-opus-devel
|
|
BuildRequires: ocaml-pcre-devel
|
|
BuildRequires: ocaml-portaudio-devel
|
|
BuildRequires: ocaml-ppx_string
|
|
BuildRequires: ocaml-samplerate-devel
|
|
BuildRequires: ocaml-sdl-devel
|
|
BuildRequires: ocaml-sedlex-devel
|
|
BuildRequires: ocaml-shine-devel
|
|
BuildRequires: ocaml-soundtouch-devel
|
|
BuildRequires: ocaml-speex-devel
|
|
BuildRequires: ocaml-srt-devel
|
|
BuildRequires: ocaml-taglib-devel
|
|
BuildRequires: ocaml-uri-devel
|
|
BuildRequires: ocaml-voaacenc-devel
|
|
BuildRequires: ocaml-vorbis-devel
|
|
BuildRequires: ocaml-xmlm-devel
|
|
BuildRequires: ocaml-xmlplaylist-devel
|
|
BuildRequires: ocaml-yojson-devel
|
|
# note: festival provides text2wave
|
|
BuildRequires: festival
|
|
#BuildRequires: python-devel
|
|
#BuildRequires: pygtk
|
|
BuildRequires: sox
|
|
BuildRequires: dejavu-fonts-ttf
|
|
BuildConflicts: ocaml-gstreamer
|
|
Requires: festival
|
|
Requires: sox
|
|
Requires: vorbis-tools
|
|
#Requires: mp3gain
|
|
#Requires: vorbisgain
|
|
Requires: ocaml-alsa
|
|
Requires: ocaml-ao
|
|
#Requires: ocaml-bjack
|
|
Requires: ocaml-camomile
|
|
Requires: ocaml-cry
|
|
#Requires: ocaml-dssi
|
|
Requires: ocaml-dtools
|
|
Requires: ocaml-duppy
|
|
Requires: ocaml-faad
|
|
#Requires: ocaml-fdkaac
|
|
Requires: ocaml-ffmpeg
|
|
Requires: ocaml-fileutils
|
|
Requires: ocaml-flac
|
|
#Requires: ocaml-frei0r
|
|
#Requires: ocaml-gavl
|
|
#Requires: ocaml-gd4o
|
|
Requires: ocaml-gstreamer
|
|
#Requires: ocaml-inotify
|
|
#Requires: ocaml-yojson
|
|
#Requires: ocaml-ladspa
|
|
Requires: ocaml-lame
|
|
Requires: ocaml-lastfm
|
|
#Requires: ocaml-lo
|
|
Requires: ocaml-mad
|
|
#Requires: ocaml-magic
|
|
Requires: ocaml-menhir
|
|
Requires: ocaml-metadata
|
|
Requires: ocaml-mm
|
|
Requires: ocaml-ogg
|
|
Requires: ocaml-opus
|
|
Requires: ocaml-ppx_string
|
|
Requires: ocaml-pulseaudio
|
|
Requires: ocaml-samplerate
|
|
Requires: ocaml-sdl
|
|
Requires: ocaml-sedlex
|
|
Requires: ocaml-shine
|
|
#Requires: ocaml-soundtouch
|
|
Requires: ocaml-speex
|
|
Requires: ocaml-srt
|
|
Requires: ocaml-taglib
|
|
Requires: ocaml-theora
|
|
Requires: ocaml-uri
|
|
Requires: ocaml-vorbis
|
|
Requires: ocaml-xmlplaylist
|
|
|
|
%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.
|
|
|
|
%debug_package
|
|
|
|
%prep
|
|
%setup -q
|
|
#-D -T
|
|
#:<< _EOF
|
|
#%patch 0 -p1 -R -b .ocaml-flac-0.4.0
|
|
|
|
# Build error with old pandoc
|
|
rm -rf doc
|
|
|
|
%build
|
|
dune build
|
|
|
|
%install
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
DESTDIR="%{buildroot}" dune install \
|
|
--prefix "%{_prefix}" \
|
|
--mandir "%{_mandir}" \
|
|
--libdir "%{_libdir}/ocaml"
|
|
|
|
# install the systemd service for liquidsoap
|
|
# 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 -D -m 0644 %{S:1} %{buildroot}%{_unitdir}/%{name}@.service
|
|
install -D -m 0644 %{S:2} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
|
|
|
# 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 -rf %{buildroot}/usr/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
|
|
:
|
|
|
|
%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
|
|
:
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
#%dir %{_sysconfdir}/liquidsoap
|
|
#%{_sysconfdir}/liquidsoap/radio.liq.example
|
|
#%{_sysconfdir}/logrotate.d/liquidsoap
|
|
%{_bindir}/liquidsoap
|
|
%dir %{_datadir}/liquidsoap-js
|
|
%{_datadir}/liquidsoap-js/*
|
|
%dir %{_datadir}/liquidsoap-lang
|
|
%{_datadir}/liquidsoap-lang/*
|
|
%dir %{_libdir}/ocaml/liquidsoap*
|
|
%{_libdir}/ocaml/liquidsoap*/*
|
|
%dir %{_libdir}/ocaml/prometheus-liquidsoap
|
|
%{_libdir}/ocaml/prometheus-liquidsoap/*
|
|
%dir %{_libdir}/ocaml/sdl-liquidsoap
|
|
%{_libdir}/ocaml/sdl-liquidsoap/*
|
|
%dir %{_libdir}/ocaml/tls-liquidsoap
|
|
%{_libdir}/ocaml/tls-liquidsoap/*
|
|
%{_datadir}/bash_completion/completions/liquidsoap
|
|
%{_datadir}/emacs/site-lisp/liquidsoap-*.el
|
|
%{_unitdir}/%{name}@.service
|
|
%{_tmpfilesdir}/%{name}.conf
|
|
#%dir %attr(755,liquidsoap,liquidsoap) %{_localstatedir}/log/liquidsoap
|
|
#%ifnarch arm aarch64
|
|
#%{_mandir}/man1/liquidsoap.*
|
|
#%endif
|
|
%doc COPYING
|
|
|
|
%changelog
|
|
* Sat Nov 04 2023 Automatic Build System <autodist@mambasoft.it> 2.2.2-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Wed Sep 13 2023 Automatic Build System <autodist@mambasoft.it> 2.2.1-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Fri Jul 21 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 2.2.0-1mamba
|
|
- update to 2.2.0
|
|
|
|
* Mon Mar 07 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.3-3mamba
|
|
- added requirement for ocaml-srt
|
|
|
|
* Sun Feb 13 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.3-2mamba
|
|
- added support for ocaml-yojson and ocaml-fdkaac
|
|
|
|
* Sat Feb 12 2022 Automatic Build System <autodist@mambasoft.it> 2.0.3-1mamba
|
|
- automatic version update by autodist
|
|
|
|
* Fri Feb 11 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.2-2mamba
|
|
- rebuilt with more ocaml deps
|
|
|
|
* Fri Feb 04 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.2-1mamba
|
|
- update to 2.0.2
|
|
|
|
* 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 |