+#
+# todo:
+# - jack-audio-connection-kit support
+#
-%define python_sitepkgsdir %(echo `python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[:3] + '/site-packages/')"`)
-%define python_compile_opt python -O -c "import compileall; compileall.compile_dir('.')"
-%define python_compile python -c "import compileall; compileall.compile_dir('.')"
+#
+# Conditional build:
+# _without_alsa - without ALSA support
+#
+
+%include /usr/lib/rpm/macros.python
Summary: Software package for multitrack audio processing
Summary(pl): Oprogramowanie do wielo¶cie¿kowego przetwarzania d¼wiêku
Name: ecasound
-Version: 1.9dev1
-Release: 2
+Version: 2.2.3
+Release: 1
License: GPL
Group: Applications/Sound
-Group(de): Applikationen/Laut
-Group(pl): Aplikacje/D¼wiêk
Source0: http://ecasound.seul.org/download/%{name}-%{version}.tar.gz
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: ncurses-devel >= 5.0
-BuildRequires: readline-devel
+# Source0-md5: 40a3f0213c30b18e1b4e7879faa6b454
+Patch0: %{name}-link.patch
%ifnarch sparc sparc64
-BuildRequires: alsa-lib-devel
+%{!?_without_alsa:BuildRequires: alsa-lib-devel}
%endif
-BuildRequires: audiofile-devel >= 0.2.0
-BuildRequires: python-devel
-Requires: lame
-Requires: mpg123
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: ladspa-devel
+BuildRequires: libsamplerate-devel
+BuildRequires: libstdc++-devel
+BuildRequires: libtool >= 2:1.4d
+BuildRequires: python-devel >= 2.2
+BuildRequires: python-modules >= 2.2
+BuildRequires: readline-devel >= 4.2
+BuildRequires: rpm-pythonprov
+Obsoletes: libecasound
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
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
+%package devel
+Summary: Header files for ecasound libraries
+Summary(pl): Pliki nag³ówkowe bibliotek ecasound
Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
+Requires: %{name} = %{version}
+Obsoletes: libecasound-devel
-%description -n libecasound
-Ecasound libraries.
+%description devel
+Header files for ecasound libraries.
-%description -l pl -n libecasound
-Biblioteki programu ecasound.
+%description devel -l pl
+Pliki nag³ówkowe bibliotek ecasound.
-%package -n libecasound-devel
-Summary: Ecasound headers
-Summary(pl): Pliki nag³ówkowe bibliotek programu ecasound
+%package static
+Summary: Static ecasound libraries
+Summary(pl): Statyczne biblioteki ecasound
Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-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
-Group: Development/Libraries
-Group(de): Entwicklung/Libraries
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
-Requires: libecasound-devel = %{version}
-
-%description -n libecasound-static
-Ecasound static libraries.
-
-%description -l pl -n libecasound-static
-Biblioteki statyczne programu ecasound.
+Requires: %{name}-devel = %{version}
+Obsoletes: libecasound-static
-%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(pl): Aplikacje/D¼wiêk
-Requires: ecasound = %{version}
-
-%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
+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(pl): Programowanie/Jêzyki/Python
+Summary(pl): Modu³ jêzyka Python dla programu ecasound
+Group: Libraries/Python
+%pyrequires_eq python-modules
%description -n python-%{name}
-Python module for Ecasound library.
+Python module for Ecasound.
-%description -l pl -n python-%{name}
-Modu³ jêzyka Python dla biblioteki programu ecasound.
+%description -n python-%{name} -l pl
+Modu³ jêzyka Python dla programu ecasound.
%prep
%setup -q
+%patch0 -p1
%build
-aclocal
-autoconf
-automake -a -c
-CXXFLAGS="%{!?debug:$RPM_OPT_FLAGS}%{?debug:-O0 -g} -fno-rtti"
+rm -f missing
+%{__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 \
- --enable-sys-readline
+ --enable-sys-readline \
+ --with-python-includes=%{py_incdir} \
+ --with-python-modules=%{py_libdir} \
+ --disable-audiofile \
+ --disable-arts \
+ %{?_without_alsa:--disable-alsa} \
+ %{!?_without_alsa:--disable-oss} \
+ --enable-pyecasound \
+ --enable-samplerate \
+ --with-largefile
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
+install -d $RPM_BUILD_ROOT%{py_sitedir}
-( cd pyecasound
- %python_compile_opt
- %python_compile
- install *.pyc *.pyo $RPM_BUILD_ROOT%{python_sitepkgsdir}
-)
+%{__make} DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
+install pyecasound/*.py $RPM_BUILD_ROOT%{py_sitedir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
%clean
rm -rf $RPM_BUILD_ROOT
-%post -n libecasound -p /sbin/ldconfig
-%postun -n libecasound -p /sbin/ldconfig
+%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
+%doc BUGS NEWS README TODO
+%attr(755,root,root) %{_bindir}/eca*
+%attr(755,root,root) %{_libdir}/lib*.so.*.*
+
+%{_datadir}/ecasound
+
%{_mandir}/man1/eca*
%{_mandir}/man5/eca*
-%files -n libecasound
-%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
+%files 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) %{_libdir}/libkvutils.so
-%attr(755,root,root) %{_libdir}/libkvutils.la
-%attr(755,root,root) %{_libdir}/libecasound*.so
-%attr(755,root,root) %{_libdir}/libecasound*.la
-
-%files -n libecasound-static
-%defattr(644,root,root,755)
-%{_libdir}/libkvutils.a
-%{_libdir}/libecasound.a
-
-%files plugins
+%attr(755,root,root) %{_bindir}/*-config
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_libdir}/lib*.la
+%{_includedir}/kvutils
+%{_includedir}/libecasound
+%{_includedir}/libecasoundc
+
+%files static
%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
+%{_libdir}/lib*.a
%files -n python-%{name}
%defattr(644,root,root,755)
-%attr(755,root,root) %{python_sitepkgsdir}/*.so
-%{python_sitepkgsdir}/*.pyo
-%{python_sitepkgsdir}/*.pyc
+%attr(755,root,root) %{py_sitedir}/*.so
+%{py_sitedir}/*.py[co]