Name: harmonyseq Summary: MIDI sequencer designed for live performances Version: 0.17 Release: 3%{?dist} # The entire source is GPLv3+ except the .metainfo.xml file and the contents of # images/ which are CC0. This results in an effective license of GPLv3+. License: GPLv3+ URL: https://harmonyseq.wordpress.com/ %global srcname harmonySEQ %global forgeurl https://github.com/rafalcieslak/%{srcname}/ Source0: %{forgeurl}/archive/v%{version}/%{srcname}-%{version}.tar.gz # https://github.com/rafalcieslak/harmonySEQ/issues/7 Patch0: %{name}-0.17-missing-include.patch # https://github.com/rafalcieslak/harmonySEQ/issues/5 # https://github.com/rafalcieslak/harmonySEQ/issues/6 # https://github.com/rafalcieslak/harmonySEQ/pull/8 Patch1: %{name}-0.17-pr-8-metadata-improvements.patch BuildRequires: gcc-c++ BuildRequires: cmake # The 'UNIX Makefiles' backend would have worked fine too; we choose ninja. BuildRequires: ninja-build #BuildRequires: gettext-devel BuildRequires: pkgconfig(gtkmm-3.0) BuildRequires: pkgconfig(glibmm-2.4) BuildRequires: pkgconfig(liblo) BuildRequires: alsa-lib-devel BuildRequires: boost-devel BuildRequires: desktop-file-utils BuildRequires: libappstream-glib # For %%{_datadir}/share/mime/packages Requires: shared-mime-info Provides: %{name}-doc = %{version}-%{release} Conflicts: %{name}-doc = 0.17-1 Obsoletes: %{name}-doc < 0.17-1 %global app_id org.cielak.%{name} %description A MIDI software sequencer designed for live performances and jams. %{srcname} operates a number of synchronized sequencers, each with its own pattern, repeating looped melodies of different length, duration and MIDI channel. Main features include: • support for complex polyrhythms • multi-pattern configuration for each sequencer • customizable action triggers - exceptionally useful for live performances • chord management system which allows to easily organize melodies that sound great together • support for sequencing MIDI control messages • an easy-to-use yet powerful interface, with a rich piano-roll pattern editor As for now %{srcname} works on Linux only. It uses ALSA (asound) library, and GTKmm for graphical interface. No official user documentation exists at the moment, but you can refer to UI tooltips - nearly everything has a detailed explanation. More information can be found on the project’s (dated) website: https://harmonyseq.wordpress.com %package doc Summary: Documentation and examples for %{srcname} License: GPLv3+ BuildArch: noarch %description doc Documentation and examples for %{srcname}. %prep %autosetup -n %{srcname}-%{version} -p1 %build # We need the preprocessor macro RELEASE set so that src/main.cpp looks for # resoures in the installation path (DATA_PATH). Normally this is set with # -DCMAKE_BUILD_TYPE=Release, but this also asks to strip debugging symbols, # which we do not want. Setting -DCMAKE_BUILD_TYPE=RelWithDebInfo does not set # the preprocessor macro. Instead, we set it manually: %set_build_flags CFLAGS="${CFLAGS} -DRELEASE" CXXFLAGS="${CXXFLAGS} -DRELEASE" %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja %cmake_build %install %cmake_install # Not a standard size for GNOME icons, so gnome-icon-theme does not have the # directories: rm -rvf '%{buildroot}%{_datadir}/icons/gnome/192x192' %check desktop-file-validate %{buildroot}/%{_datadir}/applications/%{app_id}.desktop appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml %files %license LICENSE %doc CHANGELOG.md %doc README.md %doc examples %{_bindir}/%{srcname} %{_mandir}/man1/%{srcname}.1* %{_datadir}/%{srcname} %{_datadir}/applications/%{app_id}.desktop %{_metainfodir}/%{app_id}.metainfo.xml %{_datadir}/mime/packages/%{name}-mime.xml %changelog * Fri Jul 09 2021 Benjamin A. Beasley - 0.17-3 - Switch License field to “effective license” of GPLv3+ * Thu Apr 29 2021 Benjamin A. Beasley - 0.17-2 - Rebase patch from updated upstream PR#8 * Sun Apr 25 2021 Benjamin A. Beasley - 0.17-1 - New upstream release 0.17 - Merge the -doc subpackage back into the main package since the examples are no longer large - Update application metadata and license breakdown based on https://github.com/rafalcieslak/harmonySEQ/pull/8 * Thu Apr 22 2021 Benjamin A. Beasley - 0.16.1-2 - Update application ID for downstream AppData file to “org.cielak.harmonyseq”, which is what upstream intends to use * Wed Apr 21 2021 Benjamin A. Beasley - 0.16.1-1 - New upstream maintenance release 1.16.1 with GTK3 and modern compiler compatibility - Drop obsolete patches - Update whitespace and ordering based on personal preference - Use macros autosetup, make_build, and make_install - Properly mark license files - Update summary and description from upstream - Improve how distribution build flags are patched in - Use desktop-file-validate instead of desktop-file-install - Use manual installation of documentation so we can exclude examples/Makefile.am and its products - Use stricter file patterns - Add Requires for various directories - Add a -doc subpackage since the examples are large - Add an AppStream XML file, and change the License field from “GPLv3+” to “GPLv3+ and CC0” to accomodate it. - Change URL from HTTP to HTTPS - Add a man page * Tue Jan 26 2021 Fedora Release Engineering - 0.16-32 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 0.16-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jan 29 2020 Fedora Release Engineering - 0.16-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 0.16-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Feb 01 2019 Fedora Release Engineering - 0.16-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 0.16-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 0.16-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Jan 11 2018 Igor Gnatenko - 0.16-25 - Remove obsolete scriptlets * Wed Aug 02 2017 Fedora Release Engineering - 0.16-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.16-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon May 15 2017 Fedora Release Engineering - 0.16-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Sat Feb 18 2017 Orcan Ogetbil - 0.16-21 - gcc7 fixes - added missing includes due to glibmm library change - include examples in doc * Fri Feb 10 2017 Fedora Release Engineering - 0.16-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Feb 03 2016 Fedora Release Engineering - 0.16-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 0.16-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 0.16-17 - Rebuilt for GCC 5 C++11 ABI change * Thu Oct 02 2014 Rex Dieter 0.16-16 - update mime scriptlets * Sat Aug 16 2014 Fedora Release Engineering - 0.16-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Jul 01 2014 Brendan Jones 0.16-14 - Fix FTBS BZ#909783 * Sat Jun 07 2014 Fedora Release Engineering - 0.16-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Thu Aug 08 2013 Brendan Jones 0.16-12 - Unversioned doc dir change * Sat Aug 03 2013 Fedora Release Engineering - 0.16-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 14 2013 Fedora Release Engineering - 0.16-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Nov 23 2012 Brendan Jones 0.16-9 - Update license to GPLv3+ * Sat Oct 27 2012 Brendan Jones 0.16-8 - Add missing BR * Thu Oct 25 2012 Brendan Jones 0.16-7 - Initial package