]> git.pld-linux.org Git - packages/TiMidity++.git/blame_incremental - TiMidity++.spec
- versioned timidity* Obsoletes, dropped bogus TiMidity++ Obsoletes
[packages/TiMidity++.git] / TiMidity++.spec
... / ...
CommitLineData
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#
12Summary: TiMidity++ - MIDI to WAV converter and player
13Summary(pl.UTF-8): TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
14Summary(pt_BR.UTF-8): Sintetizador MIDI por software
15Summary(ru.UTF-8): Проигрыватель MIDI файлов и конвертор их в WAV формат
16Summary(uk.UTF-8): Програвач MIDI-файлів та конвертор їх в WAV формат
17Name: TiMidity++
18Version: 2.15.0
19Release: 1
20License: GPL
21Group: Applications/Sound
22Source0: http://downloads.sourceforge.net/timidity/%{name}-%{version}.tar.xz
23# Source0-md5: d85077febda2c85ffe9f9628023c2667
24Source1: http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
25# Source1-md5: 4959787a78ee39d44a36185bd303cf20
26Source2: britepno.pat.bz2
27# Source2-md5: 324e265362f812883024b58cf3470d1a
28Source3: pistol.pat.bz2
29# Source3-md5: f961325db679de6e0ea402ebe6a268f9
30Source4: timidity.cfg
31Source5: timidity.init
32Source6: timidity.sysconfig
33Source7: timidity-modules-load.conf
34Source8: timidity.service
35Patch0: %{name}-detach.patch
36Patch2: %{name}-configure.patch
37URL: http://timidity.sourceforge.net/
38%{?with_alsa:BuildRequires: alsa-lib-devel}
39%{?with_arts:BuildRequires: arts-devel}
40BuildRequires: 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}
48BuildRequires: ncurses-devel
49BuildRequires: rpmbuild(macros) >= 1.626
50BuildRequires: slang-devel >= 2.0.0
51%{?with_x:BuildRequires: tk-devel >= 8.3.2}
52%{?with_x:Provides: %{name}(X) = %{version}-%{release}}
53Obsoletes: timidity < 2.10.4
54Obsoletes: timidity++ < 2.10.4
55Obsoletes: timidity++-X11 < 2.10.4
56BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58%description
59TiMidity++ is a converter that converts some of MIDI files ( formats :
60Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
61Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
62TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
63(sfx, sf2) to generate digital audio data from MIDI files. The digital
64audio data generated by TiMidity can be stored in a file for
65processing, or played in real time through an audio device. In real
66time playing, TiMidity if able to show the lyric contained in KAR file
67or WRD file.
68
69%description -l pl.UTF-8
70TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
71Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
72plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
73TiMidity używa patchy takich jak Gravis Ultrasound albo Soundfontów
74(sfx, sf2). Cyfrowe dane audio mogą być zapisane do pliku albo
75odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity może
76pokazywać słowa zawarte w pliku KAR lub WRD.
77
78%description -l pt_BR.UTF-8
79O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
80ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
81que utilizam o recurso de "wavetable" via hardware (como a AWE32),
82mesmo que esta não possua o recurso de "wavetable" (a SB16 por
83exemplo).
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
99Summary: Directory for TiMidity++ instruments
100Summary(pl.UTF-8): Katalog na instrumenty TiMidity++
101Group: Applications/Sound
102
103%description gspdir
104Directory where TiMidity++ instruments should be placed in.
105
106%description gspdir -l pl.UTF-8
107Katalog, w którym powinny być instalowane instrumenty dla TiMidity++.
108
109%package instruments
110Summary: Instruments for TiMidity++
111Summary(pl.UTF-8): Instrumenty dla TiMidity++
112Summary(pt_BR.UTF-8): Instrumentos básicos para o TiMidity++
113Group: Applications/Sound
114Requires: %{name}-gspdir = %{version}-%{release}
115Obsoletes: timidity-patches < 2.10.4
116
117%description instruments
118Instruments for TiMidity++.
119
120%description instruments -l pl.UTF-8
121Instrumenty dla TiMidity++.
122
123%description instruments -l pt_BR.UTF-8
124Este pacote inclui um conjunto básico de instrumentos (chamados de
125patches no meio musical) para o TiMidity++.
126
127%package emacs
128Summary: Emacs interface for TiMidity++
129Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Emacsa
130Group: Applications/Sound
131Requires: %{name} = %{version}-%{release}
132Requires: emacs
133
134%description emacs
135Emacs interface for TiMidity++.
136
137%description emacs -l pl.UTF-8
138Interfejs TiMidity++ oparty o Emacsa.
139
140%package gtk
141Summary: GTK+ interface for TiMidity++
142Summary(pl.UTF-8): Interfejs TiMidity++ oparty o bibliotekę GTK+
143Group: Applications/Sound
144Requires: %{name}(X) = %{version}-%{release}
145
146%description gtk
147gtkmidi - GTK+ interface for TiMidity++.
148
149%description gtk -l pl.UTF-8
150gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
151
152%package motif
153Summary: Motif interface for TiMidity++
154Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Motif
155Group: Applications/Sound
156Requires: %{name}(X) = %{version}-%{release}
157
158%description motif
159xmmidi - Motif interface for TiMidity++.
160
161%description motif -l pl.UTF-8
162xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
163
164%package slang
165Summary: Slang interface for TiMidity++
166Summary(pl.UTF-8): Interfejs TiMidity++ oparty o bibliotekę Slang
167Group: Applications/Sound
168Requires: %{name} = %{version}-%{release}
169
170%description slang
171Slang interface for TiMidity++.
172
173%description slang -l pl.UTF-8
174Interfejs do TiMidity++ oparty o bibliotekę Slang.
175
176%package tcltk
177Summary: Tcl/Tk interface for TiMidity++
178Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Tcl/Tk
179Group: Applications/Sound
180Requires: %{name}(X) = %{version}-%{release}
181
182%description tcltk
183tkmidi - Tcl/Tk interface for TiMidity++.
184
185%description tcltk -l pl.UTF-8
186tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
187
188%package vt100
189Summary: VT100 interface for TiMidity++
190Summary(pl.UTF-8): Interfejs TiMidity++ działający na terminalu VT100
191Group: Applications/Sound
192Requires: %{name} = %{version}-%{release}
193
194%description vt100
195VT100 interface for TiMidity++.
196
197%description vt100 -l pl.UTF-8
198Interfejs do TiMidity++ mogący działać na terminalu VT100.
199
200%package xaw
201Summary: Athena interface for TiMidity++
202Summary(pl.UTF-8): Interfejs TiMidity++ oparty o Athena Widgets
203Group: Applications/Sound
204Requires: %{name}(X) = %{version}-%{release}
205
206%description xaw
207xawmidi - Athena interface for TiMidity++.
208
209%description xaw -l pl.UTF-8
210xawmidi - interfejs do TiMidity++ oparty o biblitekę widgetów Athena.
211
212%package xskin
213Summary: "X Skin" interface for TiMidity++
214Summary(pl.UTF-8): Interfejs TiMidity++ "X Skin"
215Group: Applications/Sound
216Requires: %{name}(X) = %{version}-%{release}
217
218%description xskin
219xskinmidi - "X Skin" interface for TiMidity++.
220
221%description xskin -l pl.UTF-8
222xskinmidi - interfejs do TiMidity++ "X Skin".
223
224%package alsaseq
225Summary: TiMidity++ ALSA sequencer interface
226Summary(pl.UTF-8): TiMidity++ jako interfejs sekwencera ALSA
227Group: Applications/Sound
228Requires(post,preun): /sbin/chkconfig
229Requires(post,preun,postun): systemd-units >= 38
230Requires: %{name} = %{version}-%{release}
231Requires: rc-scripts
232Requires: systemd-units >= 38
233
234%description alsaseq
235The ALSA sequencer interface communicates between ALSA sequencer core
236and timidity. The interface receives events from sequencer and plays
237it in (quasi-)real-time. In this mode, TiMidity works purely as the
238software real-time MIDI render, that is as a software MIDI synth
239engine on ALSA.
240
241%description alsaseq -l pl.UTF-8
242Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
243ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
244je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
245wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
246jako silnik syntezatora MIDI w architekturze ALSA.
247
248%prep
249%setup -q
250%patch0 -p1
251%patch2 -p1
252
253for f in doc/ja_JP.eucJP/README*; do
254 %{__mv} $f ${f}.ja
255done
256
257%build
258cp -f /usr/share/automake/config.sub autoconf
259%{__autoconf}
260
261AUDIO=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
289rm -rf $RPM_BUILD_ROOT
290install -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?
304ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
305ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
306ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
307ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
308ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
309
310install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
311install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
312install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
313
314install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
315
316cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
317tar xzf %{SOURCE1}
318%{__mv} instruments/* .
319rmdir instruments
320bzip2 -cd %{SOURCE2} > britepno.pat
321bzip2 -cd %{SOURCE3} > pistol.pat
322
323install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
324install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
325
326install %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/timidity.conf
327install %{SOURCE8} $RPM_BUILD_ROOT%{systemdunitdir}/timidity.service
328
329%clean
330rm -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
338if [ "$1" = "0" ]; then
339 %service timidity stop
340 /sbin/chkconfig --del timidity
341fi
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.033381 seconds and 5 git commands to generate.