]> git.pld-linux.org Git - packages/TiMidity++.git/blobdiff - TiMidity++.spec
- gcc4 fix
[packages/TiMidity++.git] / TiMidity++.spec
index 41109da9b64c1c5c2c4edabcf416a1556079172a..7b59aaf81fceec4a3ac41693e533f5441b4dd524 100644 (file)
@@ -1,36 +1,55 @@
 #
 # Conditional build:
-# _without_alsa - without ALSA support
+%bcond_without X       # without X based interfaces (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(pt_BR):        Sintetizador MIDI por software.
+Summary(pt_BR):        Sintetizador MIDI por software
+Summary(ru):   ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ× É ËÏÎ×ÅÒÔÏÒ ÉÈ × WAV ÆÏÒÍÁÔ
+Summary(uk):   ðÒÏÇÒÁ×ÁÞ MIDI-ÆÁÊ̦נÔÁ ËÏÎ×ÅÒÔÏÒ §È × WAV ÆÏÒÍÁÔ
 Name:          TiMidity++
-Version:       2.11.3
-Release:       1
+Version:       2.13.0
+Release:       7.1
 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://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
 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/
-%ifnarch sparc sparc64
-%{!?_without_alsa:BuildRequires:       alsa-lib-devel}
-%endif
-BuildRequires: gtk+-devel
-BuildRequires: motif-devel
+Source5:       timidity.init
+Source6:       timidity.sysconfig
+Patch0:                %{name}-detach.patch
+Patch1:                %{name}-gcc4.patch
+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}
+%{?with_X:BuildRequires:       gtk+-devel}
+%{?with_X:BuildRequires:       motif-devel}
+%{?with_nas:BuildRequires:     nas-devel}
 BuildRequires: ncurses-devel
 BuildRequires: slang-devel
-BuildRequires: tk-devel >= 8.3.2
-BuildRequires: autoconf
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%{?with_X:BuildRequires:       tk-devel >= 8.3.2}
+%{?with_vorbis:BuildRequires:  libvorbis-devel}
+%{?with_X:Provides:    %{name}(X) = %{version}-%{release}}
 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 :
@@ -59,71 +78,102 @@ que utilizam o recurso de "wavetable" via hardware (como a AWE32),
 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
 exemplo).
 
-%package slang
-Summary:       Slang interface for TiMidity++
-Summary(pl):   Interfejs TiMidity++ oparty o bibliotekê Slang
+%description -l ru
+ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ×, ÎÅ ÔÒÅÂÕÀÝÉÊ ÐÏÄÄÅÒÖËÉ ÉÎÓÔÒÕÍÅÎÔÏ× MIDI
+Ú×ÕËÏ×ÏÊ ÐÌÁÔÏÊ. éÓÐÏÌØÚÕÅÔ ÆÁÊÌÙ ÉÎÓÔÒÕÍÅÎÔÏ× × ÆÏÒÍÁÔÅ GUS/patch,
+ÍÏÖÅÔ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÁÎÎÙÅ × ÆÏÒÍÁÔÅ SoundFont.
+ïÂÅÓÐÅÞÉ×ÁÅÔ ÏÔÌÉÞÎÏÅ ËÁÞÅÓÔ×Ï Ú×ÕËÁ MIDI ÚÁ ÓÞÅÔ ÉÎÔÅÎÓÉ×ÎÏÇÏ
+ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÒÏÃÅÓÓÏÒÁ.
+
+%description -l uk
+ðÒÏÇÒÁ×ÁÞ MIDI ÆÁÊ̦×, ÑËÏÍÕ ÎÅ ÐÏÔÒ¦ÂÎÁ Ð¦ÄÔÒÉÍËÁ ¦ÎÓÔÒÕÍÅÎԦנMIDI
+Ú×ÕËÏ×ÏÀ ÐÌÁÔÏÀ. ÷ÉËÏÒÉÓÔÏ×Õ¤ ÆÁÊÌÉ ¦ÎÓÔÒÕÍÅÎԦנՠÆÏÒÍÁÔ¦ GUS/patch,
+ÒÏÚÕͦ¤ ÔÁËÏÖ ÆÏÒÍÁÔ SoundFont.
+úÁÂÅÚÐÅÞÕ¤ ×¦ÄͦÎÎÕ Ñ˦ÓÔØ Ú×ÕËÕ MIDI ÚÁ ÒÁÈÕÎÏË ¦ÎÔÅÎÓÉ×ÎÏÇÏ
+×ÉËÏÒÉÓÔÁÎÎÑ ÐÒÏÃÅÓÏÒÁ.
+
+%package gspdir
+Summary:       Directory for TiMidity++ instruments
+Summary(pl):   Katalog na instrumenty TiMidity++
 Group:         Applications/Sound
