97796ba
Name:           stk
c11d4c5
Version:        4.4.2
2f14d4e
Release:        3%{?dist}
97796ba
Summary:        Synthesis ToolKit in C++
97796ba
Group:          System Environment/Libraries
97796ba
License:        MIT
97796ba
URL:            http://ccrma.stanford.edu/software/stk/
97796ba
Source0:        %{name}-%{version}.stripped.tar.gz
97796ba
# Original tarfile can be found at %{url}/release/%{name}-%{version}.tar.gz
97796ba
# We remove legeally questionable files.
97796ba
Source1:        README.fedora
97796ba
Source2:        config.guess
97796ba
Source3:        config.sub
c11d4c5
Patch0:         stk-4.4.2-header.patch
c11d4c5
Patch1:         stk-4.4.2-cflags-lib.patch
c11d4c5
Patch2:         stk-4.4.2-sharedlib.patch
c11d4c5
Patch3:         stk-4.4.2-missing.patch
97796ba
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
97796ba
BuildRequires:  alsa-lib-devel
97796ba
BuildRequires:  jack-audio-connection-kit-devel
97796ba
BuildRequires:  symlinks
c11d4c5
BuildRequires:  autoconf
97796ba
97796ba
97796ba
%description
97796ba
The Synthesis ToolKit in C++ (STK) is a set of open source audio
97796ba
signal processing and algorithmic synthesis classes written in the C++
97796ba
programming language. STK was designed to facilitate rapid development
97796ba
of music synthesis and audio processing software, with an emphasis on
97796ba
cross-platform functionality, realtime control, ease of use, and
97796ba
educational example code. The Synthesis ToolKit is extremely portable
97796ba
(it's mostly platform-independent C and C++ code), and it's completely
97796ba
user-extensible (all source included, no unusual libraries, and no
97796ba
hidden drivers). We like to think that this increases the chances that
97796ba
our programs will still work in another 5-10 years. In fact, the
97796ba
ToolKit has been working continuously for about 10 years now. STK
97796ba
currently runs with realtime support (audio and MIDI) on Linux,
97796ba
Macintosh OS X, and Windows computer platforms. Generic, non-realtime
97796ba
support has been tested under NeXTStep, Sun, and other platforms and
97796ba
should work with any standard C++ compiler.
97796ba
97796ba
97796ba
%package devel
97796ba
Summary:        Development files for %{name}
97796ba
Group:          Development/Libraries
97796ba
Requires:       %{name} = %{version}-%{release}
97796ba
97796ba
%description devel
97796ba
The %{name}-devel package contains libraries and header files for
97796ba
developing applications that use %{name}.
97796ba
97796ba
97796ba
%package demo
97796ba
Summary:        Demo applications for %{name}
97796ba
Group:          System Environment/Libraries
97796ba
Requires:       tk
97796ba
Requires:       %{name} = %{version}-%{release}
97796ba
97796ba
%description demo
97796ba
The %{name}-demo package contains the demo applications for the 
97796ba
C++ Sound Synthesis ToolKit.
97796ba
97796ba
97796ba
%prep
97796ba
%setup0 -q 
97796ba
%patch0 -p1 -b .header
97796ba
%patch1 -p1 -b .cflags
97796ba
%patch2 -p1 -b .sharedlib
c11d4c5
%patch3 -p1 -b .missing
97796ba
c11d4c5
# we patched configure.ac
c11d4c5
autoconf
c11d4c5
c11d4c5
cp -a %{SOURCE1} README.fedora
97796ba
97796ba
# update old aux scripts
c11d4c5
rm config/config.guess config/config.sub
c11d4c5
install -m 0755 -p %{SOURCE2} config/config.guess
c11d4c5
install -m 0755 -p %{SOURCE3} config/config.sub
c11d4c5
c11d4c5
# remove backup file
c11d4c5
find . -name '*~' -exec rm {} \;
97796ba
97796ba
97796ba
%build
97796ba
%configure --with-jack --with-alsa \
97796ba
  RAWWAVE_PATH=%{_datadir}/stk/rawwaves/
c11d4c5
make %{?_smp_mflags} -C src
c11d4c5
make %{?_smp_mflags} -C projects/demo libdemo libMd2Skini
c11d4c5
make %{?_smp_mflags} -C projects/examples -f libMakefile
c11d4c5
make %{?_smp_mflags} -C projects/effects libeffects
c11d4c5
make %{?_smp_mflags} -C projects/ragamatic libragamat
97796ba
97796ba
97796ba
%install
c11d4c5
rm -rf %{buildroot}
c11d4c5
mkdir -p \
97796ba
  %{buildroot}%{_includedir}/stk \
97796ba
  %{buildroot}%{_libdir} \
97796ba
  %{buildroot}%{_bindir} \
97796ba
  %{buildroot}%{_datadir}/stk/rawwaves \
97796ba
  %{buildroot}%{_datadir}/stk/demo \
97796ba
  %{buildroot}%{_datadir}/stk/examples \
97796ba
  %{buildroot}%{_datadir}/stk/effects \
97796ba
  %{buildroot}%{_datadir}/stk/ragamatic
97796ba
c11d4c5
cp -p include/* %{buildroot}%{_includedir}/stk 
c11d4c5
cp -pd src/libstk.* %{buildroot}%{_libdir}
c11d4c5
cp -p rawwaves/*.raw %{buildroot}%{_datadir}/stk/rawwaves
97796ba
c11d4c5
cp -pr projects/demo/tcl %{buildroot}%{_datadir}/stk/demo
c11d4c5
cp -pr projects/demo/scores %{buildroot}%{_datadir}/stk/demo
c11d4c5
cp -p projects/demo/demo %{buildroot}%{_bindir}/stk-demo
c11d4c5
cp -p projects/demo/Md2Skini %{buildroot}%{_bindir}/Md2Skini
97796ba
for f in Banded Drums Modal Physical Shakers StkDemo Voice ; do
c11d4c5
  chmod +x projects/demo/$f
c11d4c5
  sed -e 's,\./demo,%{_bindir}/stk-demo,' -e '1i#! /bin/sh' \
97796ba
    -i projects/demo/$f
c11d4c5
  cp -p projects/demo/$f %{buildroot}%{_datadir}/stk/demo
97796ba
done
97796ba
c11d4c5
cp -pr projects/examples/midifiles %{buildroot}%{_datadir}/stk/examples
c11d4c5
cp -pr projects/examples/rawwaves %{buildroot}%{_datadir}/stk/examples
c11d4c5
cp -pr projects/examples/scores %{buildroot}%{_datadir}/stk/examples
97796ba
for f in sine sineosc foursine audioprobe midiprobe duplex play \
97796ba
    record inetIn inetOut rtsine crtsine bethree controlbee \
97796ba
    threebees playsmf grains ; do
c11d4c5
  cp -p projects/examples/$f %{buildroot}%{_bindir}/stk-$f
97796ba
  # absolute links, will be shortened later
c11d4c5
  ln -s %{buildroot}%{_bindir}/stk-$f %{buildroot}%{_datadir}/stk/examples/$f
97796ba
done
97796ba
c11d4c5
cp -pr projects/effects/tcl %{buildroot}%{_datadir}/stk/effects
c11d4c5
cp -p projects/effects/effects %{buildroot}%{_bindir}/stk-effects
c11d4c5
sed -e 's,\./effects,%{_bindir}/stk-effects,' -e '1i#! /bin/sh' \
97796ba
  -i projects/effects/StkEffects
c11d4c5
cp -p projects/effects/StkEffects %{buildroot}%{_datadir}/stk/effects
97796ba
c11d4c5
cp -pr projects/ragamatic/tcl %{buildroot}%{_datadir}/stk/ragamatic
c11d4c5
cp -pr projects/ragamatic/rawwaves %{buildroot}%{_datadir}/stk/ragamatic
c11d4c5
cp -p projects/ragamatic/ragamat %{buildroot}%{_bindir}/stk-ragamat
c11d4c5
sed -e 's,\./ragamat,%{_bindir}/stk-ragamat,' -e '1i#! /bin/sh' \
97796ba
  -i projects/ragamatic/Raga
c11d4c5
cp -p projects/ragamatic/Raga %{buildroot}%{_datadir}/stk/ragamatic
97796ba
97796ba
# fix encoding
97796ba
iconv -f iso-8859-1 -t utf-8 doc/doxygen/index.txt \
97796ba
  -o doc/doxygen/index.txt.tmp
c11d4c5
mv doc/doxygen/index.txt.tmp doc/doxygen/index.txt
97796ba
97796ba
# fix symlinks
97796ba
symlinks -crv %{buildroot}
97796ba
c11d4c5
# finally, fix permissions
c11d4c5
chmod -R u=rwX,go=rX %{buildroot}
c11d4c5
97796ba
97796ba
%clean
c11d4c5
rm -rf %{buildroot}
97796ba
97796ba
97796ba
%post -p /sbin/ldconfig
97796ba
97796ba
97796ba
%postun -p /sbin/ldconfig
97796ba
97796ba
97796ba
%files
97796ba
%defattr(-,root,root,-)
97796ba
%doc README
97796ba
%{_libdir}/libstk.so.*
5d56608
%dir %{_datadir}/stk
97796ba
%{_datadir}/stk/rawwaves
97796ba
97796ba
97796ba
%files devel
97796ba
%defattr(-,root,root,-)
97796ba
%doc README doc/* README.fedora
97796ba
%exclude %{_libdir}/libstk.a
97796ba
%{_libdir}/libstk.so
97796ba
%{_includedir}/*
97796ba
97796ba
97796ba
%files demo
97796ba
%defattr(-,root,root,-)
97796ba
%doc README README.fedora
97796ba
%{_bindir}/stk-*
97796ba
%{_bindir}/Md2Skini
97796ba
%{_datadir}/stk/demo
97796ba
%{_datadir}/stk/examples
97796ba
%{_datadir}/stk/effects
97796ba
%{_datadir}/stk/ragamatic
97796ba
97796ba
97796ba
%changelog
2f14d4e
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.2-3
2f14d4e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2f14d4e
75ecc32
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.4.2-2
75ecc32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
75ecc32
c11d4c5
* Sat Feb 13 2010 Thomas Moschny <thomas.moschny@gmx.de> - 4.4.2-1
c11d4c5
- Update to 4.4.2.
c11d4c5
- Rebase patches. Ensure CXXFLAGS are in effect.
c11d4c5
- Follow Debian and use version 0 for the soname.
c11d4c5
- Specfile cleanups.
c11d4c5
5f9843f
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.1-10
5f9843f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
5f9843f
5c45dfc
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.1-9
5c45dfc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
5c45dfc
26d2817
* Tue Feb  3 2009 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-8
26d2817
- Update header patch: Add more missing includes. Should fix
26d2817
  compilation with gcc 4.4.0.
26d2817
5d56608
* Mon Dec  1 2008 Michael Schwendt <mschwendt@fedoraproject.org> - 4.3.1-7
5d56608
- Include /usr/share/stk directory in main package.
5d56608
97796ba
* Mon Sep 15 2008 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-6
97796ba
- Include updated config.guess and config.sub scripts.
97796ba
97796ba
* Tue Sep  9 2008 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-5
97796ba
- Don't ship the static library.
97796ba
97796ba
* Sun Sep  7 2008 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-4
97796ba
- Remove all .mid and .ski files from the tarball.
97796ba
- Add README.fedora.
97796ba
97796ba
* Thu Jul 31 2008 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-3
97796ba
- Remove src/include/dsound.h, and src/include/*asio* files from the
97796ba
  tarball, for legal reasons. Only used on windows anyway.
97796ba
- Remove src/include/soundcard.h (explicitly forbids modification) and
97796ba
  disable OSS support.
97796ba
- Build and pack Md2Skini.
97796ba
- Build and pack the examples.
97796ba
97796ba
* Tue Jul 15 2008 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-2
97796ba
- Update sharedlib patch, fixes alsa problem.
97796ba
- Fix path for include files in -devel.
97796ba
- Change path for docs in -devel.
97796ba
97796ba
* Sun Jul  6 2008 Thomas Moschny <thomas.moschny@gmx.de> - 4.3.1-1
97796ba
- New package.