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