-%include /usr/lib/rpm/macros.python
+#
+# Conditional build:
+%bcond_without alsa # without ALSA support (implies without JACK)
+%bcond_without jack # without JACK support
+%bcond_without ruby # without ruby support
+%bcond_with arts # with aRts support
+#
Summary: Software package for multitrack audio processing
-Summary(pl): Oprogramowanie do wielo¶cie¿kowego przetwarzania d¼wiêku
+Summary(pl.UTF-8): Oprogramowanie do wielościeżkowego przetwarzania dźwięku
Name: ecasound
-Version: 2.1.0
+Version: 2.6.0
Release: 1
-License: GPL
+License: GPL v2+
Group: Applications/Sound
-Group(de): Applikationen/Laut
-Group(es): Aplicaciones/Sonido
-Group(pl): Aplikacje/D¼wiêk
-Group(pt_BR): Aplicações/Som
Source0: http://ecasound.seul.org/download/%{name}-%{version}.tar.gz
-Patch0: %{name}-am_fix.patch
-Patch1: %{name}-ac_fix.patch
-Patch2: %{name}-readline.patch
-Patch3: %{name}-am15.patch
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: audiofile-devel >= 0.2.0
-%ifnarch sparc sparc64
-%{!?_without_alsa:BuildRequires: alsa-lib-devel}
-%endif
-BuildRequires: libtool
+# Source0-md5: 41f9445b9a9c0cde141831cb53d1ef8f
+Patch0: %{name}-link.patch
+Patch1: %{name}-acam.patch
+URL: http://ecasound.seul.org/
+%{?with_alsa:BuildRequires: alsa-lib-devel >= 0.9.0}
+%{?with_arts:BuildRequires: arts-devel}
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1.6.1
+%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
+BuildRequires: ladspa-devel
+BuildRequires: libsamplerate-devel
+BuildRequires: libsndfile-devel >= 1.0.12
BuildRequires: libstdc++-devel
-BuildRequires: readline-devel >= 4.2
-BuildRequires: rpm-pythonprov
+BuildRequires: libtool >= 2:1.4d
BuildRequires: python-devel >= 2.2
BuildRequires: python-modules >= 2.2
-Requires: lame
-Requires: mpg123
-Requires: libecasound = %{version}
+BuildRequires: readline-devel >= 5.0
+%if %{with ruby}
+BuildRequires: rpmbuild(macros) >= 1.277
+BuildRequires: ruby-devel
+%endif
+Obsoletes: libecasound
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
recording and format conversions, as well as for multitrack effect
processing, mixing, recording and signal recycling. Ecasound supports
a wide range of audio inputs, outputs and effect algorithms. Several
-open-source audio packages, like for instance ALSA, OSS, mpg123, lame,
-libaudiofile and MikMod, are directly supported. One of the advantages
-of ecasound's chain-based design is that effects can easily be
-combined both in series and in parallel. Oscillators and MIDI-CCs can
-be used for controlling effect parameters. Included user-interfaces
-are ecasound - a versatile console mode interface, qtecasound - a
-Qt-based X-interface and various command-line utils suitable for batch
+open-source audio packages, like for instance ALSA, OSS, mpg123, lame
+and MikMod, are directly supported. One of the advantages of
+ecasound's chain-based design is that effects can easily be combined
+both in series and in parallel. Oscillators and MIDI-CCs can be used
+for controlling effect parameters. Included user-interfaces are
+ecasound - a versatile console mode interface, ecawave - a Qt-based
+X-interface and various command-line utils suitable for batch
processing.
-%description -l pl
-Ecasound jest programem do wielo¶cie¿kowej edycji d¼wiêku, który mo¿e
-byæ u¿ywany tak do prostych zadañ typu odtwarzanie i nagrywanie muzyki
-czy te¿ konwersji pomiêdzy formatami plików muzycznych jak i do
-wielo¶cie¿kowego nak³adania efektów, miksowania (przenikania,
-wyciszania), nagrywania i odzyskiwania (w domy¶le odszumiania lub
-wyrzucania zniekszta³ceñ) sygna³u.
+%description -l pl.UTF-8
+Ecasound jest programem do wielościeżkowej edycji dźwięku, który może
+być używany tak do prostych zadań typu odtwarzanie i nagrywanie muzyki
+czy też konwersji pomiędzy formatami plików muzycznych jak i do
+wielościeżkowego nakładania efektów, miksowania (przenikania,
+wyciszania), nagrywania i odzyskiwania (w domyśle odszumiania lub
+wyrzucania zniekształceń) sygnału.
-Ecasound wspiera szerok± gamê ¼róde³ i wyj¶æ d¼wiêku oraz algorytmów
+Ecasound wspiera szeroką gamę źródeł i wyjść dźwięku oraz algorytmów
do jego przetwarzania. Ecasound wspiera wiele wolnych (open source)
-projektów, takich jak ALSA, OSS, mpg123, lame, libaudiofile czy te¿
-MikMod. Jedn± z zalet programu ecasound jest mo¿liwo¶æ ³añcuchowego
-(szeregowego) lub równoleg³ego ³±czenia efektów, które mog± byæ
-kontrolowane poprzez oscylatory lub MIDI-CC. Pakiet ten zawiera
-tekstowy interfejs u¿ytkownika oraz kilka innych narzêdzi nadaj±cych
-siê do przetwarzania wsadowego. Dostêpny jest tak¿e graficzny
-interfejs u¿ytkownika - qtecasound.
-
-%package -n libecasound
-Summary: Ecasound libraries
-Summary(pl): Biblioteki programu ecasound
-Group: Development/Libraries
-Group(de): Entwicklung/Bibliotheken
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
-
-%description -n libecasound
-Ecasound libraries.
-
-%description -l pl -n libecasound
-Biblioteki programu ecasound.
-
-%package -n libecasound-devel
-Summary: Ecasound headers
-Summary(pl): Pliki nag³ówkowe bibliotek programu ecasound
+projektów, takich jak ALSA, OSS, mpg123, lame czy też MikMod. Jedną z
+zalet programu ecasound jest możliwość łańcuchowego (szeregowego) lub
+równoległego łączenia efektów, które mogą być kontrolowane poprzez
+oscylatory lub MIDI-CC. Pakiet ten zawiera tekstowy interfejs
+użytkownika oraz kilka innych narzędzi nadających się do przetwarzania
+wsadowego. Dostępny jest także graficzny, oparty na Qt interfejs
+użytkownika - ecawave.
+
+%package devel
+Summary: Header files for ecasound libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek ecasound
Group: Development/Libraries
-Group(de): Entwicklung/Bibliotheken
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
-Requires: libecasound = %{version}
-
-%description -n libecasound-devel
-Ecasound headers.
-
-%description -l pl -n libecasound-devel
-Pliki nag³ówkowe bibliotek programu ecasound.
-
-%package -n libecasound-static
-Summary: Ecasound static libraries
-Summary(pl): Biblioteki statyczne programu ecasound
+Requires: %{name} = %{version}-%{release}
+%{?with_alsa:Requires: alsa-lib-devel}
+%{?with_arts:Requires: arts-devel}
+%{?with_jack:Requires: jack-audio-connection-kit-devel}
+Requires: libsamplerate-devel
+Requires: libsndfile-devel
+Requires: libstdc++-devel
+Obsoletes: libecasound-devel
+
+%description devel
+Header files for ecasound libraries.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek ecasound.
+
+%package static
+Summary: Static ecasound libraries
+Summary(pl.UTF-8): Statyczne biblioteki ecasound
Group: Development/Libraries
-Group(de): Entwicklung/Bibliotheken
-Group(es): Desarrollo/Bibliotecas
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Group(pt_BR): Desenvolvimento/Bibliotecas
-Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
-Requires: libecasound-devel = %{version}
-
-%description -n libecasound-static
-Ecasound static libraries.
-
-%description -l pl -n libecasound-static
-Biblioteki statyczne programu ecasound.
-
-%package plugins
-Summary: Ecasound plugins (ALSA, Audio File Library, aRts)
-Summary(pl): Wtyczki dla programu ecasound (ALSA, Audio File Library, aRts)
-Group: Applications/Sound
-Group(de): Applikationen/Laut
-Group(es): Aplicaciones/Sonido
-Group(pl): Aplikacje/D¼wiêk
-Group(pt_BR): Aplicações/Som
-Requires: ecasound = %{version}
+Requires: %{name}-devel = %{version}-%{release}
+Obsoletes: libecasound-static
-%description plugins
-This package contains ecasound plugins, which give support for ALSA,
-Audio File Library and aRts.
+%description static
+Static ecasound libraries.
-%description -l pl plugins
-Pakiet ten zawiera wtyczki dla programu ecasound, które umo¿liwiaj±
-wspó³pracê z bibliotekami takich projektów jak ALSA, Audio File
-Library oraz aRts.
+%description static -l pl.UTF-8
+Statyczne biblioteki ecasound.
%package -n python-%{name}
Summary: Python module for Ecasound
-Summary(pl): Modu³ jêzyka Python dla biblioteki programu ecasound
-Group: Development/Languages/Python
-Group(de): Entwicklung/Sprachen/Python
-Group(es): Desarrollo/Lenguages/Python
-Group(fr): Development/Langues/Python
-Group(pl): Programowanie/Jêzyki/Python
-%requires_eq python
+Summary(pl.UTF-8): Moduł języka Python dla programu ecasound
+Group: Libraries/Python
+Requires: %{name} = %{version}-%{release}
+%pyrequires_eq python-modules
%description -n python-%{name}
-Python module for Ecasound library.
+Python module for Ecasound.
+
+%description -n python-%{name} -l pl.UTF-8
+Moduł języka Python dla programu ecasound.
-%description -l pl -n python-%{name}
-Modu³ jêzyka Python dla biblioteki programu ecasound.
+%package -n ruby-%{name}
+Summary: Ruby module for Ecasound
+Summary(pl.UTF-8): Moduł języka Ruby dla programu ecasound
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+%{?ruby_mod_ver_requires_eq}
+
+%description -n ruby-%{name}
+Ruby module for Ecasound.
+
+%description -n ruby-%{name} -l pl.UTF-8
+Moduł języka Ruby dla programu ecasound.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
-rm missing
-%ifarch sparc sparc64
-libtoolize --copy --force
-%endif
-aclocal
-autoconf
-automake -a -c
-CXXFLAGS="%{rpmcflags} -D_REENTRANT %{!?debug:-DNDEBUG}"
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+CXXFLAGS="%{rpmcflags} -D_REENTRANT %{!?debug:-DNDEBUG} -I/usr/include/ncurses"
+# disable audiofile - ecasound has native support for wav and raw formats
+# disable oss - ecasound works nicely with alsa oss emulation;
+# in case of alsa building conditional, the oss should
+# be enabled
+# disable arts - 'not really useful' as said by ecasound author
%configure \
+ %{!?with_alsa:--disable-alsa} \
+ %{!?with_arts:--disable-arts} \
+ --disable-audiofile \
+ %{!?with_jack:--disable-jack} \
+ %{?with_alsa:--disable-oss} \
+ --enable-samplerate \
+ --enable-shared \
--enable-sys-readline \
+ --enable-pyecasound \
+ --with-largefile \
--with-python-includes=%{py_incdir} \
- --with-python-modules=%{py_libdir} \
- %{?_without_alsa:--disable-alsa}
+ --with-python-modules=%{py_libdir}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__install} -d $RPM_BUILD_ROOT%{py_sitedir}
+install -d $RPM_BUILD_ROOT%{py_sitedir}
-%{__make} DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT \
+ mandir=%{_mandir}
-install pyecasound/*.py $RPM_BUILD_ROOT%{py_sitedir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
%py_comp $RPM_BUILD_ROOT%{py_sitedir}
-
-%post -n libecasound -p /sbin/ldconfig
-%postun -n libecasound -p /sbin/ldconfig
+%py_postclean
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ecaconvert
-%attr(755,root,root) %{_bindir}/ecafixdc
-%attr(755,root,root) %{_bindir}/ecanormalize
-%attr(755,root,root) %{_bindir}/ecaplay
-%attr(755,root,root) %{_bindir}/ecasignalview
-%attr(755,root,root) %{_bindir}/ecasound
-%{_mandir}/man1/eca*
-%{_mandir}/man5/eca*
-
-%files -n libecasound
+%doc BUGS NEWS README TODO
+%attr(755,root,root) %{_bindir}/eca*
+%attr(755,root,root) %{_libdir}/libecasound.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libecasound.so.20
+%attr(755,root,root) %{_libdir}/libecasoundc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libecasoundc.so.1
+%attr(755,root,root) %{_libdir}/libkvutils.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libkvutils.so.4
+%{_datadir}/ecasound
+%{_mandir}/man1/eca*.1*
+%{_mandir}/man5/ecasoundrc.5*
+
+%files devel
%defattr(644,root,root,755)
-%dir %{_datadir}/ecasound
-%{_datadir}/ecasound/*
-%attr(755,root,root) %{_libdir}/libkvutils*.so.*.*
-%attr(755,root,root) %{_libdir}/libecasound*.so.*.*
-
-%files -n libecasound-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ecasound-config
-%attr(755,root,root) %{_bindir}/ecasoundc-config
-%{_includedir}/ecasound
-%{_includedir}/kvutils
+%attr(755,root,root) %{_bindir}/libecasound-config
+%attr(755,root,root) %{_bindir}/libecasoundc-config
+%attr(755,root,root) %{_libdir}/libecasound.so
+%attr(755,root,root) %{_libdir}/libecasoundc.so
%attr(755,root,root) %{_libdir}/libkvutils.so
-%attr(755,root,root) %{_libdir}/libkvutils.la
-%attr(755,root,root) %{_libdir}/libecasound*.so
-%attr(755,root,root) %{_libdir}/libecasound*.la
+%{_libdir}/libecasound.la
+%{_libdir}/libecasoundc.la
+%{_libdir}/libkvutils.la
+%{_includedir}/kvutils
+%{_includedir}/libecasound
+%{_includedir}/libecasoundc
-%files -n libecasound-static
+%files static
%defattr(644,root,root,755)
-%{_libdir}/libkvutils.a
%{_libdir}/libecasound.a
-%{py_sitedir}/*.a
+%{_libdir}/libecasoundc.a
+%{_libdir}/libkvutils.a
-%files plugins
+%files -n python-%{name}
%defattr(644,root,root,755)
-%dir %{_libdir}/ecasound-plugins
-%attr(755,root,root) %{_libdir}/ecasound-plugins/lib*.so*
-%{_libdir}/ecasound-plugins/lib*.la
-%{_libdir}/ecasound-plugins/lib*.a
+%attr(755,root,root) %{py_sitedir}/pyecasound.so
+%{py_sitedir}/ecacontrol.py[co]
+%{py_sitedir}/eci.py[co]
+%{py_sitedir}/pyeca.py[co]
-%files -n python-%{name}
+%if %{with ruby}
+%files -n ruby-%{name}
%defattr(644,root,root,755)
-%attr(755,root,root) %{py_sitedir}/*.so
-%{py_sitedir}/*.py[co]
+%{ruby_sitelibdir}/ecasound.rb
+%endif