File timidity.spec of Package timidity
#
# spec file for package timidity
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%if 0%{?suse_version} < 1140
%define have_arts 1
%else
%define have_arts 0
%endif
Name: timidity
Summary: Software Synthesizer and MIDI Player
Version: 2.13.2
Release: 263
Group: Productivity/Multimedia/Sound/Midi
AutoReqProv: on
License: GPLv2+
Url: http://timidity.sourceforge.net/
%define package_version 2.13.2
%define _use_internal_dependency_generator 0
%define my_provides /tmp/my-provides
BuildRequires: alsa-devel esound-devel libao-devel libjack-devel
BuildRequires: gtk2-devel ncurses-devel openmotif-devel slang-devel tk-devel
BuildRequires: libogg-devel libvorbis-devel update-desktop-files xaw3d
BuildRequires: flac-devel speex-devel
Recommends: fluid-soundfont-gm fluid-soundfont-gs
%if %{have_arts}
BuildRequires: arts-devel
%endif
%if 0%{?suse_version} > 1020
BuildRequires: fdupes xaw3d-devel
%endif
PreReq: %insserv_prereq %fillup_prereq
Source: TiMidity++-%{package_version}.tar.bz2
# Source: timidity-cvs20040227.tar.bz2
Source1: timidity-patches.tar.bz2
Source2: %name.desktop
Source3: timidity.png
Source4: timidity.cfg
Source5: %{name}.init
Source6: %{name}.sysconf
Source7: README.SuSE
Patch: timidity-el-path.dif
Patch1: timidity-gcc4-fix.diff
Patch2: timidity-array-range-fix.diff
Patch3: timidity-tcl-wish-path-fix.diff
Patch4: timidity-alsaseq-poll-fix.diff
Patch5: timidity-fonts-fix.diff
Patch6: timidity-tcl8.5-fix.diff
Patch7: timidity-server-warning-fixes.diff
Patch8: timidity-fix_implicit_declarations.patch
Patch9: timidity-int_ptr_casts.patch
Patch10: timidity-quote_m4_macros.patch
Patch11: timidity-ac_help_string.patch
Patch12: timidity-configure_cache_val_name.patch
Patch13: timidity-flac_api_changes.patch
Patch14: timidity-speex_configury.patch
Patch15: timidity-new_decompressors.patch
Patch16: timidity-codecleanup.patch
Patch17: timidity-no_date.patch
Patch18: timidity-add_fluid_cfgs.patch
Patch19: timidity-fix-sndfont-list.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
TiMidity plays MIDI files without external MIDI instruments and
converts MIDI files to WAV using GUS/patch and SoundFont for voice
data.
Authors:
--------
Masanao Izumo <mo@goice.co.jp>
%prep
%setup -q -n TiMidity++-%{package_version} -a 1
%patch
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7 -p1
%patch8
%patch9
%patch10
%patch11
%patch12
%patch13
%patch14
%patch15
%patch16
%patch17
%patch18
%patch19 -p1
for f in ./utils/bitset.c ./utils/bitset.h ./utils/nkflib.c; do
iconv -f EUC-JISX0213 -t UTF-8 $f > $f.utf8 && mv $f.utf8 $f
done
%build
echo >> autoconf/arts.m4
autoreconf --force --install
%configure \
--enable-dynamic=ncurses,emacs,slang,vt100,xaw,xskin,gtk,motif,tcltk,alsaseq,server \
%if %{have_arts}
--enable-audio=alsa,arts,oss,esd,vorbis,jack,ao,flac,speex \
%else
--enable-audio=alsa,oss,esd,vorbis,jack,ao,flac,speex \
%endif
--with-default-output=alsa \
--enable-network \
--enable-spectrogram \
--enable-wrd \
--with-module-dir=%{_libdir}/timidity \
--with-default-path=/etc
make %{?jobs:-j %jobs} WISH=tclsh CFLAGS="$RPM_OPT_FLAGS"
%install
%makeinstall WISH=tclsh
mkdir -p $RPM_BUILD_ROOT%{_datadir}/X11/app-defaults/
cp TiMidity.ad $RPM_BUILD_ROOT/usr/share/X11/app-defaults/TiMidity
# for japanese locale
# UTF-8 version
mkdir -p $RPM_BUILD_ROOT%{_datadir}/X11/{ja,ja_JP.UTF-8,ja_JP.eucJP,ja_JP.ujis}/app-defaults
iconv -feuc-jp -tutf-8 TiMidity-uj.ad > $RPM_BUILD_ROOT%{_datadir}/X11/ja/app-defaults/TiMidity
ln -s ../../ja/app-defaults/TiMidity $RPM_BUILD_ROOT%{_datadir}/X11/ja_JP.UTF-8/app-defaults/TiMidity
# EUC-jp version
cp TiMidity-uj.ad $RPM_BUILD_ROOT%{_datadir}/X11/ja_JP.eucJP/app-defaults/TiMidity
ln -s ../../ja_JP.eucJP/app-defaults/TiMidity $RPM_BUILD_ROOT%{_datadir}/X11/ja_JP.ujis/app-defaults/TiMidity
# copy documents
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
cp AUTHORS COPYING ChangeLog* NEWS README TODO \
$RPM_BUILD_ROOT%{_docdir}/%{name}
for i in *.ja; do
iconv -f euc-jp -t utf8 $i > $RPM_BUILD_ROOT%{_docdir}/%{name}/$i
done
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}/en
(cd doc/C
for i in * ; do
case $i in
Makefile*|*.[1-9])
;;
*)
cp $i $RPM_BUILD_ROOT%{_docdir}/%{name}/en
;;
esac
done
)
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}/ja_JP
(cd doc/ja_JP.eucJP
for i in * ; do
case $i in
Makefile*|*.[1-9])
;;
*)
iconv -f euc-jp -t utf8 $i > $RPM_BUILD_ROOT%{_docdir}/%{name}/ja_JP/$i
;;
esac
done
)
# copy sample patches and config file
mkdir -p $RPM_BUILD_ROOT%{_datadir}/timidity
cp -a timidity-patches/* $RPM_BUILD_ROOT%{_datadir}/timidity
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
mkdir -p $RPM_BUILD_ROOT%{_datadir}/xemacs/site-lisp/lisp
cp interface/timidity.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
cp interface/timidity.el $RPM_BUILD_ROOT%{_datadir}/xemacs/site-lisp/lisp
%suse_update_desktop_file -i -u %name AudioVideo Midi
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
cp %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/pixmaps
mkdir -p $RPM_BUILD_ROOT/etc
install -c -m 644 %{SOURCE4} $RPM_BUILD_ROOT/etc
# boot scripts
#
%__install -D %{S:5} %{buildroot}/etc/init.d/%{name}
%__install -d %{buildroot}/usr/sbin
ln -s ../../etc/init.d/%{name} %{buildroot}/usr/sbin/rc%{name}
#
# fillup sysconfig.timidity
#
%__install -m 644 -D %{S:6} %{buildroot}/var/adm/fillup-templates/sysconfig.timidity
# exclude plugins from the provide-list
cat << EOF > %{my_provides}
grep -v $RPM_BUILD_ROOT%{_libdir}/timidity | %{__find_provides}
EOF
chmod 755 %{my_provides}
%define __find_provides %{my_provides}
%if 0%{?suse_version} > 1020
%fdupes -s $RPM_BUILD_ROOT
%endif
%clean
[ "$RPM_BUILD_ROOT" != "/" -a -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT
rm -f %{my_provides}
%post
%fillup_only
%preun
%stop_on_removal timidity
%postun
%restart_on_update %name
%{insserv_cleanup}
%files
%defattr(-,root,root)
%{_libdir}/timidity
%{_datadir}/timidity
%config(noreplace) %{_datadir}/timidity/timidity.cfg
%{_bindir}/timidity
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/*.png
%config /etc/timidity.cfg
%doc %{_mandir}/man*/*
%{_datadir}/X11/app-defaults/TiMidity
%{_datadir}/X11/ja*
%doc %{_docdir}/%{name}
%{_datadir}/emacs
%{_datadir}/xemacs
%{_sysconfdir}/init.d/timidity
%{_sbindir}/rctimidity
/var/adm/fillup-templates/sysconfig.timidity
%changelog