Blob Blame History Raw
Name:     gsequencer
Version:  0.9.3
Release:  1%{?dist}
Summary:  Advanced Gtk+ Sequencer audio processing engine

# the entire source code is GPLv3+ except the documentation provided as XML is GFDLv3+
License: GPLv3+ and GFDL
Source0: http://download.savannah.gnu.org/releases/gsequencer/0.9.x/%{name}-%{version}.tar.gz
Patch0:  gsequencer.0-fix-docbook-path.patch
Patch1:  gsequencer.1-fix-libgsequencer-blue-print.patch
Patch2:  gsequencer.2-fix-license-and-logo.patch
URL:                http://nongnu.org/gsequencer
BuildRequires:      libtool
BuildRequires:      chrpath
BuildRequires:      docbook-style-xsl
BuildRequires:      gettext-devel
BuildRequires:      gtk-doc
BuildRequires:      pkgconfig(uuid)
BuildRequires:      pkgconfig(libxml-2.0)
BuildRequires:      gmp-devel
BuildRequires:      pkgconfig(alsa)
BuildRequires:      ladspa-devel
BuildRequires:      dssi-devel
BuildRequires:      lv2-devel
BuildRequires:      pkgconfig(jack)
BuildRequires:      pkgconfig(samplerate)
BuildRequires:      pkgconfig(sndfile)
BuildRequires:      pkgconfig(libinstpatch-1.0)
BuildRequires:      pkgconfig(gtk+-2.0)
BuildRequires:      CUnit-devel
BuildRequires:      desktop-file-utils
BuildRequires:      xorg-x11-server-Xvfb
BuildRequires:      ladspa-cmt-plugins
BuildRequires:      lv2-swh-plugins
Requires:           xml-common

%description
Advanced Gtk+ Sequencer audio processing engine is an audio
sequencer application supporting LADPSA, DSSI and Lv2 plugin
format. It can output to JACK audio connection kit, ALSA and
OSS4.

You may add multiple sinks, mix different sources by producing
sound with different sequencers. Further it features a pattern
and piano roll. Additional there is a automation editor to
automate ports.

%prep
%autosetup -N
%patch0
%patch1
%patch2

%build
autoreconf -fi
%configure --disable-oss --enable-gtk-doc --enable-gtk-doc-html
%make_build
%make_build html

%install
%make_install
%make_install install-html
chrpath --delete %{buildroot}%{_bindir}/gsequencer
chrpath --delete %{buildroot}%{_bindir}/midi2xml
chrpath --delete %{buildroot}%{_libdir}/libags.so*
chrpath --delete %{buildroot}%{_libdir}/libags_server.so*
chrpath --delete %{buildroot}%{_libdir}/libags_thread.so*
chrpath --delete %{buildroot}%{_libdir}/libags_gui.so*
chrpath --delete %{buildroot}%{_libdir}/libags_audio.so*
chrpath --delete %{buildroot}%{_libdir}/libgsequencer.so*
find %{buildroot} -name '*.la' -exec rm -f {} ';'
rm -rf %{buildroot}%{_datadir}/doc-base/

%check
xvfb-run --server-args="-screen 0 1920x1080x24" -a make check
desktop-file-validate %{buildroot}/%{_datadir}/applications/gsequencer.desktop

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%license COPYING
%{_libdir}/libags.so.*
%{_libdir}/libags_thread.so.*
%{_libdir}/libags_server.so.*
%{_libdir}/libags_gui.so.*
%{_libdir}/libags_audio.so.*
%{_libdir}/libgsequencer.so.*
%{_bindir}/gsequencer
%{_bindir}/midi2xml
%{_mandir}/man1/gsequencer.1*
%{_mandir}/man1/midi2xml.1*
%{_datadir}/gsequencer/
%{_datadir}/xml/gsequencer/
%{_docdir}/gsequencer/
%{_datadir}/applications/gsequencer.desktop

%package devel
Summary:  Advanced Gtk+ Sequencer library development files
Requires: %{name}%{_isa} = %{version}-%{release}
%description devel
Advanced Gtk+ Sequencer library development files.

