]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
- versioned timidity* Obsoletes, dropped bogus TiMidity++ Obsoletes
[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_without  ao      # enable ao support
6 %bcond_with     arts    # enable ARTS support (implies also glib(2) deps)
7 %bcond_with     esd     # enable ESD support
8 %bcond_with     jack    # enable JACK support
9 %bcond_with     nas     # enable NAS support
10 %bcond_with     vorbis  # enable Ogg Vorbis support
11 #
12 Summary:        TiMidity++ - MIDI to WAV converter and player
13 Summary(pl.UTF-8):      TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
14 Summary(pt_BR.UTF-8):   Sintetizador MIDI por software
15 Summary(ru.UTF-8):      Проигрыватель MIDI файлов и конвертор их в WAV формат
16 Summary(uk.UTF-8):      Програвач MIDI-файлів та конвертор їх в WAV формат
17 Name:           TiMidity++
18 Version:        2.15.0
19 Release:        1
20 License:        GPL
21 Group:          Applications/Sound
22 Source0:        http://downloads.sourceforge.net/timidity/%{name}-%{version}.tar.xz
23 # Source0-md5:  d85077febda2c85ffe9f9628023c2667
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 Source7:        timidity-modules-load.conf
34 Source8:        timidity.service
35 Patch0:         %{name}-detach.patch
36 Patch2:         %{name}-configure.patch
37 URL:            http://timidity.sourceforge.net/
38 %{?with_alsa:BuildRequires:     alsa-lib-devel}
39 %{?with_arts:BuildRequires:     arts-devel}
40 BuildRequires:  autoconf
41 %{?with_esd:BuildRequires:      esound-devel}
42 %{?with_x:BuildRequires:        gtk+-devel}
43 %{?with_jack:BuildRequires:     jack-audio-connection-kit-devel}
44 %{?with_ao:BuildRequires:       libao-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 < 2.10.4
54 Obsoletes:      timidity++ < 2.10.4
55 Obsoletes:      timidity++-X11 < 2.10.4
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 < 2.10.4
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 emacs
128 Summary:        Emacs interface for TiMidity++
129 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Emacsa
130 Group:          Applications/Sound
131 Requires:       %{name} = %{version}-%{release}
132 Requires:       emacs
133
134 %description emacs
135 Emacs interface for TiMidity++.
136
137 %description emacs -l pl.UTF-8
138 Interfejs TiMidity++ oparty o Emacsa.
139
140 %package gtk
141 Summary:        GTK+ interface for TiMidity++
142 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o bibliotekę GTK+
143 Group:          Applications/Sound
144 Requires:       %{name}(X) = %{version}-%{release}
145
146 %description gtk
147 gtkmidi - GTK+ interface for TiMidity++.
148
149 %description gtk -l pl.UTF-8
150 gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
151
152 %package motif
153 Summary:        Motif interface for TiMidity++
154 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Motif
155 Group:          Applications/Sound
156 Requires:       %{name}(X) = %{version}-%{release}
157
158 %description motif
159 xmmidi - Motif interface for TiMidity++.
160
161 %description motif -l pl.UTF-8
162 xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
163
164 %package slang
165 Summary:        Slang interface for TiMidity++
166 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o bibliotekę Slang
167 Group:          Applications/Sound
168 Requires:       %{name} = %{version}-%{release}
169
170 %description slang
171 Slang interface for TiMidity++.
172
173 %description slang -l pl.UTF-8
174 Interfejs do TiMidity++ oparty o bibliotekę Slang.
175
176 %package tcltk
177 Summary:        Tcl/Tk interface for TiMidity++
178 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Tcl/Tk
179 Group:          Applications/Sound
180 Requires:       %{name}(X) = %{version}-%{release}
181
182 %description tcltk
183 tkmidi - Tcl/Tk interface for TiMidity++.
184
185 %description tcltk -l pl.UTF-8
186 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
187
188 %package vt100
189 Summary:        VT100 interface for TiMidity++
190 Summary(pl.UTF-8):      Interfejs TiMidity++ działający na terminalu VT100
191 Group:          Applications/Sound
192 Requires:       %{name} = %{version}-%{release}
193
194 %description vt100
195 VT100 interface for TiMidity++.
196
197 %description vt100 -l pl.UTF-8
198 Interfejs do TiMidity++ mogący działać na terminalu VT100.
199
200 %package xaw
201 Summary:        Athena interface for TiMidity++
202 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Athena Widgets
203 Group:          Applications/Sound
204 Requires:       %{name}(X) = %{version}-%{release}
205
206 %description xaw
207 xawmidi - Athena interface for TiMidity++.
208
209 %description xaw -l pl.UTF-8
210 xawmidi - interfejs do TiMidity++ oparty o biblitekę widgetów Athena.
211
212 %package xskin
213 Summary:        "X Skin" interface for TiMidity++
214 Summary(pl.UTF-8):      Interfejs TiMidity++ "X Skin"
215 Group:          Applications/Sound
216 Requires:       %{name}(X) = %{version}-%{release}
217
218 %description xskin
219 xskinmidi - "X Skin" interface for TiMidity++.
220
221 %description xskin -l pl.UTF-8
222 xskinmidi - interfejs do TiMidity++ "X Skin".
223
224 %package alsaseq
225 Summary:        TiMidity++ ALSA sequencer interface
226 Summary(pl.UTF-8):      TiMidity++ jako interfejs sekwencera ALSA
227 Group:          Applications/Sound
228 Requires(post,preun):   /sbin/chkconfig
229 Requires(post,preun,postun):    systemd-units >= 38
230 Requires:       %{name} = %{version}-%{release}
231 Requires:       rc-scripts
232 Requires:       systemd-units >= 38
233
234 %description alsaseq
235 The ALSA sequencer interface communicates between ALSA sequencer core
236 and timidity. The interface receives events from sequencer and plays
237 it in (quasi-)real-time. In this mode, TiMidity works purely as the
238 software real-time MIDI render, that is as a software MIDI synth
239 engine on ALSA.
240
241 %description alsaseq -l pl.UTF-8
242 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
243 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
244 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
245 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
246 jako silnik syntezatora MIDI w architekturze ALSA.
247
248 %prep
249 %setup -q
250 %patch0 -p1
251 %patch2 -p1
252
253 for f in doc/ja_JP.eucJP/README*; do
254         %{__mv} $f ${f}.ja
255 done
256
257 %build
258 cp -f /usr/share/automake/config.sub autoconf
259 %{__autoconf}
260
261 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
262 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}%{?with_ao:,ao}
263
264 %configure \
265         CPPFLAGS="-DUSE_INTERP_RESULT %{rpmcppflags}" \
266         %{?with_alsa:--enable-alsaseq} \
267         --enable-audio=$AUDIO \
268         --enable-dynamic \
269         --enable-emacs=dynamic \
270         %{?with_x:--enable-gtk=dynamic} \
271         %{?with_x:--enable-motif=dynamic} \
272         --enable-ncurses=dynamic \
273         --enable-network \
274         --enable-server \
275         --enable-slang=dynamic \
276         %{?with_x:--enable-spectrogram} \
277         %{?with_x:--enable-tcltk=dynamic} \
278         --enable-vt100=dynamic \
279         %{?with_x:--enable-xaw=dynamic} \
280         %{?with_x:--enable-xskin=dynamic} \
281         --with-default-path=%{_sysconfdir} \
282         --with-elf \
283         %{!?with_x:--without-x}
284
285 %{__make} \
286         SHLIB_DIR=%{_libdir}/timidity
287
288 %install
289 rm -rf $RPM_BUILD_ROOT
290 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}} \
291         $RPM_BUILD_ROOT{%{systemdunitdir},/etc/modules-load.d}
292
293 %{__make} install \
294         DESTDIR=$RPM_BUILD_ROOT \
295         ELISP_DIR=%{_datadir}/emacs/site-lisp \
296         SHLIB_DIR=%{_libdir}/timidity
297
298 # missing in install_tk targets
299 %{__make} -C interface install.bitmaps \
300         DESTDIR=$RPM_BUILD_ROOT
301
302 ## based on timidity/timidity.c
303 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
304 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
305 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
306 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
307 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
308 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
309
310 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
311 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
312 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
313
314 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
315
316 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
317 tar xzf %{SOURCE1}
318 %{__mv} instruments/* .
319 rmdir instruments
320 bzip2 -cd %{SOURCE2} > britepno.pat
321 bzip2 -cd %{SOURCE3} > pistol.pat
322
323 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
324 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
325
326 install %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/timidity.conf
327 install %{SOURCE8} $RPM_BUILD_ROOT%{systemdunitdir}/timidity.service
328
329 %clean
330 rm -rf $RPM_BUILD_ROOT
331
332 %post alsaseq
333 /sbin/chkconfig --add timidity
334 %service timidity restart "TiMidity++ ALSA sequencer interface"
335 %systemd_post timidity.service
336
337 %preun alsaseq
338 if [ "$1" = "0" ]; then
339         %service timidity stop
340         /sbin/chkconfig --del timidity
341 fi
342 %systemd_preun timidity.service
343
344 %postun alsaseq
345 %systemd_reload
346
347 %triggerpostun alsaseq -- %{name}-alsaseq < 2.13.2-8
348 %systemd_trigger timidity.service
349
350 %files
351 %defattr(644,root,root,755)
352 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
353 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
354 %attr(755,root,root) %{_bindir}/timidity
355 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
356 %dir %{_libdir}/timidity
357 %attr(755,root,root) %{_libdir}/timidity/if_ncurses.so
358 %{_mandir}/man1/timidity.1*
359 %{_mandir}/man5/timidity.cfg.5*
360 %lang(ja) %{_mandir}/ja/man1/timidity.1*
361 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
362
363 %files gspdir
364 %defattr(644,root,root,755)
365 %dir %{_datadir}/GUSpatches
366
367 %files instruments
368 %defattr(644,root,root,755)
369 %{_datadir}/GUSpatches/*
370
371 %files emacs
372 %defattr(644,root,root,755)
373 %attr(755,root,root) %{_libdir}/timidity/if_emacs.so
374 %{_datadir}/emacs/site-lisp/timidity.el
375
376 %if %{with x}
377 %files gtk
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_bindir}/gtkmidi
380 %attr(755,root,root) %{_libdir}/timidity/if_gtk.so
381 %endif
382
383 %if %{with x}
384 %files motif
385 %defattr(644,root,root,755)
386 %attr(755,root,root) %{_bindir}/xmmidi
387 %attr(755,root,root) %{_libdir}/timidity/if_motif.so
388 %endif
389
390 %files slang
391 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_libdir}/timidity/if_slang.so
393
394 %if %{with x}
395 %files tcltk
396 %defattr(644,root,root,755)
397 %doc doc/C/README.tk
398 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
399 %attr(755,root,root) %{_bindir}/tkmidi
400 %attr(755,root,root) %{_libdir}/timidity/if_tcltk.so
401 %if "%{_lib}" != "lib"
402 %dir %{_prefix}/lib/timidity
403 %endif
404 %{_prefix}/lib/timidity/tclIndex
405 %{_prefix}/lib/timidity/*.tcl
406 %{_prefix}/lib/timidity/bitmaps
407 %endif
408
409 %files vt100
410 %defattr(644,root,root,755)
411 %attr(755,root,root) %{_libdir}/timidity/if_vt100.so
412
413 %if %{with x}
414 %files xaw
415 %defattr(644,root,root,755)
416 %doc doc/C/README.xaw
417 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
418 %attr(755,root,root) %{_bindir}/xawmidi
419 %attr(755,root,root) %{_libdir}/timidity/if_xaw.so
420
421 %files xskin
422 %defattr(644,root,root,755)
423 %doc doc/C/README.xskin
424 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
425 %attr(755,root,root) %{_bindir}/xskinmidi
426 %attr(755,root,root) %{_libdir}/timidity/if_xskin.so
427 %endif
428
429 %if %{with alsa}
430 %files alsaseq
431 %defattr(644,root,root,755)
432 %attr(754,root,root) /etc/rc.d/init.d/timidity
433 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity
434 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/timidity.conf
435 %{systemdunitdir}/timidity.service
436 %endif
This page took 0.187467 seconds and 3 git commands to generate.