]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
b3f5aab2a24057f3e419ce170a0ab46269aec6ee
[packages/TiMidity++.git] / TiMidity++.spec
1 #
2 # Conditional build:
3 %bcond_without  X       # without X based interfaces (implies libX11 deps)
4 %bcond_without  alsa    # without ALSA support
5 %bcond_with     arts    # enable ARTS support (implies also glib(2) deps)
6 %bcond_with     esd     # enable ESD support
7 %bcond_with     jack    # enable JACK support
8 %bcond_with     nas     # enable NAS support
9 %bcond_with     vorbis  # enable Ogg Vorbis support
10 #
11 Summary:        TiMidity++ - MIDI to WAV converter and player
12 Summary(pl):    TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
13 Summary(pt_BR): Sintetizador MIDI por software
14 Summary(ru):    ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ× É ËÏÎ×ÅÒÔÏÒ ÉÈ × WAV ÆÏÒÍÁÔ
15 Summary(uk):    ðÒÏÇÒÁ×ÁÞ MIDI-ÆÁÊ̦נÔÁ ËÏÎ×ÅÒÔÏÒ §È × WAV ÆÏÒÍÁÔ
16 Name:           TiMidity++
17 Version:        2.13.0
18 Release:        7
19 License:        GPL
20 Vendor:         Masanao Izumo <mo@goice.co.jp>
21 Group:          Applications/Sound
22 Source0:        http://dl.sourceforge.net/timidity/%{name}-%{version}.tar.bz2
23 # Source0-md5:  63284981e1ac81fce2b53cc4b1f4c468
24 Source1:        http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
25 # Source1-md5:  4959787a78ee39d44a36185bd303cf20
26 Source2:        britepno.pat.bz2
27 # Source2-md5:  324e265362f812883024b58cf3470d1a
28 Source3:        pistol.pat.bz2
29 # Source3-md5:  f961325db679de6e0ea402ebe6a268f9
30 Source4:        timidity.cfg
31 Source5:        timidity.init
32 Source6:        timidity.sysconfig
33 Patch0:         %{name}-detach.patch
34 URL:            http://timidity.sourceforge.net/
35 %{?with_alsa:BuildRequires:     alsa-lib-devel}
36 %{?with_arts:BuildRequires:     arts-devel}
37 BuildRequires:  autoconf
38 %{?with_esd:BuildRequires:      esound-devel}
39 %{?with_jack:BuildRequires:     jack-audio-connection-kit-devel}
40 %{?with_X:BuildRequires:        gtk+-devel}
41 %{?with_X:BuildRequires:        motif-devel}
42 %{?with_nas:BuildRequires:      nas-devel}
43 BuildRequires:  ncurses-devel
44 BuildRequires:  slang-devel
45 %{?with_X:BuildRequires:        tk-devel >= 8.3.2}
46 %{?with_vorbis:BuildRequires:   libvorbis-devel}
47 %{?with_X:Provides:     %{name}(X) = %{version}-%{release}}
48 Obsoletes:      timidity
49 Obsoletes:      timidity++
50 Obsoletes:      timidity++-X11
51 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52
53 %description
54 TiMidity++ is a converter that converts some of MIDI files ( formats :
55 Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
56 Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
57 TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
58 (sfx, sf2) to generate digital audio data from MIDI files. The digital
59 audio data generated by TiMidity can be stored in a file for
60 processing, or played in real time through an audio device. In real
61 time playing, TiMidity if able to show the lyric contained in KAR file
62 or WRD file.
63
64 %description -l pl
65 TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
66 Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
67 plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
68 TiMidity u¿ywa patchy takich jak Gravis Ultrasound albo Soundfontów
69 (sfx, sf2). Cyfrowe dane audio mog± byæ zapisane do pliku albo
70 odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity mo¿e
71 pokazywaæ s³owa zawarte w pliku KAR lub WRD.
72
73 %description -l pt_BR
74 O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
75 ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
76 que utilizam o recurso de "wavetable" via hardware (como a AWE32),
77 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
78 exemplo).
79
80 %description -l ru
81 ðÒÏÉÇÒÙ×ÁÔÅÌØ MIDI ÆÁÊÌÏ×, ÎÅ ÔÒÅÂÕÀÝÉÊ ÐÏÄÄÅÒÖËÉ ÉÎÓÔÒÕÍÅÎÔÏ× MIDI
82 Ú×ÕËÏ×ÏÊ ÐÌÁÔÏÊ. éÓÐÏÌØÚÕÅÔ ÆÁÊÌÙ ÉÎÓÔÒÕÍÅÎÔÏ× × ÆÏÒÍÁÔÅ GUS/patch,
83 ÍÏÖÅÔ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÁÎÎÙÅ × ÆÏÒÍÁÔÅ SoundFont.
84 ïÂÅÓÐÅÞÉ×ÁÅÔ ÏÔÌÉÞÎÏÅ ËÁÞÅÓÔ×Ï Ú×ÕËÁ MIDI ÚÁ ÓÞÅÔ ÉÎÔÅÎÓÉ×ÎÏÇÏ
85 ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÒÏÃÅÓÓÏÒÁ.
86
87 %description -l uk
88 ðÒÏÇÒÁ×ÁÞ MIDI ÆÁÊ̦×, ÑËÏÍÕ ÎÅ ÐÏÔÒ¦ÂÎÁ Ð¦ÄÔÒÉÍËÁ ¦ÎÓÔÒÕÍÅÎԦנMIDI
89 Ú×ÕËÏ×ÏÀ ÐÌÁÔÏÀ. ÷ÉËÏÒÉÓÔÏ×Õ¤ ÆÁÊÌÉ ¦ÎÓÔÒÕÍÅÎԦנՠÆÏÒÍÁÔ¦ GUS/patch,
90 ÒÏÚÕͦ¤ ÔÁËÏÖ ÆÏÒÍÁÔ SoundFont.
91 úÁÂÅÚÐÅÞÕ¤ ×¦ÄͦÎÎÕ Ñ˦ÓÔØ Ú×ÕËÕ MIDI ÚÁ ÒÁÈÕÎÏË ¦ÎÔÅÎÓÉ×ÎÏÇÏ
92 ×ÉËÏÒÉÓÔÁÎÎÑ ÐÒÏÃÅÓÏÒÁ.
93
94 %package gspdir
95 Summary:        Directory for TiMidity++ instruments
96 Summary(pl):    Katalog na instrumenty TiMidity++
97 Group:          Applications/Sound
98
99 %description gspdir
100 Directory where TiMidity++ instruments should be placed in.
101
102 %description gspdir -l pl
103 Katalog, w którym powinny byæ instalowane instrumenty dla TiMidity++.
104
105 %package instruments
106 Summary:        Instruments for TiMidity++
107 Summary(pl):    Instrumenty dla TiMidity++
108 Summary(pt_BR): Instrumentos básicos para o TiMidity++
109 Group:          Applications/Sound
110 Requires:       %{name}-gspdir = %{version}-%{release}
111 Obsoletes:      timidity-patches
112
113 %description instruments
114 Instruments for TiMidity++.
115
116 %description instruments -l pl
117 Instrumenty dla TiMidity++.
118
119 %description instruments -l pt_BR
120 Este pacote inclui um conjunto básico de instrumentos (chamados de
121 patches no meio musical) para o TiMidity++.
122
123 %package gtk
124 Summary:        GTK+ interface for TiMidity++
125 Summary(pl):    Interfejs TiMidity++ oparty o bibliotekê GTK+
126 Group:          Applications/Sound
127 Requires:       %{name}(X) = %{version}-%{release}
128
129 %description gtk
130 gtkmidi - GTK+ interface for TiMidity++.
131
132 %description gtk -l pl
133 gtkmidi - interfejs do TiMidity++ oparty o bibliotekê GTK+.
134
135 %package motif
136 Summary:        Motif interface for TiMidity++
137 Summary(pl):    Interfejs TiMidity++ oparty o Motif
138 Group:          Applications/Sound
139 Requires:       %{name}(X) = %{version}-%{release}
140
141 %description motif
142 xmmidi - Motif interface for TiMidity++.
143
144 %description motif -l pl
145 xmmidi - interfejs do TiMidity++ oparty o bibliotekê Motif.
146
147 %package slang
148 Summary:        Slang interface for TiMidity++
149 Summary(pl):    Interfejs TiMidity++ oparty o bibliotekê Slang
150 Group:          Applications/Sound
151 Requires:       %{name} = %{version}-%{release}
152
153 %description slang
154 Slang interface for TiMidity++.
155
156 %description slang -l pl
157 Interfejs do TiMidity++ oparty o bibliotekê Slang.
158
159 %package tcltk
160 Summary:        Tcl/Tk interface for TiMidity++
161 Summary(pl):    Interfejs TiMidity++ oparty o Tcl/Tk
162 Group:          Applications/Sound
163 Requires:       %{name}(X) = %{version}-%{release}
164
165 %description tcltk
166 tkmidi - Tcl/Tk interface for TiMidity++.
167
168 %description tcltk -l pl
169 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
170
171 %package vt100
172 Summary:        VT100 interface for TiMidity++
173 Summary(pl):    Interfejs TiMidity++ dzia³aj±cy na terminalu VT100
174 Group:          Applications/Sound
175 Requires:       %{name} = %{version}-%{release}
176
177 %description vt100
178 VT100 interface for TiMidity++.
179
180 %description vt100 -l pl
181 Interfejs do TiMidity++ mog±cy dzia³aæ na terminalu VT100.
182
183 %package xaw
184 Summary:        Athena interface for TiMidity++
185 Summary(pl):    Interfejs TiMidity++ oparty o Athena Widgets
186 Group:          Applications/Sound
187 Requires:       %{name}(X) = %{version}-%{release}
188
189 %description xaw
190 xawmidi - Athena interface for TiMidity++.
191
192 %description xaw -l pl
193 xawmidi - interfejs do TiMidity++ oparty o biblitekê widgetów Athena.
194
195 %package xskin
196 Summary:        "X Skin" interface for TiMidity++
197 Summary(pl):    Interfejs TiMidity++ "X Skin" 
198 Group:          Applications/Sound
199 Requires:       %{name}(X) = %{version}-%{release}
200 Obsoletes:      TiMidity++ < 2.13.0-3
201
202 %description xskin
203 xskinmidi - "X Skin" interface for TiMidity++.
204
205 %description xskin -l pl
206 xskinmidi - interfejs do TiMidity++ "X Skin".
207
208 %package alsaseq
209 Summary:        TiMidity++ ALSA sequencer interface
210 Summary(pl):    TiMidity++ jako interfejs sekwencera ALSA
211 Group:          Applications/Sound
212 Requires:       %{name} = %{version}-%{release}
213
214 %description alsaseq
215 The ALSA sequencer interface communicates between ALSA sequencer core
216 and timidity. The interface receives events from sequencer and plays
217 it in (quasi-)real-time. In this mode, TiMidity works purely as the
218 software real-time MIDI render, that is as a software MIDI synth
219 engine on ALSA.
220
221 %description alsaseq -l pl
222 Interfejs sekwencera ALSA komunikuje siê miêdzy rdzeniem sekwencera
223 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
224 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity dzia³a
225 wy³±cznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
226 jako silnik syntezatora MIDI w architekturze ALSA.
227
228 %prep
229 %setup -q
230 %patch0 -p1
231
232 for f in doc/ja_JP.eucJP/README*; do
233         mv -f $f ${f}.ja
234 done
235
236 %build
237 cp -f /usr/share/automake/config.sub autoconf
238 %{__autoconf}
239
240 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
241 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
242
243 %configure \
244         %{?with_alsa:--enable-alsaseq} \
245         --enable-audio=$AUDIO \
246         --enable-dynamic \
247         %{?with_X:--enable-gtk=dynamic} \
248         --enable-emacs=dynamic \
249         %{?with_X:--enable-motif=dynamic} \
250         --enable-ncurses=dynamic \
251         --enable-network \
252         --enable-server \
253         --enable-slang=dynamic \
254         %{?with_X:--enable-spectrogram} \
255         %{?with_X:--enable-tcltk=dynamic} \
256         --enable-vt100=dynamic \
257         %{?with_X:--enable-xaw=dynamic} \
258         %{?with_X:--enable-xskin=dynamic} \
259         --with-default-path=%{_sysconfdir} \
260         --with-elf \
261         %{!?with_X:--without-x}
262
263 %{__make} \
264         SHLIB_DIR=%{_libdir}/timidity
265
266 %install
267 rm -rf $RPM_BUILD_ROOT
268 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
269
270 %{__make} install \
271         DESTDIR=$RPM_BUILD_ROOT \
272         SHLIB_DIR=%{_libdir}/timidity
273
274 ## based on timidity/timidity.c
275 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
276 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
277 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
278 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
279 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
280 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
281
282 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
283 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
284 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
285
286 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
287
288 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
289 tar xzf %{SOURCE1}
290 mv -f instruments/* .
291 rmdir instruments
292 bzip2 -cd %{SOURCE2} > britepno.pat
293 bzip2 -cd %{SOURCE3} > pistol.pat
294
295 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
296 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
297
298 %clean
299 rm -rf $RPM_BUILD_ROOT
300
301 %if %{with alsa}
302 %post alsaseq
303 /sbin/chkconfig --add timidity
304 if [ -r /var/lock/subsys/timidity ]; then
305         /etc/rc.d/init.d/timidity restart >&2
306 else
307         echo "Run \"/etc/rc.d/init.d/timidity start\" to start TiMidity++ ALSA sequencer interface."
308 fi
309
310 %preun alsaseq
311 if [ "$1" = "0" ]; then
312         if [ -r /var/lock/subsys/timidity ]; then
313                 /etc/rc.d/init.d/timidity stop >&2
314         fi
315         /sbin/chkconfig --del timidity
316 fi
317 %endif
318
319 %files
320 %defattr(644,root,root,755)
321 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
322 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
323 %attr(755,root,root) %{_bindir}/timidity
324 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/timidity.cfg
325 %dir %{_libdir}/timidity
326 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
327 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
328 %{_libdir}/timidity/interface_e.txt
329 %{_libdir}/timidity/interface_n.txt
330 %if "%{_lib}" != "lib"
331 %dir %{_prefix}/lib/timidity
332 %endif
333 %{?with_X:%{_prefix}/lib/timidity/bitmaps}
334 %{_mandir}/man1/timidity.1*
335 %{_mandir}/man5/timidity.cfg.5*
336 %lang(ja) %{_mandir}/ja/man1/timidity.1*
337 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
338
339 %files gspdir
340 %defattr(644,root,root,755)
341 %dir %{_datadir}/GUSpatches
342
343 %files instruments
344 %defattr(644,root,root,755)
345 %{_datadir}/GUSpatches/*
346
347 %if %{with X}
348 %files gtk
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_bindir}/gtkmidi
351 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
352 %{_libdir}/timidity/interface_g.txt
353 %endif
354
355 %if %{with X}
356 %files motif
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_bindir}/xmmidi
359 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
360 %{_libdir}/timidity/interface_m.txt
361 %endif
362
363 %files slang
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
366 %{_libdir}/timidity/interface_s.txt
367
368 %if %{with X}
369 %files tcltk
370 %defattr(644,root,root,755)
371 %doc doc/C/README.tk
372 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
373 %attr(755,root,root) %{_bindir}/tkmidi
374 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
375 %{_libdir}/timidity/interface_k.txt
376 %{_prefix}/lib/timidity/tclIndex
377 %{_prefix}/lib/timidity/*.tcl
378 %endif
379
380 %files vt100
381 %defattr(644,root,root,755)
382 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
383 %{_libdir}/timidity/interface_T.txt
384
385 %if %{with X}
386 %files xaw
387 %defattr(644,root,root,755)
388 %doc doc/C/README.xaw
389 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
390 %attr(755,root,root) %{_bindir}/xawmidi
391 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
392 %{_libdir}/timidity/interface_a.txt
393
394 %files xskin
395 %defattr(644,root,root,755)
396 %doc doc/C/README.xskin
397 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
398 %attr(755,root,root) %{_bindir}/xskinmidi
399 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
400 %{_libdir}/timidity/interface_i.txt
401 %endif
402
403 %if %{with alsa}
404 %files alsaseq
405 %defattr(644,root,root,755)
406 %attr(754,root,root) /etc/rc.d/init.d/timidity
407 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/timidity
408 %endif
This page took 0.079694 seconds and 2 git commands to generate.