Blob Blame History Raw
Summary:        Real-time software synthesizer
Name:           zynaddsubfx
Version:        2.2.1
Release:        17%{?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
Patch3:		zynaddsubfx-unzombify.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
%patch3 -p1

%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
* Wed Oct 10 2007 Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> 2.2.1-17
- added tweaked unzombify patch by Lars Luthman (patch3), see:
  http://sourceforge.net/tracker/index.php?func=detail&aid=1498438&group_id=62934&atid=502314

* Tue Oct 09 2007 Anthony Green <green@redhat.com> 2.2.1-16
- Rebuilt for new lash again.

* Mon Oct 08 2007 Anthony Green <green@redhat.com> 2.2.1-15
- Rebuilt for new lash.

* Wed Mar 14 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.