Summary: Real-time software synthesizer
Name: zynaddsubfx
Version: 2.2.1
Release: 14%{?dist}
License: GPL
Group: Applications/Multimedia
URL: http://zynaddsubfx.sourceforge.net
Source0: http://download.sf.net/sourceforge/zynaddsubfx/ZynAddSubFX-%{version}.tar.bz2
Patch0: zyn_lash-0.5.0pre0.diff
Patch1: zynaddsubfx-fltk-config-broken.patch
Patch2: zynaddsubfx-fltk-config-broken-2.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: fltk >= 1.1.3
Requires: jack-audio-connection-kit >= 0.101.1
Requires: mxml >= 2.2
Requires: hicolor-icon-theme
BuildRequires: alsa-lib-devel fftw3-devel fltk-devel mxml-devel
BuildRequires: jack-audio-connection-kit-devel zlib-devel lash-devel
BuildRequires: libX11-devel fltk-fluid
BuildRequires: ImageMagick perl
BuildRequires: desktop-file-utils
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
%description
ZynAddSubFX is an open source software synthesizer capable of making a
countless number of instrument sounds.
%package doc
Summary: Documentation and examples for ZynAddSubFX
Group: Applications/Multimedia
Requires: %{name} = %{version}
%description doc
Documentation and examples for ZynAddSubFX
%prep
%setup -q -n ZynAddSubFX-%{version}
%patch0 -p1
%patch1 -p0
%patch2 -p0
%build
# fix microtuning bug (no keyboard mapping being done)
%{__perl} -p -i -e "s|tmp=Pmapping\[tx\]|Pmapping\[tx\]=tmp|g" src/Misc/Microtonal.C
%ifarch %{ix86} x86_64
# We're ok.
%else
%{__perl} -p -i -e "s|ASM_F2I=YES|ASM_F2I=NO|g" src/Makefile.inc
%endif
cd src
# do not use smp flags, makefile is not smp safe
%ifarch %{ix86} x86_64
make AUDIOOUT=JACK CXXFLAGS="-DOS_LINUX -DALSAMIDIIN -DFFTW_VERSION_3 -DASM_F2I_YES `fltk-config --cflags` -DJACKAUDIOOUT `pkg-config --cflags jack` `pkg-config --cflags lash-1.0`"
%else
make AUDIOOUT=JACK CXXFLAGS="-DOS_LINUX -DALSAMIDIIN -DFFTW_VERSION_3 -DASM_F2I_NO `fltk-config --cflags` -DJACKAUDIOOUT `pkg-config --cflags jack` `pkg-config --cflags lash-1.0`"
%endif
# build external programs
cd ../ExternalPrograms
cd Controller
./compile.sh
cd ../Spliter
./compile.sh
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
tar cf - examples banks presets | \
(cd $RPM_BUILD_ROOT%{_datadir}/%{name}; tar xvpf -)
cd src
install -m 0755 zynaddsubfx $RPM_BUILD_ROOT%{_bindir}
# install external programs
cd ../ExternalPrograms
cd Controller
install -m 0755 controller $RPM_BUILD_ROOT%{_bindir}/controller
cd ../Spliter
install -m 0755 spliter $RPM_BUILD_ROOT%{_bindir}/spliter
cd ../..
BASE="Application;AudioVideo;"
CATS="X-Synthesis;X-MIDI;X-Jack;"
%{__cat} << EOF > %{name}.desktop
[Desktop Entry]
Name=ZynAddSubFX
Comment=Real-time software synthesizer
Icon=zynaddsubfx
Type=Application
Exec=%{_bindir}/%{name}
Terminal=false
Categories=${BASE}${CATS}
Encoding=UTF-8
EOF
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora \
--dir ${RPM_BUILD_ROOT}%{_datadir}/applications \
--add-category X-Fedora \
--add-category AudioVideo \
--add-category Application \
%{name}.desktop
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
convert -resize 16x16 zynaddsubfx_icon.ico zynaddsubfx-16.png
convert -resize 32x32 zynaddsubfx_icon.ico zynaddsubfx-32.png
convert -resize 48x48 zynaddsubfx_icon.ico zynaddsubfx-48.png
convert -resize 64x64 zynaddsubfx_icon.ico zynaddsubfx-64.png
install -m 644 zynaddsubfx-32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/zynaddsubfx.png
install -m 644 zynaddsubfx-16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/zynaddsubfx.png
install -m 644 zynaddsubfx-32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/zynaddsubfx.png
install -m 644 zynaddsubfx-48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/zynaddsubfx.png
install -m 644 zynaddsubfx-64.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/zynaddsubfx.png
%clean
rm -rf $RPM_BUILD_ROOT
%post
# update icon themes
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%postun
# update icon themes
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%files
%defattr(-,root,root,-)
%doc COPYING FAQ.txt HISTORY.txt README.txt bugs.txt
%{_bindir}/*
%{_datadir}/%{name}
%{_datadir}/applications/*%{name}.desktop
%{_datadir}/pixmaps/zynaddsubfx.png
%{_datadir}/icons/hicolor/16x16/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/32x32/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/48x48/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/64x64/apps/zynaddsubfx.png
%changelog
* Fri Apr 06 2007 Anthony Green <green@redhat.com> 2.2.1-14
- Rebuild with new ImageMagick for working desktop icons.
* Thu Oct 05 2006 Christian Iseli <Christian.Iseli@licr.org> 2.2.1-13
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
* Tue Sep 19 2006 Anthony Green <green@redhat.com> 2.2.1-12
- Fix release tag.
* Mon Sep 18 2006 Anthony Green <green@redhat.com> 2.2.1-11.1
- Rebuild.
* Wed Aug 30 2006 Anthony Green <green@redhat.com> 2.2.1-11
- Fix ppc problem (in a different way).
* Wed Aug 30 2006 Anthony Green <green@redhat.com> 2.2.1-10
- Fix ppc problem. Add perl dependency.
* Wed Aug 30 2006 Anthony Green <green@redhat.com> 2.2.1-9
- Only build for x86 and x86-64 for now. (ppc build problem)
* Wed Aug 30 2006 Anthony Green <green@redhat.com> 2.2.1-8
- Depend on hicolor-icon-theme.
* Sat Aug 26 2006 Anthony Green <green@redhat.com> 2.2.1-7
- Add dist tag to release version.
- Tidy up description.
- Use standard scriptlets in %%post/%%postun.
* Thu Jul 20 2006 Anthony Green <green@redhat.com> 2.2.1-6
- Fix compile options and remove rpath usage (bug in fltk-config).
* Sat Jul 15 2006 Anthony Green <green@redhat.com> 2.2.1-5
- First Fedora Extras build.
- Fix Source0 permissions.
- Add desktop-file-utils requirements.
- Tweak macro usage and .desktop file.
- Convert and install icons. Add post(un) install scripts.
- Add ImageMagick BuildRequires.
* Mon May 8 2006 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.2.1-4
- added lash patch (http://www.student.nada.kth.se/~d00-llu/programming.php)
* Sat May 6 2006 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.2.1-3
- add Planet CCRMA categories to desktop file
* Fri Mar 31 2006 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu>
- build on fc5
* Fri Sep 23 2005 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.2.1-2
- rebuilt with new version of mxml (2.2.2)
- added specific requires for mxml version
* Tue May 3 2005 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.2.1-1
- updated to 2.2.1
* Fri Apr 8 2005 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.2.0-1
- updated to 2.2.0
* Mon Feb 7 2005 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.1.1-2
- fixed microtuning bug (patch from Paul Nasca)
* Sun Oct 3 2004 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.1.1-1
- updated to 2.1.1
* Fri Oct 1 2004 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.1.0-1
- updated to 2.1.0
* Fri Aug 27 2004 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.0.0-1
- updated to 2.0.0 final
- readded examples directory to the file list
- installed banks and presets
- compiled and installed "controller" and "spliter"
* Wed Aug 4 2004 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.0.0-0.pre2.1
- updated to latest prerelease
- added mxml build dependency, updated requirements to fftw3
- no documentation or examples for now
* Sat Nov 8 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.4.3-1
- spec file tweaks
* Mon Sep 1 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.4.3-1
- updated to 1.4.3, added release tag
* Fri Jul 25 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.4.2-1
- updated to 1.4.2
* Thu May 8 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.4.1-1
- updated to 1.4.1 (docs are still 1.4.0)
* Tue May 6 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.4.0-1
- updated to 1.4.0
* Tue Apr 8 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.2.1-2
- rebuilt for newer version of fftw
* Tue Apr 8 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.2.1-1
- udpated to 1.2.1
* Wed Apr 2 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.2.0-2
- rebuild for jack 0.66.3, added explicit requires for it
* Fri Mar 21 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.2.0-1
- updated to 1.2.0
* Thu Mar 6 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.0.9-2
- rebuilt due to changed fltk (from 1.1.0rc3 to 1.1.3)
- commented out deprecated jack_set_buffer_size_callback() call
* Mon Feb 24 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.0.9-1
- updated to 1.0.9
* Fri Feb 14 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.0.8-1
- updated to 1.0.8
* Fri Feb 6 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.0.7-1
- updated to 1.0.7
* Sun Jan 26 2003 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 1.0.5-1
- Initial build.