]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
- tabs in preamble
[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.UTF-8):      TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
13 Summary(pt_BR.UTF-8):   Sintetizador MIDI por software
14 Summary(ru.UTF-8):      Проигрыватель MIDI файлов и конвертор их в WAV формат
15 Summary(uk.UTF-8):      Програвач MIDI-файлів та конвертор їх в WAV формат
16 Name:           TiMidity++
17 Version:        2.13.2
18 Release:        2
19 License:        GPL
20 Group:          Applications/Sound
21 Source0:        http://dl.sourceforge.net/timidity/%{name}-%{version}.tar.bz2
22 # Source0-md5:  a82ceeb2245e22f4de2b41da21eaee32
23 Source1:        http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
24 # Source1-md5:  4959787a78ee39d44a36185bd303cf20
25 Source2:        britepno.pat.bz2
26 # Source2-md5:  324e265362f812883024b58cf3470d1a
27 Source3:        pistol.pat.bz2
28 # Source3-md5:  f961325db679de6e0ea402ebe6a268f9
29 Source4:        timidity.cfg
30 Source5:        timidity.init
31 Source6:        timidity.sysconfig
32 Patch0:         %{name}-detach.patch
33 Patch1:         %{name}-gcc4.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_X:BuildRequires:        gtk+-devel}
40 %{?with_jack:BuildRequires:     jack-audio-connection-kit-devel}
41 %{?with_vorbis:BuildRequires:   libvorbis-devel}
42 %{?with_X:BuildRequires:        motif-devel}
43 %{?with_nas:BuildRequires:      nas-devel}
44 BuildRequires:  ncurses-devel
45 BuildRequires:  rpmbuild(macros) >= 1.268
46 BuildRequires:  slang-devel >= 2.0.0
47 %{?with_X:BuildRequires:        tk-devel >= 8.3.2}
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.UTF-8
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.UTF-8
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.UTF-8
82 Проигрыватель MIDI файлов, не требующий поддержки инструментов MIDI
83 звуковой платой. Использует файлы инструментов в формате GUS/patch,
84 может также использовать данные в формате SoundFont. Обеспечивает
85 отличное качество звука MIDI за счет интенсивного использования
86 процессора.
87
88 %description -l uk.UTF-8
89 Програвач MIDI файлів, якому не потрібна підтримка інструментів MIDI
90 звуковою платою. Використовує файли інструментів у форматі GUS/patch,
91 розуміє також формат SoundFont. Забезпечує відмінну якість звуку MIDI
92 за рахунок інтенсивного використання процесора.
93
94 %package gspdir
95 Summary:        Directory for TiMidity++ instruments
96 Summary(pl.UTF-8):      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.UTF-8
103 Katalog, w którym powinny być instalowane instrumenty dla TiMidity++.
104
105 %package instruments
106 Summary:        Instruments for TiMidity++
107 Summary(pl.UTF-8):      Instrumenty dla TiMidity++
108 Summary(pt_BR.UTF-8):   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.UTF-8
117 Instrumenty dla TiMidity++.
118
119 %description instruments -l pt_BR.UTF-8
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.UTF-8):      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.UTF-8
133 gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
134
135 %package motif
136 Summary:        Motif interface for TiMidity++
137 Summary(pl.UTF-8):      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.UTF-8
145 xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
146
147 %package slang
148 Summary:        Slang interface for TiMidity++
149 Summary(pl.UTF-8):      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.UTF-8
157 Interfejs do TiMidity++ oparty o bibliotekę Slang.
158
159 %package tcltk
160 Summary:        Tcl/Tk interface for TiMidity++
161 Summary(pl.UTF-8):      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.UTF-8
169 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
170
171 %package vt100
172 Summary:        VT100 interface for TiMidity++
173 Summary(pl.UTF-8):      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.UTF-8
181 Interfejs do TiMidity++ mogący działać na terminalu VT100.
182
183 %package xaw
184 Summary:        Athena interface for TiMidity++
185 Summary(pl.UTF-8):      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.UTF-8
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.UTF-8):      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.UTF-8
206 xskinmidi - interfejs do TiMidity++ "X Skin".
207
208 %package alsaseq
209 Summary:        TiMidity++ ALSA sequencer interface
210 Summary(pl.UTF-8):      TiMidity++ jako interfejs sekwencera ALSA
211 Group:          Applications/Sound
212 Requires(post,preun):   /sbin/chkconfig
213 Requires:       %{name} = %{version}-%{release}
214 Requires:       rc-scripts
215
216 %description alsaseq
217 The ALSA sequencer interface communicates between ALSA sequencer core
218 and timidity. The interface receives events from sequencer and plays
219 it in (quasi-)real-time. In this mode, TiMidity works purely as the
220 software real-time MIDI render, that is as a software MIDI synth
221 engine on ALSA.
222
223 %description alsaseq -l pl.UTF-8
224 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
225 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
226 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
227 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
228 jako silnik syntezatora MIDI w architekturze ALSA.
229
230 %prep
231 %setup -q
232 %patch0 -p1
233 %patch1 -p1
234
235 for f in doc/ja_JP.eucJP/README*; do
236         mv -f $f ${f}.ja
237 done
238
239 %build
240 cp -f /usr/share/automake/config.sub autoconf
241 %{__autoconf}
242
243 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
244 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
245
246 %configure \
247         %{?with_alsa:--enable-alsaseq} \
248         --enable-audio=$AUDIO \
249         --enable-dynamic \
250         %{?with_X:--enable-gtk=dynamic} \
251         --enable-emacs=dynamic \
252         %{?with_X:--enable-motif=dynamic} \
253         --enable-ncurses=dynamic \
254         --enable-network \
255         --enable-server \
256         --enable-slang=dynamic \
257         %{?with_X:--enable-spectrogram} \
258         %{?with_X:--enable-tcltk=dynamic} \
259         --enable-vt100=dynamic \
260         %{?with_X:--enable-xaw=dynamic} \
261         %{?with_X:--enable-xskin=dynamic} \
262         --with-default-path=%{_sysconfdir} \
263         --with-elf \
264         %{!?with_X:--without-x}
265
266 %{__make} \
267         SHLIB_DIR=%{_libdir}/timidity
268
269 %install
270 rm -rf $RPM_BUILD_ROOT
271 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
272
273 %{__make} install \
274         DESTDIR=$RPM_BUILD_ROOT \
275         SHLIB_DIR=%{_libdir}/timidity
276
277 ## based on timidity/timidity.c
278 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
279 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
280 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
281 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
282 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
283 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
284
285 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
286 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
287 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
288
289 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
290
291 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
292 tar xzf %{SOURCE1}
293 mv -f instruments/* .
294 rmdir instruments
295 bzip2 -cd %{SOURCE2} > britepno.pat
296 bzip2 -cd %{SOURCE3} > pistol.pat
297
298 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
299 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
300
301 %clean
302 rm -rf $RPM_BUILD_ROOT
303
304 %post alsaseq
305 /sbin/chkconfig --add timidity
306 %service timidity restart "TiMidity++ ALSA sequencer interface"
307
308 %preun alsaseq
309 if [ "$1" = "0" ]; then
310         %service timidity stop
311         /sbin/chkconfig --del timidity
312 fi
313
314 %files
315 %defattr(644,root,root,755)
316 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
317 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
318 %attr(755,root,root) %{_bindir}/timidity
319 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
320 %dir %{_libdir}/timidity
321 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
322 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
323 %{_libdir}/timidity/interface_e.txt
324 %{_libdir}/timidity/interface_n.txt
325 %if "%{_lib}" != "lib"
326 %dir %{_prefix}/lib/timidity
327 %endif
328 %{?with_X:%{_prefix}/lib/timidity/bitmaps}
329 %{_mandir}/man1/timidity.1*
330 %{_mandir}/man5/timidity.cfg.5*
331 %lang(ja) %{_mandir}/ja/man1/timidity.1*
332 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
333
334 %files gspdir
335 %defattr(644,root,root,755)
336 %dir %{_datadir}/GUSpatches
337
338 %files instruments
339 %defattr(644,root,root,755)
340 %{_datadir}/GUSpatches/*
341
342 %if %{with X}
343 %files gtk
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_bindir}/gtkmidi
346 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
347 %{_libdir}/timidity/interface_g.txt
348 %endif
349
350 %if %{with X}
351 %files motif
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_bindir}/xmmidi
354 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
355 %{_libdir}/timidity/interface_m.txt
356 %endif
357
358 %files slang
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
361 %{_libdir}/timidity/interface_s.txt
362
363 %if %{with X}
364 %files tcltk
365 %defattr(644,root,root,755)
366 %doc doc/C/README.tk
367 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
368 %attr(755,root,root) %{_bindir}/tkmidi
369 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
370 %{_libdir}/timidity/interface_k.txt
371 %{_prefix}/lib/timidity/tclIndex
372 %{_prefix}/lib/timidity/*.tcl
373 %endif
374
375 %files vt100
376 %defattr(644,root,root,755)
377 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
378 %{_libdir}/timidity/interface_T.txt
379
380 %if %{with X}
381 %files xaw
382 %defattr(644,root,root,755)
383 %doc doc/C/README.xaw
384 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
385 %attr(755,root,root) %{_bindir}/xawmidi
386 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
387 %{_libdir}/timidity/interface_a.txt
388
389 %files xskin
390 %defattr(644,root,root,755)
391 %doc doc/C/README.xskin
392 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
393 %attr(755,root,root) %{_bindir}/xskinmidi
394 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
395 %{_libdir}/timidity/interface_i.txt
396 %endif
397
398 %if %{with alsa}
399 %files alsaseq
400 %defattr(644,root,root,755)
401 %attr(754,root,root) /etc/rc.d/init.d/timidity
402 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity
403 %endif
This page took 0.077348 seconds and 3 git commands to generate.