+%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.7.8r12
-Release: 1
+Version: 2.1.0
+Release: 2
License: GPL
Group: Applications/Sound
-Group(pl): Aplikacje/D¼wiêk
Source0: http://ecasound.seul.org/download/%{name}-%{version}.tar.gz
-Patch0: ecasound-ncurses_and_sys_readline.patch.bz2
-Patch1: ecasound-DESTDIR.patch.bz2
-BuildRequires: qt-devel >= 2.0
-BuildRequires: audiofile-devel >= 0.1.7
-BuildRequires: readline-devel
-BuildRequires: ncurses-devel >= 5.0
+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
+BuildRequires: libstdc++-devel
+BuildRequires: readline-devel >= 4.2
+BuildRequires: rpm-pythonprov
+BuildRequires: python-devel >= 2.2
+BuildRequires: python-modules >= 2.2
Requires: lame
Requires: mpg123
+Requires: libecasound = %{version}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Ecasound is the software package for multitrack audio processing.
-
-1. Supported audio inputs/outputs:
-- ALSA - Advanced Linux Sound Architecture (PCM input, output and
- loopback support)
-- OSS (/dev/dsp*) - Open Sound System
-- RIFF WAVE (.wav) - 8/16bit non-compressed
-- Ecasound Wave Files (.ewf) - simple wrapper format for recording
- purposes
-- Raw/headerless sample data (.raw)
-- CDDA (.cdr) - format used on audio-CDs
-- MPEG 1.0/2.0 (layers 1, 2 and 3) (.mp3) - using mpg123 for input and
- lame for output
-- Module formats supported by MikMod - XM, IT, S3M, MOD, MTM, 669,
- STM, ULT, FAR, MED, AMF, DSM, IMF, GDM, STX
-- AIFF (.aiff) and Sun/NeXT audio (.au/.snd) formats using
- libaudiofile:
-- standard input/output streams (stdin, stdout) and named pipes 2.
- Effects:
-- Various amplifiers, panning, DC-fix, volume normalization
-- Channel mixing and routing
-- Noise gate, two compressors
-- Filters: lowpass, highpass, bandpass, bandreject, resonant lowpass,
- resonant bandpass, resonator, inverse comb
-- Time-based: multitap delay, reverb, fake-stereo 3. Controllers (for
- effect parameters):
-- sine oscillator
-- generic oscillator (either using an envelope table with static
- points or with linear interpolation)
-- linear envelopes
-- MIDI continuous controllers (CC)
-
-This package contains ecasound with interactive textmode user program
-and utilites which support batch processing:
-- ecatools_fixdc: fix DC-offset
-- ecatools_normalize: normalize volume level
-- ecatools_play: play files using the default output
+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. 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
+processing.
%description -l pl
-N/A
+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
+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(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
+Group: Libraries
%description -n libecasound
Ecasound libraries.
-%description -l pl -n libecasound
+%description -n libecasound -l pl
Biblioteki programu ecasound.
%package -n libecasound-devel
Summary: Ecasound headers
Summary(pl): Pliki nag³ówkowe bibliotek programu ecasound
Group: Development/Libraries
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
Requires: libecasound = %{version}
%description -n libecasound-devel
Ecasound headers.
-%description -l pl -n libecasound-devel
+%description -n libecasound-devel -l pl
Pliki nag³ówkowe bibliotek programu ecasound.
-%package -n qtecasound
-Summary: Ecasound QT frontend
-Summary(pl): Interfejs graficzny dla programu ecasound
-Group: Applications/Sound
-Group(pl): Aplikacje/D¼wiêk
-
-%description -n qtecasound
-This is qtecasound, Qt-based X-interface for ecasound. It is usable
-but isn't yet as powerful as the console mode version. This program
-features:
-- control panel (start, stop, rewind, forward, ...)
-- session setup (load, save and view chainsetups)
-- chainsetup view (add, remove, attach and view inputs, outputs and
- chains; enable/disable chains)
-- waveform view (supports caching)
-- chain view (chain and effect status)
-
-%description -n qtecasound -l pl
-N/A
-
-%package -n libqtecasound
-Summary: Ecasound QT frontend library
-Summary(pl): Biblioteki interfejsu graficznego programu ecasound
+%package -n libecasound-static
+Summary: Ecasound static libraries
+Summary(pl): Biblioteki statyczne programu ecasound
Group: Development/Libraries
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
+Requires: libecasound-devel = %{version}
-%description -n libqtecasound
-Ecasound QT frontend library.
+%description -n libecasound-static
+Ecasound static libraries.
-%description -l pl -n libqtecasound
-Biblioteki interfejsu graficznego programu ecasound.
+%description -n libecasound-static -l pl
+Biblioteki statyczne programu ecasound.
-%package -n libqtecasound-devel
-Summary: Ecasound QT frontend library headers
-Summary(pl): Pliki nag³ówkowe bibliotek interfejsu graficznego programu ecasound
-Group: Development/Libraries
-Group(fr): Development/Librairies
-Group(pl): Programowanie/Biblioteki
+%package plugins
+Summary: Ecasound plugins (ALSA, Audio File Library, aRts)
+Summary(pl): Wtyczki dla programu ecasound (ALSA, Audio File Library, aRts)
+Group: Applications/Sound
+Requires: ecasound = %{version}
-%description -n libqtecasound-devel
-Ecasound QT frontend library headers.
+%description plugins
+This package contains ecasound plugins, which give support for ALSA,
+Audio File Library and aRts.
-%description -l pl -n libqtecasound-devel
-Pliki nag³ówkowe bibliotek interfejsu graficznego programu ecasound.
+%description plugins -l pl
+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.
+%package -n python-%{name}
+Summary: Python module for Ecasound
+Summary(pl): Modu³ jêzyka Python dla biblioteki programu ecasound
+Group: Libraries/Python
+%requires_eq python
+
+%description -n python-%{name}
+Python module for Ecasound library.
+
+%description -n python-%{name} -l pl
+Modu³ jêzyka Python dla biblioteki programu ecasound.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
-automake
+rm missing
+%ifarch sparc sparc64
+libtoolize --copy --force
+%endif
+aclocal
autoconf
-LDFLAGS="-s"
-CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti"
-export LDFLAGS CXXFLAGS
+automake -a -c -f
+CXXFLAGS="%{rpmcflags} -D_REENTRANT %{!?debug:-DNDEBUG}"
%configure \
- --with-qt-includes=%{_prefix}/X11R6/include \
- --with-qt-libraries=%{_prefix}/X11R6/lib \
- --enable-sys-readline
+ --enable-sys-readline \
+ --with-python-includes=%{py_incdir} \
+ --with-python-modules=%{py_libdir} \
+ %{?_without_alsa:--disable-alsa}
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+%{__install} -d $RPM_BUILD_ROOT%{py_sitedir}
+
%{__make} DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
-gzip -9nf $RPM_BUILD_ROOT%{_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
%clean
rm -rf $RPM_BUILD_ROOT
%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*
%defattr(644,root,root,755)
%dir %{_datadir}/ecasound
%{_datadir}/ecasound/*
-%attr(755,root,root) %{_libdir}/libkvutils*.so*
-%attr(755,root,root) %{_libdir}/libecasound*.so*
+%attr(755,root,root) %{_libdir}/libkvutils*.so.*.*
+%attr(755,root,root) %{_libdir}/libecasound*.so.*.*
%files -n libecasound-devel
%defattr(644,root,root,755)
-%{_includedir}/ecasound/[^qe]*
-%{_includedir}/kvutils/*
-%attr(755,root,root) %{_libdir}/libkvutils.a
+%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 qtecasound
+%files -n libecasound-static
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qtecasound
-%{_mandir}/man1/qt*
+%{_libdir}/libkvutils.a
+%{_libdir}/libecasound.a
+%{py_sitedir}/*.a
-%files -n libqtecasound
+%files plugins
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libqtecasound*.so*
+%dir %{_libdir}/ecasound-plugins
+%attr(755,root,root) %{_libdir}/ecasound-plugins/lib*.so*
+%{_libdir}/ecasound-plugins/lib*.la
+%{_libdir}/ecasound-plugins/lib*.a
-%files -n libqtecasound-devel
+%files -n python-%{name}
%defattr(644,root,root,755)
-%{_includedir}/ecasound/qe*
-%attr(755,root,root) %{_libdir}/libqtecasound*.a
-%attr(755,root,root) %{_libdir}/libqtecasound*.la
+%attr(755,root,root) %{py_sitedir}/*.so
+%{py_sitedir}/*.py[co]