]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
- rel 2
[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.2
18 Release:        2
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:  a82ceeb2245e22f4de2b41da21eaee32
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 >= 2.0.0
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 %patch1 -p1
233
234 for f in doc/ja_JP.eucJP/README*; do
235         mv -f $f ${f}.ja
236 done
237
238 %build
239 cp -f /usr/share/automake/config.sub autoconf
240 %{__autoconf}
241
242 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
243 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
244
245 %configure \
246         %{?with_alsa:--enable-alsaseq} \
247         --enable-audio=$AUDIO \
248         --enable-dynamic \
249         %{?with_X:--enable-gtk=dynamic} \
250         --enable-emacs=dynamic \
251         %{?with_X:--enable-motif=dynamic} \
252         --enable-ncurses=dynamic \
253         --enable-network \
254         --enable-server \
255         --enable-slang=dynamic \
256         %{?with_X:--enable-spectrogram} \
257         %{?with_X:--enable-tcltk=dynamic} \
258         --enable-vt100=dynamic \
259         %{?with_X:--enable-xaw=dynamic} \
260         %{?with_X:--enable-xskin=dynamic} \
261         --with-default-path=%{_sysconfdir} \
262         --with-elf \
263         %{!?with_X:--without-x}
264
265 %{__make} \
266         SHLIB_DIR=%{_libdir}/timidity
267
268 %install
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
271
272 %{__make} install \
273         DESTDIR=$RPM_BUILD_ROOT \
274         SHLIB_DIR=%{_libdir}/timidity
275
276 ## based on timidity/timidity.c
277 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
278 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
279 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
280 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
281 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
282 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
283
284 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
285 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
286 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
287
288 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
289
290 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
291 tar xzf %{SOURCE1}
292 mv -f instruments/* .
293 rmdir instruments
294 bzip2 -cd %{SOURCE2} > britepno.pat
295 bzip2 -cd %{SOURCE3} > pistol.pat
296
297 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
298 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
299
300 %clean
301 rm -rf $RPM_BUILD_ROOT
302
303 %if %{with alsa}
304 %post alsaseq
305 /sbin/chkconfig --add timidity
306 if [ -r /var/lock/subsys/timidity ]; then
307         /etc/rc.d/init.d/timidity restart >&2
308 else
309         echo "Run \"/etc/rc.d/init.d/timidity start\" to start TiMidity++ ALSA sequencer interface."
310 fi
311
312 %preun alsaseq
313 if [ "$1" = "0" ]; then
314         if [ -r /var/lock/subsys/timidity ]; then
315                 /etc/rc.d/init.d/timidity stop >&2
316         fi
317         /sbin/chkconfig --del timidity
318 fi
319 %endif
320
321 %files
322 %defattr(644,root,root,755)
323 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
324 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
325 %attr(755,root,root) %{_bindir}/timidity
326 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/timidity.cfg
327 %dir %{_libdir}/timidity
328 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
329 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
330 %{_libdir}/timidity/interface_e.txt
331 %{_libdir}/timidity/interface_n.txt
332 %if "%{_lib}" != "lib"
333 %dir %{_prefix}/lib/timidity
334 %endif
335 %{?with_X:%{_prefix}/lib/timidity/bitmaps}
336 %{_mandir}/man1/timidity.1*
337 %{_mandir}/man5/timidity.cfg.5*
338 %lang(ja) %{_mandir}/ja/man1/timidity.1*
339 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
340
341 %files gspdir
342 %defattr(644,root,root,755)
343 %dir %{_datadir}/GUSpatches
344
345 %files instruments
346 %defattr(644,root,root,755)
347 %{_datadir}/GUSpatches/*
348
349 %if %{with X}
350 %files gtk
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{_bindir}/gtkmidi
353 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
354 %{_libdir}/timidity/interface_g.txt
355 %endif
356
357 %if %{with X}
358 %files motif
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_bindir}/xmmidi
361 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
362 %{_libdir}/timidity/interface_m.txt
363 %endif
364
365 %files slang
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
368 %{_libdir}/timidity/interface_s.txt
369
370 %if %{with X}
371 %files tcltk
372 %defattr(644,root,root,755)
373 %doc doc/C/README.tk
374 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
375 %attr(755,root,root) %{_bindir}/tkmidi
376 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
377 %{_libdir}/timidity/interface_k.txt
378 %{_prefix}/lib/timidity/tclIndex
379 %{_prefix}/lib/timidity/*.tcl
380 %endif
381
382 %files vt100
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
385 %{_libdir}/timidity/interface_T.txt
386
387 %if %{with X}
388 %files xaw
389 %defattr(644,root,root,755)
390 %doc doc/C/README.xaw
391 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
392 %attr(755,root,root) %{_bindir}/xawmidi
393 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
394 %{_libdir}/timidity/interface_a.txt
395
396 %files xskin
397 %defattr(644,root,root,755)
398 %doc doc/C/README.xskin
399 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
400 %attr(755,root,root) %{_bindir}/xskinmidi
401 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
402 %{_libdir}/timidity/interface_i.txt
403 %endif
404
405 %if %{with alsa}
406 %files alsaseq
407 %defattr(644,root,root,755)
408 %attr(754,root,root) /etc/rc.d/init.d/timidity
409 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/timidity
410 %endif
This page took 0.093609 seconds and 3 git commands to generate.