buzztrax/buzztard.spec

249 lines
9.0 KiB
RPMSpec

#
# spec file for package buzztard
#
# Copyright (c) 2012 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/
#
%define gir gobject-introspection-1.0
%define gstreamer_pluginsdir %(pkg-config --variable=pluginsdir gstreamer-0.10)
%define girdir %(pkg-config --variable=girdir %{gir})
%define typelibdir %(pkg-config --variable=typelibdir %{gir})
%define core_soname 0
%define ic_soname 0
Name: buzztard
Version: 0.6.0
Release: 0
Summary: A music studio inspired by Buzz
License: LGPL-2.0+
Group: Productivity/Multimedia/Sound/Utilities
Url: http://buzztard.org/
Source0: https://downloads.sourceforge.net/project/buzztard/buzztard/%{version}/buzztard-%{version}.tar.gz
# PATCH-FIX-UPSTREAM buzztard-0.6.0-gir.patch http://buzztard.org/bugs/?do=view_issue&issue=39 reddwarf@opensuse.org -- Install gobject-introspection files in the correct place
Patch0: buzztard-0.6.0-gir.patch
# PATCH-FIX-UPSTREAM buzztard-0.6.0-mime.patch http://buzztard.org/bugs/?do=view_issue&issue=40 reddwarf@opensuse.org -- Don't run update-mime-database
Patch1: buzztard-0.6.0-mime.patch
# PATCH-FIX-UPSTREAM buzztard-0.6.0-no_check.patch reddwarf@opensuse.org -- Don't run the checks even if check is installed. It fails without debug, it's in upsteram TODO list.
Patch2: buzztard-0.6.0-no_check.patch
# PATCH-FIX-UPSTREAM buzztard-0.6.0-desktop_file.patch http://buzztard.org/bugs/?do=view_issue&issue=41 reddwarf@opensuse.org -- Delete incorrect version tag
Patch3: buzztard-0.6.0-desktop_file.patch
# PATCH-FIX-UPSTREAM buzztard-0.6.0-core_gir.patch http://buzztard.org/bugs/?do=view_issue&issue=42 reddwarf@opensuse.org -- Fix BuzztardCore-0.0.gir generation
Patch4: buzztard-0.6.0-core_gir.patch
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: hicolor-icon-theme
BuildRequires: intltool
BuildRequires: pkg-config
BuildRequires: scrollkeeper
BuildRequires: shared-mime-info
BuildRequires: pkgconfig(%{gir})
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(gconf-2.0) >= 2.2.0
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gdk-x11-2.0)
BuildRequires: pkgconfig(gio-2.0) >= 2.10.0
BuildRequires: pkgconfig(glib-2.0) >= 2.10.0
BuildRequires: pkgconfig(gmodule-2.0) >= 2.10.0
BuildRequires: pkgconfig(gobject-2.0) >= 2.10.0
BuildRequires: pkgconfig(gstreamer-0.10) >= 0.10.14
BuildRequires: pkgconfig(gstreamer-audio-0.10)
BuildRequires: pkgconfig(gstreamer-base-0.10) >= 0.10.14
BuildRequires: pkgconfig(gstreamer-controller-0.10) >= 0.10.14
BuildRequires: pkgconfig(gstreamer-interfaces-0.10)
BuildRequires: pkgconfig(gstreamer-pbutils-0.10)
BuildRequires: pkgconfig(gtk+-x11-2.0)
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(libgnomecanvas-2.0)
BuildRequires: pkgconfig(libgsf-1)
BuildRequires: pkgconfig(libgstbuzztard) >= 0.6.0
BuildRequires: pkgconfig(libxml-2.0) >= 2.6.0
BuildRequires: pkgconfig(pango)
%if %{with bml}
BuildRequires: pkgconfig(libbml) >= 0.6.0
%endif
%gconf_schemas_requires
%description
Buzztard aims to be a music studio that allows one to compose
songs using only a computer with a soundcard. If you've used
tracker programs like FastTracker, Impulse Tracker, or the
original AMIGA SoundTracker, that will give you an idea
of how one can sequence music in Buzztard. The Buzztard
editor uses a similar concept, where a song consists
of a sequence with tracks and in each track one uses patterns
with events (musical notes and control changes). In contrast
to other Tracker programs, tracks are not simply sample players:
a user can make a song using an arrangment of virtual audio
plugins that are linked together to create different effects.
Each of these machines can be controlled realtime or via
patterns in the sequencer.
%package -n gstreamer-0_10-plugins-buzztarddec
Summary: Buzztard GStreamer plugin
Group: Productivity/Multimedia/Other
%description -n gstreamer-0_10-plugins-buzztarddec
Plugin to play Buzztard songs from any GStreamer compatible app.
%package -n libbuzztard-ic%{ic_soname}
Summary: Interaction controller support classes for buzztard based applications
Group: System/Libraries
Recommends: gstreamer-0_10-plugins-buzztard
%description -n libbuzztard-ic%{ic_soname}
This package provides interaction controller support classes for buzztard based applications.
%package -n libbuzztard-core%{core_soname}
Summary: Core support classes for buzztard based applications
Group: System/Libraries
%description -n libbuzztard-core%{core_soname}
This package provides core support classes for buzztard based applications.
%package -n libbuzztard-ic-devel
Summary: Development files for libbuzztard-ic
Group: Development/Libraries/C and C++
Requires: libbuzztard-ic%{ic_soname} = %{version}
%description -n libbuzztard-ic-devel
This package provides the development files for libbuzztard-ic.
%package -n libbuzztard-core-devel
Summary: Development files for libbuzztard-core
Group: Development/Libraries/C and C++
Requires: libbuzztard-core%{core_soname} = %{version}
%description -n libbuzztard-core-devel
This package provides the development files for libbuzztard-core.
%package -n typelib-1_0-BuzztardIc-0_0
Summary: BuzztardIc introspection bindings
Group: System/Libraries
%description -n typelib-1_0-BuzztardIc-0_0
This package provides the GObject Introspection bindings for BuzztardIc.
%package -n typelib-1_0-BuzztardCore-0_0
Summary: BuzztardCore Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-BuzztardCore-0_0
This package provides the GObject Introspection bindings for BuzztardCore.
%prep
%setup -q
%patch0
%patch1
%patch2
%patch3
%patch4
%build
%configure --disable-static --disable-schemas-install --disable-silent-rules
make %{?_smp_flags}
%install
%make_install
find %{buildroot}%{_libdir} -name '*.la' -delete
%find_lang buzztard-0.6
%find_gconf_schemas
%fdupes -s %{buildroot}
printf 'libbuzztard-ic%{ic_soname}\n
libbuzztard-core%{core_soname}\n
typelib-1_0-BuzztardIc-0_0\n
\t+^%{typelibdir}/BuzztardIc-0.0.typelib$\n
typelib-1_0-BuzztardCore-0_0\n
\t+^%{typelibdir}/BuzztardCore-0.0.typelib$\n' > %{_sourcedir}/baselibs.conf
%pre -f %{name}.schemas_pre
%post
%icon_theme_cache_post
%icon_theme_cache_post gnome
%mime_database_post
%desktop_database_post
%preun -f %{name}.schemas_preun
%postun
%desktop_database_postun
%mime_database_postun
%icon_theme_cache_postun gnome
%icon_theme_cache_postun
%posttrans -f %{name}.schemas_posttrans
%post -n libbuzztard-ic%{ic_soname} -p /sbin/ldconfig
%post -n libbuzztard-core%{core_soname} -p /sbin/ldconfig
%postun -n libbuzztard-ic%{ic_soname} -p /sbin/ldconfig
%postun -n libbuzztard-core%{core_soname} -p /sbin/ldconfig
%files -f buzztard-0.6.lang -f %{name}.schemas_list
%defattr(0644,root,root,0755)
%doc AUTHORS COPYING COPYING-DOCS NEWS README TODO
%attr(0755,root,root) %{_bindir}/*
%{_datadir}/buzztard/
%{_datadir}/applications/buzztard-edit.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/icons/gnome
%doc %{_datadir}/omf/buzztard-edit/
%dir %{_datadir}/gnome/
%doc %{_datadir}/gnome/help/
%{_datadir}/gtk-doc/html/buzztard-cmd/
%{_datadir}/gtk-doc/html/buzztard-edit/
%{_datadir}/mime/packages/buzztard.xml
%attr(0644,root,root) %ghost %{_datadir}/mime/audio/x-bzt.xml
%attr(0644,root,root) %ghost %{_datadir}/mime/audio/x-bzt-xml.xml
%files -n gstreamer-0_10-plugins-buzztarddec
%defattr(0644,root,root,0755)
%{gstreamer_pluginsdir}/libbuzztarddec.so
%files -n libbuzztard-ic%{ic_soname}
%defattr(0644,root,root,0755)
%{_libdir}/libbuzztard-ic.so.%{ic_soname}*
%files -n libbuzztard-core%{ic_soname}
%defattr(0644,root,root,0755)
%{_libdir}/libbuzztard-core.so.%{core_soname}*
%files -n libbuzztard-ic-devel
%defattr(0644,root,root,0755)
%{_includedir}/libbuzztard-ic/
%{_libdir}/libbuzztard-ic.so
%{_libdir}/pkgconfig/libbuzztard-ic.pc
%{girdir}/BuzztardIc-0.0.gir
%{_datadir}/gtk-doc/html/buzztard-ic/
%files -n libbuzztard-core-devel
%defattr(0644,root,root,0755)
%{_includedir}/libbuzztard-core/
%{_libdir}/libbuzztard-core.so
%{_libdir}/pkgconfig/libbuzztard-core.pc
%{girdir}/BuzztardCore-0.0.gir
%{_datadir}/gtk-doc/html/buzztard-core/
%files -n typelib-1_0-BuzztardIc-0_0
%defattr(0644,root,root,0755)
%{typelibdir}/BuzztardIc-0.0.typelib
%files -n typelib-1_0-BuzztardCore-0_0
%defattr(0644,root,root,0755)
%{typelibdir}/BuzztardCore-0.0.typelib
%changelog