#
# Conditional build:
-# _without_alsa - without ALSA support
+%bcond_without X # without Xaw & xskin (implies libX11 deps)
+%bcond_without alsa # without ALSA support
+%bcond_with arts # enable ARTS support (implies also glib(2) deps)
+%bcond_with esd # enable ESD support
+%bcond_with jack # enable JACK support
+%bcond_with nas # enable NAS support
+%bcond_with vorbis # enable Ogg Vorbis support
#
Summary: TiMidity++ - MIDI to WAV converter and player
Summary(pl): TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
Summary(ru): ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ× É ËÏÎ×ÅÒÔÏÒ ÉÈ × WAV ÆÏÒÍÁÔ
Summary(uk): ðÒÏÇÒÁ×ÁÞ MIDI-ÆÁÊÌ¦× ÔÁ ËÏÎ×ÅÒÔÏÒ §È × WAV ÆÏÒÍÁÔ
Name: TiMidity++
-%define _ver 2.12.0
-%define _pre pre1
-Version: %{_ver}%{_pre}
-Release: 2
+Version: 2.13.0
+Release: 3
License: GPL
Vendor: Masanao Izumo <mo@goice.co.jp>
Group: Applications/Sound
-#Source0: http://www.goice.co.jp/member/mo/timidity/dist/%{name}-%{version}.tar.bz2
-Source0: http://www.goice.co.jp/member/mo/timidity/dist/%{name}-%{_ver}-%{_pre}.tar.bz2
-# Source0-md5: 6a878bc9341812d6a0b9a7a7d38c368c
+Source0: http://dl.sourceforge.net/timidity/%{name}-%{version}.tar.bz2
+# Source0-md5: 63284981e1ac81fce2b53cc4b1f4c468
Source1: http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
-# Source1-md5: 4959787a78ee39d44a36185bd303cf20
+# Source1-md5: 4959787a78ee39d44a36185bd303cf20
Source2: britepno.pat.bz2
+# Source2-md5: 324e265362f812883024b58cf3470d1a
Source3: pistol.pat.bz2
+# Source3-md5: f961325db679de6e0ea402ebe6a268f9
Source4: timidity.cfg
-Patch0: %{name}-config.patch
-URL: http://www.goice.co.jp/member/mo/timidity/
-%{!?_without_alsa:BuildRequires: alsa-lib-devel}
+URL: http://timidity.sourceforge.net/
+%{?with_alsa:BuildRequires: alsa-lib-devel}
+%{?with_arts:BuildRequires: arts-devel}
BuildRequires: autoconf
+%{?with_esd:BuildRequires: esound-devel}
+%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
BuildRequires: gtk+-devel
BuildRequires: motif-devel
+%{?with_nas:BuildRequires: nas-devel}
BuildRequires: ncurses-devel
BuildRequires: slang-devel
BuildRequires: tk-devel >= 8.3.2
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%{?with_vorbis:BuildRequires: libvorbis-devel}
Obsoletes: timidity
Obsoletes: timidity++
Obsoletes: timidity++-X11
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
TiMidity++ is a converter that converts some of MIDI files ( formats :
%description gspdir -l pl
Katalog, w którym powinny byæ instalowane instrumenty dla TiMidity++.
-%package gtk
-Summary: GTK+ interface for TiMidity++
-Summary(pl): Interfejs TiMidity++ oparty o bibliotekê gtk+
-Group: Applications/Sound
-Requires: %{name} = %{version}
-
-%description gtk
-gtkmidi - GTK+ interface for TiMidity++.
-
-%description gtk -l pl
-gtkmidi - interfejs do TiMidity++ oparty o bibliotekê gtk+.
-
%package instruments
Summary: Instruments for TiMidity++
Summary(pl): Instrumenty dla TiMidity++
Summary(pt_BR): Instrumentos básicos para o TiMidity++
Group: Applications/Sound
-Requires: %{name}-gspdir
+Requires: %{name}-gspdir = %{version}-%{release}
Obsoletes: timidity-patches
%description instruments
Este pacote inclui um conjunto básico de instrumentos (chamados de
patches no meio musical) para o TiMidity++.
+%package gtk
+Summary: GTK+ interface for TiMidity++
+Summary(pl): Interfejs TiMidity++ oparty o bibliotekê gtk+
+Group: Applications/Sound
+Requires: %{name} = %{version}-%{release}
+
+%description gtk
+gtkmidi - GTK+ interface for TiMidity++.
+
+%description gtk -l pl
+gtkmidi - interfejs do TiMidity++ oparty o bibliotekê gtk+.
+
%package motif
Summary: Motif interface for TiMidity++
Summary(pl): Interfejs TiMidity++ oparty o Motif
Group: Applications/Sound
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description motif
xmmidi - Motif interface for TiMidity++.
Summary: Slang interface for TiMidity++
Summary(pl): Interfejs TiMidity++ oparty o bibliotekê Slang
Group: Applications/Sound
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description slang
Slang interface for TiMidity++.
Summary: Tcl/Tk interface for TiMidity++
Summary(pl): Interfejs TiMidity++ oparty o Tcl/Tk
Group: Applications/Sound
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description tcltk
tkmidi - Tcl/Tk interface for TiMidity++.
Summary: VT100 interface for TiMidity++
Summary(pl): Interfejs TiMidity++ dzia³aj±cy na terminalu VT100
Group: Applications/Sound
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description vt100
VT100 interface for TiMidity++.
Summary: Athena interface for TiMidity++
Summary(pl): Interfejs TiMidity++ oparty o Athena Widgets
Group: Applications/Sound
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description xaw
xawmidi - Athena interface for TiMidity++.
%description xaw -l pl
xawmidi - interfejs do TiMidity++ oparty o biblitekê widgetów Athena.
+%package xskin
+Summary: X skin interface for TiMidity++
+Summary(pl): Interfejs TiMidity++ "X skin"
+Group: Applications/Sound
+Requires: %{name} = %{version}-%{release}
+Obsoletes: TiMidity++ < 2.13.0-3
+
+%description xskin
+xskinmidi - X skin interface for TiMidity++.
+
+%description xskin -l pl
+xskinmidi - interfejs do TiMidity++ "X skin"
+
%prep
-%setup -q -n %{name}-%{_ver}-%{_pre}
-%patch0 -p1
+%setup -q
+
+for f in doc/ja_JP.eucJP/README*; do
+ mv -f $f ${f}.ja
+done
%build
+cp -f /usr/share/automake/config.sub autoconf
%{__autoconf}
+
+AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
+%{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
+
%configure \
- --with-elf \
+ %{?with_alsa:--enable-alsaseq=dynamic} \
+ --enable-audio=$AUDIO \
--enable-dynamic \
- --enable-ncurses=dynamic \
- --enable-slang=dynamic \
- --enable-motif=dynamic \
- --enable-tcltk=dynamic \
+ %{?with_X:--enable-gtk=dynamic} \
--enable-emacs=dynamic \
- --enable-xaw=dynamic \
- --enable-xskin=dynamic \
- --enable-gtk=dynamic \
- --enable-vt100=dynamic \
+ %{?with_X:--enable-motif=dynamic} \
+ --enable-ncurses=dynamic \
--enable-network \
--enable-server \
- --enable-spectrogram \
- --enable-audio=default,oss,%{!?_without_alsa:alsa,}esd \
- %{!?_without_alsa:--enable-alsaseq} \
- --enable-default-output=default
+ --enable-slang=dynamic \
+ %{?with_X:--enable-spectrogram} \
+ %{?with_X:--enable-tcltk=dynamic} \
+ --enable-vt100=dynamic \
+ %{?with_X:--enable-xaw=dynamic} \
+ %{?with_X:--enable-xskin=dynamic} \
+ --with-default-path=%{_sysconfdir} \
+ --with-elf \
+ %{!?with_X:--without-x}
%{__make}
ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
+install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
+install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
+install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
+
install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
%files
%defattr(644,root,root,755)
-%doc A* Ch* N* R* TO* doc/C/{C*,F*,README.[!tx]*,README.xs*}
-%config(noreplace) %{_sysconfdir}/timidity.cfg
+%doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
+%lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
%attr(755,root,root) %{_bindir}/timidity
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/timidity.cfg
%dir %{_libdir}/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*/*
+%attr(755,root,root) %{_libdir}/timidity/interface_n.so
+%{_libdir}/timidity/interface_e.txt
+%{_libdir}/timidity/interface_n.txt
+# TODO (only tcl iface uses it?)
+%{?with_X:%{_libdir}/timidity/bitmaps}
+%{_mandir}/man1/timidity.1*
+%{_mandir}/man5/timidity.cfg.5*
+%lang(ja) %{_mandir}/ja/man1/timidity.1*
+%lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
+%if %{with alsa}
+# could be separated, but audio modules are always compiled in,
+# so timidity is linked with alsa-lib anyway
+%attr(755,root,root) %{_libdir}/timidity/interface_A.so
+%{_libdir}/timidity/interface_A.txt
+%endif
%files gspdir
%defattr(644,root,root,755)
-%ghost %dir %{_datadir}/GUSpatches
-
-%files gtk
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/timidity/interface_g.so
-%attr(755,root,root) %{_bindir}/gtkmidi
+%dir %{_datadir}/GUSpatches
%files instruments
%defattr(644,root,root,755)
%{_datadir}/GUSpatches/*
+%if %{with X}
+%files gtk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gtkmidi
+%attr(755,root,root) %{_libdir}/timidity/interface_g.so
+%{_libdir}/timidity/interface_g.txt
+%endif
+
+%if %{with X}
%files motif
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/timidity/interface_m.so
%attr(755,root,root) %{_bindir}/xmmidi
+%attr(755,root,root) %{_libdir}/timidity/interface_m.so
+%{_libdir}/timidity/interface_m.txt
+%endif
%files slang
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/timidity/interface_s.so
+%{_libdir}/timidity/interface_s.txt
+%if %{with X}
%files tcltk
%defattr(644,root,root,755)
%doc doc/C/README.tk
+%lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
+%attr(755,root,root) %{_bindir}/tkmidi
%attr(755,root,root) %{_libdir}/timidity/interface_k.so
+%{_libdir}/timidity/interface_k.txt
%{_libdir}/timidity/tclIndex
%{_libdir}/timidity/*.tcl
-%attr(755,root,root) %{_bindir}/tkmidi
+%endif
%files vt100
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/timidity/interface_T.so
+%{_libdir}/timidity/interface_T.txt
+%if %{with X}
%files xaw
%defattr(644,root,root,755)
%doc doc/C/README.xaw
-%attr(755,root,root) %{_libdir}/timidity/interface_a.so
+%lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
%attr(755,root,root) %{_bindir}/xawmidi
+%attr(755,root,root) %{_libdir}/timidity/interface_a.so
+%{_libdir}/timidity/interface_a.txt
+
+%files xskin
+%defattr(644,root,root,755)
+%doc doc/C/README.xskin
+%lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
+%attr(755,root,root) %{_bindir}/xskinmidi
+%attr(755,root,root) %{_libdir}/timidity/interface_i.so
+%{_libdir}/timidity/interface_i.txt
+%endif