%define name ecasound %define version 2.4.2 %define major 14 %define libname %mklibname %{name} %{major} %define Summary Sound processing, multitrack recording, and mixing tools Summary: %{Summary} Name: %{name} Version: %{version} Release: %mkrel 1 License: GPL Group: Sound URL: http://www.eca.cx/ecasound/ Source0: http://ecasound.seul.org/download/%{name}-%{version}.tar.bz2 Source1: %{name}16.png Source2: %{name}32.png Source3: %{name}48.png Patch0: ecasound-2.4.0-shared.diff.bz2 BuildRequires: autoconf2.5 BuildRequires: automake1.7 BuildRequires: arts-devel BuildRequires: jackit-devel BuildRequires: libalsa-devel BuildRequires: libaudiofile-devel BuildRequires: ncurses-devel BuildRequires: python-devel BuildRequires: ruby-devel %if %mdkversion >= 1020 BuildRequires: multiarch-utils >= 1.0.3 %endif BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot %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('.')" %description Ecasound is a software package designed for multitrack audio processing. It can be used for simple tasks like audio playback, 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. Effects and audio objects can be combined in various ways, and their parameters can be controlled by operator objects like oscillators and MIDI-CCs. A versatile console mode user-interface is included in the package. %package -n %{libname} Summary: Shared libraries for Ecasound Group: System/Libraries %description -n %{libname} Ecasound is a software package designed for multitrack audio processing. It can be used for simple tasks like audio playback, 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. Effects and audio objects can be combined in various ways, and their parameters can be controlled by operator objects like oscillators and MIDI-CCs. A versatile console mode user-interface is included in the package. This package contains the shared Ecasound libraries. %package -n python-ecasound Summary: Python bindings to ecasound control interface Group: Sound Requires: ecasound %description -n python-ecasound Python bindings to Ecasound Control Interface (ECI). %package -n ruby-ecasound Summary: Ruby bindings to ecasound control interface Group: Sound Requires: ecasound %description -n ruby-ecasound Ruby bindings to Ecasound Control Interface (ECI). %package -n %{libname}-devel Summary: Ecasound - development files Group: Development/Other Provides: lib%{name}-devel %{name}-devel Requires: %{libname} = %{version} Obsoletes: libecasound-devel %description -n %{libname}-devel The ecasound-devel package contains the header files and static libraries necessary for building apps like ecawave and ecamegapedal that directly link against ecasound libraries. %prep %setup -q %patch0 -p1 # lib64 fix perl -pi -e "s|/lib/|/%{_lib}/|g" configure* %build export WANT_AUTOCONF_2_5=1 libtoolize --copy --force && aclocal-1.7 && autoconf && automake-1.7 --foreign --add-missing export CFLAGS="%{optflags} -fPIC -DPIC" export CXXFLAGS="%{optflags} -fPIC -DPIC" %configure2_5x \ --enable-shared \ --with-largefile %make # (oe) the tests dies at "ECA_TEST_REPOSITORY" on cooker as # of Fri Apr 01 2005 but works on 10.1 x86_64 #make check %install rm -fr %{buildroot} install -d %{buildroot}%{python_sitepkgsdir} %makeinstall_std pushd pyecasound %python_compile_opt %python_compile install *.pyc *.pyo %{buildroot}%{python_sitepkgsdir} popd # Icons install -m644 %{SOURCE1} -D %{buildroot}%{_miconsdir}/%{name}.png install -m644 %{SOURCE2} -D %{buildroot}%{_iconsdir}/%{name}.png install -m644 %{SOURCE3} -D %{buildroot}%{_liconsdir}/%{name}.png # Menu install -d %{buildroot}%{_menudir} cat << EOF > %{buildroot}%{_menudir}/%{name} ?package(%{name}): needs="text" \\ section="Multimedia/Sound" \\ title="Ecasound" \\ longtitle="%{Summary}" \\ command="%{name} -c" \\ icon="%{name}.png" ?package(%{name}): needs="text" \\ section="Multimedia/Sound" \\ title="Eca Monitor" \\ longtitle="%{Summary}" \\ command="ecamonitor" \\ icon="%{name}.png" ?package(%{name}): needs="text" \\ section="Multimedia/Sound" \\ title="Eca Signalview" \\ longtitle="%{Summary}" \\ command="ecasignalview" \\ icon="%{name}.png" EOF %if %mdkversion >= 1020 %multiarch_binaries %{buildroot}%{_bindir}/libecasound-config %multiarch_binaries %{buildroot}%{_bindir}/libecasoundc-config %endif %post %update_menus %postun %clean_menus %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig %clean rm -rf %{buildroot} %files -n %{libname} %defattr(-, root, root) %{_libdir}/*.so.* %files %defattr(-,root,root) %doc NEWS COPYING COPYING.GPL COPYING.LGPL README BUGS TODO examples %doc Documentation/*.html Documentation/*.txt %{_bindir}/eca* #%config(noreplace) %{_sysconfdir}/ecasound/* %{_datadir}/%{name} %{_mandir}/man1/* %{_mandir}/man5/* %{_iconsdir}/%{name}.png %{_miconsdir}/%{name}.png %{_liconsdir}/%{name}.png %{_menudir}/%{name} %files -n python-ecasound %defattr(-,root,root) %{python_sitepkgsdir}/*.so %{python_sitepkgsdir}/*.py %{python_sitepkgsdir}/*.pyc %{python_sitepkgsdir}/*.pyo %files -n ruby-ecasound %defattr(-,root,root) %{_libdir}/ruby/site_ruby/*/* %files -n %{libname}-devel %defattr(-, root, root) %if %mdkversion >= 1020 %multiarch %{multiarch_bindir}/libecasound-config %multiarch %{multiarch_bindir}/libecasoundc-config %endif %{_bindir}/libecasound-config %{_bindir}/libecasoundc-config %{_includedir}/kvutils/*.h %{_includedir}/libecasound/*.h %{_includedir}/libecasoundc/*.h %{_libdir}/*.so %{_libdir}/*.la %{_libdir}/*.a %changelog * Wed Aug 17 2005 Nicolas Lécureuil <neoclust@mandriva.org> 2.4.2-1mdk - New release 2.4.2 * Sat Jun 18 2005 Oden Eriksson <oeriksson@mandriva.com> 2.4.1-1mdk - 2.4.1 - fix deps - drop obsolete patches * Fri Apr 01 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 2.4.0-1mdk - 2.4.0 - added missing code (P0) - make it compile on amd64 - make shared libraries - use the %%mkrel macro - fix python-naming-policy-not-applied rpmlint error - fix possible future ruby-naming-policy-not-applied rpmlint error * Mon Jan 31 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 2.3.5-2mdk - fix deps and conditional %%multiarch * Thu Nov 11 2004 Austin Acton <austin@mandrake.org> 2.3.5-1mdk - 2.3.5 * Fri Oct 29 2004 Austin Acton <austin@mandrake.org> 2.3.4-1mdk - 2.3.4 - source URL * Tue Jun 8 2004 Austin Acton <austin@mandrake.org> 2.3.3-2mdk - buildrequires ruby * Tue May 4 2004 Austin Acton <austin@mandrake.org> 2.3.3-1mdk - 2.3.3 - delib buildrequires - configure 2.5 * Wed Dec 10 2003 Lenny Cartier <lenny@mandrakesoft.com> 2.3.2-1mdk - 2.3.2 - add ruby subpackage * Tue Nov 18 2003 Austin Acton <austin@linux.ca> 2.3.1-1mdk - 2.3.1 * Sat Aug 30 2003 Austin Acton <aacton@yorku.ca> 2.3.0-1mdk - 2.3.0 * Thu Aug 7 2003 Austin Acton <aacton@yorku.ca> 2.2.3-4mdk - python 2.3 * Fri Jul 25 2003 Per Øyvind Karlsen <peroyvind@sintrax.net> 2.2.3-3mdk - rebuild - change summary macro to avoid possible conflicts if we were to build debug package - use %%makeinstall_std macro * Mon May 26 2003 Austin Acton <aacton@yorku.ca> 2.2.3-2mdk - pyecasound does not provide ecasound * Mon Apr 28 2003 Austin Acton <aacton@yorku.ca> 2.2.3-1mdk - 2.2.3 - use mklibname * Sun Mar 23 2003 Austin Acton <aacton@yorku.ca> 2.2.2-2mdk - use default rc file location (/usr/share not /etc) * Wed Mar 19 2003 Austin Acton <aacton@yorku.ca> 2.2.2-1mdk - 2.2.2 * Sun Feb 16 2003 Austin Acton <aacton@yorku.ca> 2.2.1-1mdk - 2.2.1 * Sat Feb 8 2003 Austin Acton <aacton@yorku.ca> 2.2.0-2mdk - add wonderful improvements from Maxim Heijndijk <cchq@wanadoo.nl> (thanks!) - icons, menu entries, config file in /etc, auto python version detection large file support, compiled pyecasound - convert patches to scripts for easier updating (hopefully) * Fri Jan 10 2003 Austin Acton <aacton@yorku.ca> 2.2.0-1mdk - initial package