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