diff --git a/liquidsoap.spec b/liquidsoap.spec index 6738497..d521840 100644 --- a/liquidsoap.spec +++ b/liquidsoap.spec @@ -1,54 +1,59 @@ Name: liquidsoap -Version: 1.1.1 -Release: 8mamba +Version: 2.0.2 +Release: 1mamba 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 +Source0: https://github.com/savonet/liquidsoap.git/v%{version}/liquidsoap-%{version}.tar.bz2 +Source1: liquidsoap.service +Source2: liquidsoap.tmpfilesd License: GPL, LGPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: libaacplus-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: 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: libgst-plugins-base-devel +BuildRequires: libgstreamer-devel BuildRequires: liblame-devel -BuildRequires: liblo-devel BuildRequires: libmad-devel BuildRequires: libogg-devel +BuildRequires: libopenssl-devel +BuildRequires: libopus-devel BuildRequires: libpcre-devel -BuildRequires: libportaudio-devel BuildRequires: libpulseaudio-devel -BuildRequires: libpython-devel BuildRequires: libsamplerate-devel -BuildRequires: libschroedinger-devel -BuildRequires: libsoundtouch-devel +BuildRequires: libshine-devel BuildRequires: libspeex-devel +BuildRequires: libsrt-devel BuildRequires: libstdc++6-devel +BuildRequires: libswresample-ffmpeg-devel +BuildRequires: libswscale-ffmpeg-devel BuildRequires: libtag-devel BuildRequires: libtheora-devel -BuildRequires: libvo-aacenc-devel BuildRequires: libvorbis-devel -BuildRequires: libX11-devel -BuildRequires: libxml2-devel -BuildRequires: perl-devel +BuildRequires: libz-devel ## AUTOBUILDREQ-END +%ifnarch arm aarch64 +BuildRequires: ghc-pandoc +%endif BuildRequires: camlidl BuildRequires: ocaml >= 4.00.1 BuildRequires: ocaml-findlib -BuildRequires: ocaml-dtools +BuildRequires: ocaml-dtools-devel BuildRequires: ocaml-duppy-devel BuildRequires: ocaml-camomile-devel BuildRequires: ocaml-cry-devel @@ -57,18 +62,24 @@ BuildRequires: ocaml-ffmpeg-devel BuildRequires: ocaml-flac-devel BuildRequires: ocaml-lame-devel BuildRequires: ocaml-mad-devel +BuildRequires: ocaml-menhir-devel <= 20211128 BuildRequires: ocaml-mm-devel BuildRequires: ocaml-pcre-devel BuildRequires: ocaml-samplerate-devel +BuildRequires: ocaml-sdl-devel +BuildRequires: ocaml-sedlex-devel BuildRequires: ocaml-shine-devel +BuildRequires: ocaml-speex-devel +BuildRequires: ocaml-srt-devel BuildRequires: ocaml-taglib-devel BuildRequires: ocaml-voaacenc-devel +BuildRequires: ocaml-vorbis-devel BuildRequires: ocaml-xmlm-devel BuildRequires: ocaml-xmlplaylist-devel # note: festival provides text2wave BuildRequires: festival -BuildRequires: python-devel -BuildRequires: pygtk +#BuildRequires: python-devel +#BuildRequires: pygtk BuildRequires: sox BuildRequires: dejavu-fonts-ttf Requires: festival @@ -76,29 +87,45 @@ 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. +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-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 <= 20211128 +Requires: ocaml-mm +Requires: ocaml-ogg +Requires: ocaml-opus +Requires: ocaml-pulseaudio +Requires: ocaml-samplerate +Requires: ocaml-sdl +Requires: ocaml-sedlex +Requires: ocaml-shine +#Requires: ocaml-soundtouch +Requires: ocaml-speex +Requires: ocaml-taglib +Requires: ocaml-theora +Requires: ocaml-vorbis +Requires: ocaml-xmlplaylist %description Liquidsoap is a powerful and flexible language for describing your streams. @@ -136,71 +163,57 @@ Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} 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 +./bootstrap %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 +#:<< _EOF ./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-bash-completion-dir="%{buildroot}%{_datadir}/bash-completion/completions" \ --with-default-font=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf - # -or- /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf + +# -or- /usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf %make all -%make doc + +# FIXME: requires updating ghc-pandoc +%make doc || true %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + export OCAMLFIND_DESTDIR=%{buildroot}$(ocamlfind printconf destdir) export INSTALL_DAEMON=no install -d $OCAMLFIND_DESTDIR %makeinstall \ prefix=%{buildroot}%{_prefix} \ + libdir=%{buildroot}%{_libdir} \ 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 +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 +#install -d %{buildroot}%{_localstatedir}/run/liquidsoap -# remove unpackaged file -rm -f %{buildroot}%{_sysconfdir}/liquidsoap/radio.liq.example -rm -fr %{buildroot}%{_datadir}/doc +## remove unpackaged file +#rm -f %{buildroot}%{_sysconfdir}/liquidsoap/radio.liq.example +#rm -fr %{buildroot}%{_datadir}/doc %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" @@ -213,7 +226,7 @@ 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 @@ -221,78 +234,91 @@ if [ $1 -eq 0 ]; then /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}/liquidsoap/radio.liq.example %{_sysconfdir}/logrotate.d/liquidsoap +%{_bindir}/liquidsoap +%dir %{_datadir}/liquidsoap +%dir %{_datadir}/liquidsoap/%{version} +%{_datadir}/liquidsoap/%{version}/* + +#%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 +## +%{_datadir}/bash-completion/completions/liquidsoap +%dir %{_datadir}/emacs/site-lisp/liquidsoap-mode +%{_datadir}/emacs/site-lisp/liquidsoap-mode/liquidsoap-mode.el +%{_unitdir}/%{name}@.service +%{_tmpfilesdir}/%{name}.conf %dir %attr(755,liquidsoap,liquidsoap) %{_localstatedir}/log/liquidsoap -%dir %attr(755,liquidsoap,liquidsoap) %{_localstatedir}/run/liquidsoap +%ifnarch arm aarch64 %{_mandir}/man1/liquidsoap.* +%endif %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 -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 +#%files docs +#%defattr(-,root,root) +#%doc doc/html %changelog +* Fri Feb 04 2022 Silvan Calarco 2.0.2-1mamba +- update to 2.0.2 + * Sat Jul 20 2013 openmamba WebBuild System 1.1.1-8mamba - do not require ocaml; liquidsoap is compiled with the OCaml native compiler diff --git a/liquidsoap.tmpfilesd b/liquidsoap.tmpfilesd new file mode 100644 index 0000000..dc3e024 --- /dev/null +++ b/liquidsoap.tmpfilesd @@ -0,0 +1 @@ +d /run/liquidsoap 755 liquidsoap liquidsoap -