#rpmbuild results [root@localhost SPECS]# rpmbuild -bp beast.spec error: Macro %mklibname has empty body error: line 36: Dependency tokens must begin with alpha-numeric, '_' or '/': Requires: %mklibname beast 0.6_1 = 0.6.1-1FC4 [root@localhost SPECS]# #Beginning of the Spec file %define version 0.6.1 %define release 1FC4 %define major 1 %define api_version 0.6 %define mklibname %define libname %mklibname %{name} %{api_version} %define custom_dsp 0 %{?dsp_device: %global custom_dsp 1} %define custom_midi 0 %{?midi_device: %global custom_midi 1} Name: beast Summary: Music composition and audio synthesis framework and tool. Version: %{version} Release: %{release} Source0: ftp://beast.gtk.org/pub/beast/v0.6/%{name}-%{version}.tar.bz2 Source1: %{name}-Makefile-fragment.tar.bz2 Patch0: beast-0.6.1-gcc34.patch.bz2 Patch1: beast-0.6.1-no-deprecated.patch.bz2 Patch2: beast-0.6.1-build-order.patch.bz2 URL: http://beast.gtk.org/ License: GPL Group: Sound BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: guile-devel BuildRequires: ImageMagick BuildRequires: libgnomecanvas2-devel BuildRequires: libmad-devel BuildRequires: libvorbis-devel BuildRequires: XFree86-devel BuildRequires: automake1.4 BuildRequires: intltool Requires: %{libname}_%{major} = %{version}-%{release} %description BEAST (the BEdevilled Audio System) is a GTK+/GNOME-based frontend to BSE (the Bedevilled Sound Engine). BSE comes with the abilities to load/store songs and synthesis networks (in .bse files), play them modify them, etc. BEAST provides the necessary GUI to make actual use of BSE. Synthesis filters (BseSources) are implemented in shared library modules, and get loaded on demand. %package -n %{libname}_%{major} Summary: Dynamic libraries from %{name} Group: System/Libraries License: LGPL Provides: %{libname} = %{version}-%{release} %description -n %{libname}_%{major} Dynamic libraries from %{name}. %package -n %{libname}_%{major}-devel Summary: Header files and static libraries from %{name} Group: Development/C License: LGPL Requires: %{libname}_%{major} = %{version} Provides: %{libname}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %{name}-devel %description -n %{libname}_%{major}-devel Libraries and includes files for developing programs based on %{name}. %prep %setup -q # no more needed in 0.6.2 cvs if [ "%version" = "0.6.1" ]; then tar --bzip2 -xf %{SOURCE1} fi %patch0 -p1 -b .gcc34 %patch1 -p1 -b .no-deprecated %patch2 -p1 -b .build-order AUTOMAKE=automake-1.4 ACLOCAL=aclocal-1.4 autoreconf %build %configure2_5x \ %if %custom_dsp --enable-osspcm=%dsp_device \ %else --enable-osspcm=/dev/dsp \ %endif %if %custom_midi --enable-ossmidi=%midi_device \ %else --enable-ossmidi=/dev/midi \ %endif %make %install rm -rf $RPM_BUILD_ROOT %makeinstall_std #menu mkdir -p $RPM_BUILD_ROOT%{_menudir} cat << EOF > $RPM_BUILD_ROOT%{_menudir}/%{name} ?package(%{name}): command="%{name}" icon="%{name}.png" needs="x11" title="Beast" longtitle="Composition and Synthesis" section="Multimedia/Sound" EOF #icons mkdir -p $RPM_BUILD_ROOT%{_iconsdir} \ $RPM_BUILD_ROOT%{_miconsdir} install -D -m 644 data/beast.png $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png convert -geometry 32x32 data/beast.png $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png convert -geometry 16x16 data/beast.png $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png # remove files not bundled rm -f $RPM_BUILD_ROOT%{_libdir}/bse/v*/plugins/*.la %find_lang %{name} --all-name %clean rm -rf $RPM_BUILD_ROOT %post %update_menus %postun %clean_menus %post -n %{libname}_%{major} -p /sbin/ldconfig %postun -n %{libname}_%{major} -p /sbin/ldconfig %files -f %{name}.lang %defattr(-,root,root) %doc README AUTHORS COPYING* NEWS TODO %{_bindir}/* %{_datadir}/application-registry/*.applications %{_datadir}/applications/*.desktop %{_datadir}/bse %{_datadir}/%{name} %{_datadir}/mime-info/* %{_datadir}/pixmaps/* %{_libdir}/bse %{_menudir}/%{name} %{_liconsdir}/%{name}.png %{_iconsdir}/%{name}.png %{_miconsdir}/%{name}.png %{_mandir}/man1/* %files -n %{libname}_%{major} %defattr(-,root,root) %{_libdir}/*.so.* %files -n %{libname}_%{major}-devel %defattr(-,root,root) %doc ChangeLog %{_includedir}/* %{_libdir}/pkgconfig/*.pc %{_libdir}/*.so %{_libdir}/*.la %{_mandir}/man3/* %changelog * Sat Apr 01 2006 Aaron Cripps 0.6.1-1FC4 - First build available under FC4 - Defined %mklibname to build under FC4, now called beast-lib * Tue Jun 22 2004 Abel Cheung 0.6.1-1mdk - New version - rpmbuildupdate aware URL - Disable device detection, this can't be done in building cluster; to use another dsp and midi device, rebuild this rpm with: rpmbuild -D 'dsp_device /dev/????' -D 'midi_device /dev/????' - P0: There's no abort definition under TEMPLATE_ERROR - P1: Remove G_DISABLE_DEPRECATED flag to enable compiling - P2: Temporary fix of compilation error due to wrong building order * Fri Feb 13 2004 Austin Acton 0.6.0-1mdk - 0.6.0 * Mon Dec 29 2003 Austin Acton 0.5.6-1mdk - 0.5.6 * Fri Dec 12 2003 Abel Cheung 0.5.5-1mdk - 0.5.5 - Source1: Source forget to distribute some Makefile fragments, needed for regenerating autotools stuff - Use ImageMagick to convert icons - Add missing locale files - Fix license - Misc other touches - dsp/midi device need to be present during build time, thus forcefully check for them (I feel bad) - Redo mklibname * Wed Jul 30 2003 Austin Acton 0.5.4-1mdk - 0.5.4 * Tue Jul 15 2003 Austin Acton 0.5.3-2mdk - rebuild for rpm * Thu Jun 26 2003 Austin Acton 0.5.3-1mdk - 0.5.3 * Mon Jun 23 2003 Austin Acton 0.5.2-1mdk - 0.5.2 - use guile12 * Tue Apr 29 2003 Austin Acton 0.5.1-2mdk - distlint (DIRM) * Tue Apr 29 2003 Austin Acton 0.5.1-1mdk - 0.5.1 - sonumber is 1 * Tue Apr 1 2003 Austin Acton 0.5.0-1mdk - initial package