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