-Requires:      %{name} = %{version}
 
-%description slang
-Slang interface for TiMidity++.
+%description gspdir
+Directory where TiMidity++ instruments should be placed in.
 
-%description slang -l pl
-Interfejs do TiMidity++ oparty o bibliotekê Slang.
+%description gspdir -l pl
+Katalog, w którym powinny byæ instalowane instrumenty dla TiMidity++.
+
+%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 = %{version}-%{release}
+Obsoletes:     timidity-patches
+
+%description instruments
+Instruments for TiMidity++.
+
+%description instruments -l pl
+Instrumenty dla TiMidity++.
+
+%description instruments -l pt_BR
+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}(X) = %{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}(X) = %{version}-%{release}
 
 %description motif
-xmmidi -- Motif interface for TiMidity++.
+xmmidi - Motif interface for TiMidity++.
 
 %description motif -l pl
 xmmidi - interfejs do TiMidity++ oparty o bibliotekê Motif.
 
+%package slang
+Summary:       Slang interface for TiMidity++
+Summary(pl):   Interfejs TiMidity++ oparty o bibliotekê Slang
+Group:         Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+
+%description slang
+Slang interface for TiMidity++.
+
+%description slang -l pl
+Interfejs do TiMidity++ oparty o bibliotekê Slang.
+
 %package tcltk
 Summary:       Tcl/Tk interface for TiMidity++
 Summary(pl):   Interfejs TiMidity++ oparty o Tcl/Tk
 Group:         Applications/Sound
-Requires:      %{name} = %{version}
+Requires:      %{name}(X) = %{version}-%{release}
 
 %description tcltk
-tkmidi -- Tcl/Tk interface for TiMidity++.
+tkmidi - Tcl/Tk interface for TiMidity++.
 
 %description tcltk -l pl
 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
 
-%package xaw
-Summary:       Athena interface for TiMidity++
-Summary(pl):   Interfejs TiMidity++ oparty o Athena Widgets
-Group:         Applications/Sound
-Requires:      %{name} = %{version}
-
-%description xaw
-xawmidi -- Athena interface for TiMidity++.
-
-%description xaw -l pl
-xawmidi - interfejs do TiMidity++ oparty o biblitekê widgetów Athena.
-
-%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 vt100
 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++.
@@ -131,60 +181,96 @@ VT100 interface for TiMidity++.
 %description vt100 -l pl
 Interfejs do TiMidity++ mog±cy dzia³aæ na terminalu VT100.
 
-%package instruments
-Summary:       instruments for TiMidity++
-Summary(pl):   instrumenty dla TiMidity++
-Summary(pt_BR):        Instrumentos básicos para o TiMidity++
+%package xaw
+Summary:       Athena interface for TiMidity++
+Summary(pl):   Interfejs TiMidity++ oparty o Athena Widgets
 Group:         Applications/Sound
-Requires:      %{name}
-Obsoletes:     timidity-patches
+Requires:      %{name}(X) = %{version}-%{release}
 
-%description instruments
-Instruments for TiMidity++.
+%description xaw
+xawmidi - Athena interface for TiMidity++.
 
-%description instruments -l pl
-Instrumenty dla TiMidity++.
+%description xaw -l pl
+xawmidi - interfejs do TiMidity++ oparty o biblitekê widgetów Athena.
 
