+#
+# Conditional build:
+# bcond_off_alsa - without ALSA support
+#
Summary: TiMidity++ - MIDI to WAV converter and player
Name: TiMidity++
-Version: 2.0.2
+Version: 2.10.3a2
Release: 1
-Group: Applications/Sound
-Copyright: GPL
+License: GPL
Vendor: Masanao Izumo <mo@goice.co.jp>
-Source: http://www.goice.co.jp/member/mo/timidity/dist/%{name}-%{version}.tar.bz2
-Patch0: TiMidity++-gtk.patch
-Patch1: TiMidity++-config.patch
+Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
+Source0: http://www.goice.co.jp/member/mo/timidity/dist/%{name}-%{version}.tar.bz2
+Patch0: %{name}-config.patch
+%ifnarch sparc sparc64
+%{!?bcond_off_alsa:BuildRequires: alsa-lib-devel}
+%endif
+BuildRequires: gtk+-devel
+BuildRequires: motif-devel
+BuildRequires: ncurses-devel
+BuildRequires: slang-devel
+BuildRequires: tk-devel >= 8.3.2
URL: http://www.goice.co.jp/member/mo/timidity/
-BuildRoot: /tmp/%{name}-%{version}-root
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
TiMidity++ is a converter that converts some of MIDI files ( formats :
-Standard MIDI file (*.MID), Recomposer files (*.RCP, *.R36, *.G18, *.G36)
-and Module file (*.mod) ) into formatted audio file (ex. RIFF WAVE).
-TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts (*.sfx,
-*.sf2) to generate digital audio data from MIDI files. The digital audio
-data generated by TiMidity can be stored in a file for processing, or played
-in real time through an audio device. In real time playing, TiMidity if able
-to show the lylic contained in KAR file or WRD file.
-
-This package contains interfaces for ncurses, emacs and WinAmp/x11amp skins.
+Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
+Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
+TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
+(sfx, sf2) to generate digital audio data from MIDI files. The digital
+audio data generated by TiMidity can be stored in a file for
+processing, or played in real time through an audio device. In real
+time playing, TiMidity if able to show the lylic contained in KAR file
+or WRD file.
%package slang
-Summary: Slang interface for TiMidity++.
+Summary: Slang interface for TiMidity++
Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
Requires: %{name} = %{version}
%description slang
Slang interface for TiMidity++.
%package motif
-Summary: Motif interface for TiMidity++.
+Summary: Motif interface for TiMidity++
Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
Requires: %{name} = %{version}
%description motif
-Motif interface for TiMidity++.
+xmmidi -- Motif interface for TiMidity++.
%package tcltk
-Summary: Tcl/Tk interface for TiMidity++.
+Summary: Tcl/Tk interface for TiMidity++
Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
Requires: %{name} = %{version}
%description tcltk
-Tcl/Tk interface for TiMidity++.
+tkmidi -- Tcl/Tk interface for TiMidity++.
%package xaw
-Summary: Athena interface for TiMidity++.
+Summary: Athena interface for TiMidity++
Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
Requires: %{name} = %{version}
%description xaw
-Athena interface for TiMidity++.
+xawmidi -- Athena interface for TiMidity++.
%package gtk
-Summary: GTK+ interface for TiMidity++.
+Summary: GTK+ interface for TiMidity++
Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
Requires: %{name} = %{version}
%description gtk
-GTK+ interface for TiMidity++.
+gtkmidi -- GTK+ interface for TiMidity++.
+
+%package vt100
+Summary: VT100 interface for TiMidity++
+Group: Applications/Sound
+Group(de): Applikationen/Laut
+Group(pl): Aplikacje/D¼wiêk
+Requires: %{name} = %{version}
+
+%description vt100
+VT100 interface for TiMidity++.
%prep
%setup -q
-%patch1 -p1
+%patch0 -p1
%build
-aclocal
-autoheader
-autoconf
-automake
%configure \
+ --with-elf \
+%ifnarch sparc sparc64
+ %{!?bcond_off_alsa:--enable-alsa} \
+%endif
--enable-dynamic \
--enable-ncurses=dynamic \
--enable-slang=dynamic \
--enable-xaw=dynamic \
--enable-xskin=dynamic \
--enable-gtk=dynamic \
+ --enable-vt100=dynamic \
--enable-network \
+ --enable-server \
--enable-spectrogram
-patch -p1 <%{PATCH0}
-make
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches}
-make install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc,%{_datadir}/GUSpatches}
-install timidity.cfg $RPM_BUILD_ROOT/etc
+install timidity.cfg $RPM_BUILD_ROOT%{_sysconfdir}
-strip --strip-unneeded $RPM_BUILD_ROOT%{_bindir}/* \
- $RPM_BUILD_ROOT%{_libdir}/timidity/*.so || :
+## based on timidity/timidity.c
+##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
+ln -s timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
+ln -s timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
+ln -s timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
+ln -s timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
+ln -s timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man*/* \
- AUTHORS README* ChangeLog* NEWS doc/C/{CHANGES*,FAQ,README*}
+gzip -9nf AUTHORS README* ChangeLog* NEWS doc/C/{CHANGES*,FAQ,README*}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc {AUTHORS,README*,ChangeLog*,NEWS,doc/C/{CHANGES*,FAQ,README.{dl,sf,xskin}*}}.gz
+%doc *.gz ,doc/C/*.gz
%attr(755,root,root) %{_bindir}/timidity
%attr(755,root,root) %{_libdir}/timidity/interface_n.so
%attr(755,root,root) %{_libdir}/timidity/interface_e.so
%attr(755,root,root) %{_libdir}/timidity/interface_i.so
%{_libdir}/timidity/bitmaps
-%{_mandir}/man[15]/*
-%config /etc/timidity.cfg
+%{_mandir}/man*/*
+%config(noreplace) %{_sysconfdir}/timidity.cfg
%ghost %dir %{_datadir}/GUSpatches
%files slang
%files motif
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/timidity/interface_m.so
+%attr(755,root,root) %{_bindir}/xmmidi
%files tcltk
%defattr(644,root,root,755)
%doc doc/C/README.tk.gz
%attr(755,root,root) %{_libdir}/timidity/interface_k.so
%{_libdir}/timidity/*.tcl
+%attr(755,root,root) %{_bindir}/tkmidi
%files xaw
%defattr(644,root,root,755)
%doc doc/C/README.xaw.gz
%attr(755,root,root) %{_libdir}/timidity/interface_a.so
+%attr(755,root,root) %{_bindir}/xawmidi
%files gtk
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/timidity/interface_g.so
+%attr(755,root,root) %{_bindir}/gtkmidi
+
+%files vt100
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/timidity/interface_T.so