%files devel
%{_includedir}/ags/
%{_libdir}/libags.so
%{_libdir}/libags_thread.so
%{_libdir}/libags_server.so
%{_libdir}/libags_gui.so
%{_libdir}/libags_audio.so
%{_libdir}/libgsequencer.so
%{_libdir}/pkgconfig/libags.pc
%{_libdir}/pkgconfig/libags_audio.pc
%{_libdir}/pkgconfig/libags_gui.pc
%{_libdir}/pkgconfig/libgsequencer.pc

%package -n gsequencer-devel-doc
Summary:  Advanced Gtk+ Sequencer library development documentation
BuildArch: noarch
%description -n gsequencer-devel-doc
Advanced Gtk+ Sequencer library development documentation.

%files -n gsequencer-devel-doc
%{_datadir}/gtk-doc/
%{_datadir}/doc/libags-doc/
%{_datadir}/doc/libags-audio-doc/
%{_datadir}/doc/libags-gui-doc/
%{_datadir}/doc/libgsequencer-doc/

%changelog
* Wed Aug 02 2017 Joël Krähemann <jkraehemann@gmail.com> 0.9.3-1
- modified version because bug fixes available
- modified SOURCE0 because new minor version available

* Mon Jun 26 2017 Joël Krähemann <jkraehemann@gmail.com> 0.8.7-1
- modified version because new features available

* Wed Jun 14 2017 Joël Krähemann <jkraehemann@gmail.com> 0.8.4-1
- removed some patches since applied upstream
- added gettext-devel dependency
- removed make target merged by upstream

* Mon May 22 2017 Joël Krähemann <jkraehemann@gmail.com> 0.8.0-2
- provide 2 more patches to fix unitialized pointer and unit test

* Fri Apr 28 2017 Joël Krähemann <jkraehemann@gmail.com> 0.8.0-1
- removed patch to fix missing type because upstream includes changes

* Wed Apr 19 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.135-1
- provide patch to fix missing license and logo within about dialog
- provide patch to fix missing type for ags-play-dssi

* Wed Apr 12 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.21-0
- removed patch to fix reference manual because upstream includes changes

* Mon Apr 10 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.20-0
- removed 3 patches since new upstream package contains the changes
- modified screen size for functional tests of xvfb-run to be 1920x1080x24
- added ladspa cmt and lv2 swh plugins as build requires for functional tests
- added patch 2 to fix upstream bug of reference manual

* Mon Mar 20 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.7-1
- provide patch to fix possible SIGSEGV as no soundcard configured

* Wed Mar 15 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.7-0
- removed 3 patches that was applied upstream
- modified libgsequencer blue-print patch because upstream changed
- do make check with xvfb-run

* Wed Mar 08 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.6-3
- make docs noarch

* Tue Mar 07 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.6-2
- provide libgsequencer blue-print patch to install to default linker path
- provide libgsequencer gtk-doc patch to generate application API reference
- provide libgsequencer.xml patch to fix non-existing XML files
- provide libgsequencer.pc patch to make it available

* Thu Mar 02 2017 Joël Krähemann <jkraehemann@gmail.com> 0.7.122.6-1
- modified manpage expression
- modified binary expression
- removed CFLAGS and BINDIR flags of make_build

* Sat Dec 31 2016 Joël Krähemann <jkraehemann@gmail.com> 0.7.122-0
- RPM release

* Tue Dec 27 2016 Joël Krähemann <jkraehemann@gmail.com> 0.7.121-0
- fixed license field

* Mon Dec 26 2016 Joël Krähemann <jkraehemann@gmail.com> 0.7.120-0
- added xml-common requires
- gsequencer-devel-doc owns /usr/share/gtk-doc/
- pass compiler optimization flags
- added missing make install-html
- added build requires of docbook-xsl
- added patch to fix docbook path

* Thu Dec 22 2016 Joël Krähemann <jkraehemann@gmail.com> 0.7.119-0
- removed debian specific directory /usr/share/doc-base

* Tue Dec 13 2016 Joël Krähemann <jkraehemann@gmail.com> 0.7.115-0
- Initial RPM release
- unified usage of buildroot within gsequencer.spec
- run make check during check