116 lines
4.4 KiB
RPMSpec
116 lines
4.4 KiB
RPMSpec
# We used to define this dynamically, but the Fedora buildsystem chokes on
|
|
# using this for the versioned Requires on tcl(abi), so we hardcode it.
|
|
# This sucks, but there is no other clean way around it, because tcl
|
|
# (and tclsh) aren't in the default buildroot.
|
|
%{!?tcl_version: %define tcl_version 8.5}
|
|
%{!?tcl_sitearch: %define tcl_sitearch %{_libdir}/tcl%{tcl_version}}
|
|
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
|
%define realname snack
|
|
|
|
Name: tcl-%{realname}
|
|
Version: 2.2.10
|
|
Release: 4%{?dist}
|
|
Summary: Sound toolkit
|
|
Group: System Environment/Libraries
|
|
License: GPLv2+
|
|
URL: http://www.speech.kth.se/snack/
|
|
# The upstream source has two files which implement MP3 decoding.
|
|
# ./generic/jkFormatMP3.c and ./generic/jkFormatMP3.h
|
|
# Due to patent concerns, we cannot ship that code, thus, the modified tarball.
|
|
# Those files are not present in the tarball, all other related removals is done
|
|
# with a patch.
|
|
# Upstream source can be found here: http://www.speech.kth.se/snack/dist/snack2.2.10.tar.gz
|
|
Source0: %{realname}%{version}-nomp3.tar.gz
|
|
Patch0: snack2.2.10-nomp3.patch
|
|
Patch1: snack2.2.10-extracflags.patch
|
|
Patch2: snack2.2.10-shared-stubs.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
BuildRequires: tcl-devel, tk-devel, alsa-lib-devel, libogg-devel, libvorbis-devel
|
|
BuildRequires: python-devel
|
|
Requires: tcl(abi) = %{tcl_version}
|
|
Provides: %{realname} = %{version}-%{release}
|
|
|
|
%description
|
|
The Snack Sound Toolkit is designed to be used with a scripting language such
|
|
as Tcl/Tk or Python. Using Snack you can create powerful multi-platform audio
|
|
applications with just a few lines of code. Snack has commands for basic sound
|
|
handling, such as playback, recording, file and socket I/O. Snack also provides
|
|
primitives for sound visualization, e.g. waveforms and spectrograms. It was
|
|
developed mainly to handle digital recordings of speech, but is just as useful
|
|
for general audio. Snack has also successfully been applied to other
|
|
one-dimensional signals. The combination of Snack and a scripting language
|
|
makes it possible to create sound tools and applications with a minimum of
|
|
effort. This is due to the rapid development nature of scripting languages. As
|
|
a bonus you get an application that is cross-platform from start. It is also
|
|
easy to integrate Snack based applications with existing sound analysis
|
|
software.
|
|
|
|
%package -n python-%{realname}
|
|
Summary: Python bindings for Snack Sound Toolkit
|
|
Group: System Environment/Libraries
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description -n python-%{realname}
|
|
This package contains python bindings for the Snack Sound Toolkit. Tcl, Tk, and
|
|
Tkinter are also required to use Snack.
|
|
|
|
%prep
|
|
%setup -q -n %{realname}%{version}
|
|
%patch0 -p1 -b .nomp3
|
|
%patch1 -p1 -b .extracflags
|
|
%patch2 -p1 -b .shared-stubs
|
|
chmod -x generic/*.c generic/*.h unix/*.c COPYING README demos/python/*
|
|
iconv -f iso-8859-1 -t utf-8 -o README{.utf8,}
|
|
mv README{.utf8,}
|
|
sed -i -e 's|\r||g' demos/python/*.txt
|
|
|
|
%build
|
|
cd unix/
|
|
%configure --disable-static --enable-alsa --with-tcl=%{_libdir} --with-tk=%{_libdir} --with-ogg-include=%{_includedir} --with-ogg-lib=%{_libdir}
|
|
make %{?_smp_mflags} EXTRACFLAGS="%{optflags}"
|
|
cd ../python
|
|
%{__python} setup.py build
|
|
|
|
%install
|
|
rm -rf %{buildroot}
|
|
cd unix/
|
|
make install DESTDIR=%{buildroot}
|
|
find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
|
cd ../python
|
|
%{__python} setup.py install --skip-build --root %{buildroot}
|
|
install -d %{buildroot}%{tcl_sitearch}
|
|
mv %{buildroot}%{_libdir}/%{realname}2.2 %{buildroot}%{tcl_sitearch}/%{realname}2.2
|
|
chmod -x %{buildroot}%{tcl_sitearch}/%{realname}2.2/snack.tcl
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%doc COPYING README
|
|
%{_libdir}/libsnackstub2.2.so
|
|
%{tcl_sitearch}/%{realname}2.2/
|
|
|
|
%files -n python-%{realname}
|
|
%defattr(-,root,root,-)
|
|
%doc doc/python-man.html demos/python/
|
|
%{python_sitelib}/tkSnack*
|
|
|
|
%changelog
|
|
* Thu Sep 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.10-4
|
|
- *sigh* hardcoding the tcl version is the only way to get it through the buildsystem
|
|
|
|
* Wed Sep 17 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.10-3
|
|
- don't hardcode tcl abi version
|
|
|
|
* Mon Aug 4 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.10-2
|
|
- add BR: python
|
|
|
|
* Wed Jun 11 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.2.10-1
|
|
- Initial package for Fedora
|
|
|