-%description instruments -l pt_BR
-Este pacote inclui um conjunto básico de instrumentos (chamados de
-patches no meio musical) para o TiMidity++.
+%package xskin
+Summary:       "X Skin" interface for TiMidity++
+Summary(pl):   Interfejs TiMidity++ "X Skin" 
+Group:         Applications/Sound
+Requires:      %{name}(X) = %{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".
+
+%package alsaseq
+Summary:       TiMidity++ ALSA sequencer interface
+Summary(pl):   TiMidity++ jako interfejs sekwencera ALSA
+Group:         Applications/Sound
+Requires:      %{name} = %{version}-%{release}
+
+%description alsaseq
+The ALSA sequencer interface communicates between ALSA sequencer core
+and timidity. The interface receives events from sequencer and plays
+it in (quasi-)real-time. In this mode, TiMidity works purely as the
+software real-time MIDI render, that is as a software MIDI synth
+engine on ALSA.
+
+%description alsaseq -l pl
+Interfejs sekwencera ALSA komunikuje siê miêdzy rdzeniem sekwencera
+ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
+je w czasie (prawie) rzeczywistym. W tym trybie TiMidity dzia³a
+wy³±cznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
+jako silnik syntezatora MIDI w architekturze ALSA.
 
 %prep
 %setup -q
 %patch0 -p1
 
+for f in doc/ja_JP.eucJP/README*; do
+       mv -f $f ${f}.ja
+done
+
 %build
-autoconf
+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} \
+       --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 \
-%ifnarch sparc sparc64
-       --enable-audio=default,oss,%{!?_without_alsa:alsa,}esd \
-       %{!?_without_alsa:--enable-alsaseq} \
-%else
-       --enable-audio=default,oss,esd \
-%endif
-       --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}
+%{__make} \
+       SHLIB_DIR=%{_libdir}/timidity
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
 
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       SHLIB_DIR=%{_libdir}/timidity
 
 ## based on timidity/timidity.c
 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
@@ -194,65 +280,130 @@ ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
 
-install %{SOURCE4} $RPM_BUILD_ROOT/%{_sysconfdir}
+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
 
-(cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
+install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
+
+cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
 tar xzf %{SOURCE1}
 mv -f instruments/* .
 rmdir instruments
 bzip2 -cd %{SOURCE2} > britepno.pat
 bzip2 -cd %{SOURCE3} > pistol.pat
-)
 
-gzip -9nf AUTHORS README* ChangeLog* NEWS doc/C/{CHANGES*,FAQ,README*}
+install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with alsa}
+%post alsaseq
+/sbin/chkconfig --add timidity
+if [ -r /var/lock/subsys/timidity ]; then
+       /etc/rc.d/init.d/timidity restart >&2
+else
+       echo "Run \"/etc/rc.d/init.d/timidity start\" to start TiMidity++ ALSA sequencer interface."
+fi
+
+%preun alsaseq
+if [ "$1" = "0" ]; then
+       if [ -r /var/lock/subsys/timidity ]; then
+               /etc/rc.d/init.d/timidity stop >&2
+       fi
+       /sbin/chkconfig --del timidity
+fi
+%endif
+
 %files
 %defattr(644,root,root,755)
-%doc *.gz doc/C/*.gz
+%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*/*
-%config(noreplace) %{_sysconfdir}/timidity.cfg
-%ghost %dir %{_datadir}/GUSpatches
+%attr(755,root,root) %{_libdir}/timidity/interface_n.so
+%{_libdir}/timidity/interface_e.txt
+%{_libdir}/timidity/interface_n.txt
+%if "%{_lib}" != "lib"
+%dir %{_prefix}/lib/timidity
+%endif
+%{?with_X:%{_prefix}/lib/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*
 
-%files slang
+%files gspdir
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/timidity/interface_s.so
+%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.gz
-%attr(755,root,root) %{_libdir}/timidity/interface_k.so
-%{_libdir}/timidity/*.tcl
+%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
+%{_prefix}/lib/timidity/tclIndex
+%{_prefix}/lib/timidity/*.tcl
+%endif
 
-%files xaw
+%files vt100
 %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
+%attr(755,root,root) %{_libdir}/timidity/interface_T.so
+%{_libdir}/timidity/interface_T.txt
 
-%files gtk
+%if %{with X}
+%files xaw
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/timidity/interface_g.so
-%attr(755,root,root) %{_bindir}/gtkmidi
+%doc doc/C/README.xaw
+%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 vt100
+%files xskin
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/timidity/interface_T.so
+%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
 
-%files instruments
+%if %{with alsa}
+%files alsaseq
 %defattr(644,root,root,755)
-%{_datadir}/GUSpatches/*
+%attr(754,root,root) /etc/rc.d/init.d/timidity
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/timidity
+%endif
This page took 0.082978 seconds and 4 git commands to generate.