]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
- fixed tk and emacs interfaces packagimg, separated -emacs
[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
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 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 Obsoletes:      TiMidity++ < 2.13.0-3
218
219 %description xskin
220 xskinmidi - "X Skin" interface for TiMidity++.
221
222 %description xskin -l pl.UTF-8
223 xskinmidi - interfejs do TiMidity++ "X Skin".
224
225 %package alsaseq
226 Summary:        TiMidity++ ALSA sequencer interface
227 Summary(pl.UTF-8):      TiMidity++ jako interfejs sekwencera ALSA
228 Group:          Applications/Sound
229 Requires(post,preun):   /sbin/chkconfig
230 Requires(post,preun,postun):    systemd-units >= 38
231 Requires:       %{name} = %{version}-%{release}
232 Requires:       rc-scripts
233 Requires:       systemd-units >= 38
234
235 %description alsaseq
236 The ALSA sequencer interface communicates between ALSA sequencer core
237 and timidity. The interface receives events from sequencer and plays
238 it in (quasi-)real-time. In this mode, TiMidity works purely as the
239 software real-time MIDI render, that is as a software MIDI synth
240 engine on ALSA.
241
242 %description alsaseq -l pl.UTF-8
243 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
244 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
245 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
246 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
247 jako silnik syntezatora MIDI w architekturze ALSA.
248
249 %prep
250 %setup -q
251 %patch0 -p1
252 %patch2 -p1
253
254 for f in doc/ja_JP.eucJP/README*; do
255         %{__mv} $f ${f}.ja
256 done
257
258 %build
259 cp -f /usr/share/automake/config.sub autoconf
260 %{__autoconf}
261
262 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
263 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}%{?with_ao:,ao}
264
265 %configure \
266         CPPFLAGS="-DUSE_INTERP_RESULT %{rpmcppflags}" \
267         %{?with_alsa:--enable-alsaseq} \
268         --enable-audio=$AUDIO \
269         --enable-dynamic \
270         %{?with_x:--enable-gtk=dynamic} \
271         --enable-emacs=dynamic \
272         %{?with_x:--enable-motif=dynamic} \
273         --enable-ncurses=dynamic \
274         --enable-network \
275         --enable-server \
276         --enable-slang=dynamic \
277         %{?with_x:--enable-spectrogram} \
278         %{?with_x:--enable-tcltk=dynamic} \
279         --enable-vt100=dynamic \
280         %{?with_x:--enable-xaw=dynamic} \
281         %{?with_x:--enable-xskin=dynamic} \
282         --with-default-path=%{_sysconfdir} \
283         --with-elf \
284         %{!?with_x:--without-x}
285
286 %{__make} \
287         SHLIB_DIR=%{_libdir}/timidity
288
289 %install
290 rm -rf $RPM_BUILD_ROOT
291 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}} \
292         $RPM_BUILD_ROOT{%{systemdunitdir},/etc/modules-load.d}
293
294 %{__make} install \
295         DESTDIR=$RPM_BUILD_ROOT \
296         ELISP_DIR=%{_datadir}/emacs/site-lisp \
297         SHLIB_DIR=%{_libdir}/timidity
298
299 # missing in install_tk targets
300 %{__make} -C interface install.bitmaps \
301         DESTDIR=$RPM_BUILD_ROOT
302
303 ## based on timidity/timidity.c
304 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
305 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
306 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
307 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
308 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
309 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
310
311 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
312 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
313 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
314
315 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
316
317 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
318 tar xzf %{SOURCE1}
319 %{__mv} instruments/* .
320 rmdir instruments
321 bzip2 -cd %{SOURCE2} > britepno.pat
322 bzip2 -cd %{SOURCE3} > pistol.pat
323
324 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
325 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
326
327 install %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/timidity.conf
328 install %{SOURCE8} $RPM_BUILD_ROOT%{systemdunitdir}/timidity.service
329
330 %clean
331 rm -rf $RPM_BUILD_ROOT
332
333 %post alsaseq
334 /sbin/chkconfig --add timidity
335 %service timidity restart "TiMidity++ ALSA sequencer interface"
336 %systemd_post timidity.service
337
338 %preun alsaseq
339 if [ "$1" = "0" ]; then
340         %service timidity stop
341         /sbin/chkconfig --del timidity
342 fi
343 %systemd_preun timidity.service
344
345 %postun alsaseq
346 %systemd_reload
347
348 %triggerpostun alsaseq -- %{name}-alsaseq < 2.13.2-8
349 %systemd_trigger timidity.service
350
351 %files
352 %defattr(644,root,root,755)
353 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
354 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
355 %attr(755,root,root) %{_bindir}/timidity
356 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
357 %dir %{_libdir}/timidity
358 %attr(755,root,root) %{_libdir}/timidity/if_ncurses.so
359 %{_mandir}/man1/timidity.1*
360 %{_mandir}/man5/timidity.cfg.5*
361 %lang(ja) %{_mandir}/ja/man1/timidity.1*
362 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
363
364 %files gspdir
365 %defattr(644,root,root,755)
366 %dir %{_datadir}/GUSpatches
367
368 %files instruments
369 %defattr(644,root,root,755)
370 %{_datadir}/GUSpatches/*
371
372 %files emacs
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{_libdir}/timidity/if_emacs.so
375 %{_datadir}/emacs/site-lisp/timidity.el
376
377 %if %{with x}
378 %files gtk
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_bindir}/gtkmidi
381 %attr(755,root,root) %{_libdir}/timidity/if_gtk.so
382 %endif
383
384 %if %{with x}
385 %files motif
386 %defattr(644,root,root,755)
387 %attr(755,root,root) %{_bindir}/xmmidi
388 %attr(755,root,root) %{_libdir}/timidity/if_motif.so
389 %endif
390
391 %files slang
392 %defattr(644,root,root,755)
393 %attr(755,root,root) %{_libdir}/timidity/if_slang.so
394
395 %if %{with x}
396 %files tcltk
397 %defattr(644,root,root,755)
398 %doc doc/C/README.tk
399 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
400 %attr(755,root,root) %{_bindir}/tkmidi
401 %attr(755,root,root) %{_libdir}/timidity/if_tcltk.so
402 %if "%{_lib}" != "lib"
403 %dir %{_prefix}/lib/timidity
404 %endif
405 %{_prefix}/lib/timidity/tclIndex
406 %{_prefix}/lib/timidity/*.tcl
407 %{_prefix}/lib/timidity/bitmaps
408 %endif
409
410 %files vt100
411 %defattr(644,root,root,755)
412 %attr(755,root,root) %{_libdir}/timidity/if_vt100.so
413
414 %if %{with x}
415 %files xaw
416 %defattr(644,root,root,755)
417 %doc doc/C/README.xaw
418 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
419 %attr(755,root,root) %{_bindir}/xawmidi
420 %attr(755,root,root) %{_libdir}/timidity/if_xaw.so
421
422 %files xskin
423 %defattr(644,root,root,755)
424 %doc doc/C/README.xskin
425 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
426 %attr(755,root,root) %{_bindir}/xskinmidi
427 %attr(755,root,root) %{_libdir}/timidity/if_xskin.so
428 %endif
429
430 %if %{with alsa}
431 %files alsaseq
432 %defattr(644,root,root,755)
433 %attr(754,root,root) /etc/rc.d/init.d/timidity
434 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity
435 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/timidity.conf
436 %{systemdunitdir}/timidity.service
437 %endif
This page took 0.432511 seconds and 3 git commands to generate.