Name: harmonyseq Summary: MIDI sequencer designed for live performances Version: 0.16.1 Release: 2%{?dist} License: GPLv3+ and CC0 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/5 Source1: org.cielak.%{name}.metainfo.xml # https://github.com/rafalcieslak/harmonySEQ/issues/6 Source2: %{srcname}.1 # Fixed upstream in 0.17: Patch0: harmonyseq-0.16.1-css-path.patch BuildRequires: gcc-c++ BuildRequires: make BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-devel BuildRequires: alsa-lib-devel BuildRequires: pkgconfig(gtkmm-3.0) BuildRequires: liblo-devel BuildRequires: desktop-file-utils BuildRequires: libappstream-glib # For %%{_datadir}/icons/hicolor/… Requires: hicolor-icon-theme # For %%{_datadir}/icons/gnome/… Requires: gnome-icon-theme # For %%{_datadir}/share/mime/packages Requires: shared-mime-info %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 # Override hard-coded optimization flags, and respect the environment’s build # flags. We have not offered this patch upstream because the Autotools build # system is removed in a later release. # -e 's/^(harmonySEQ_CPPFLAGS\b.*)-O3/\1\$\{CXXFLAGS\}/' sed -r -i \ -e 's/^(harmonySEQ_CPPFLAGS\b.*)-O3/\1/' \ -e 's/^(harmonySEQ_LDFLAGS\b.*)-O3/\1\$\{LDFLAGS\}/' \ src/Makefile.am # We restore some of the flags that are patched out here in the %%build # section. sed -r -i '/^CXXFLAGS\b/d' configure.ac %build autoreconf -fiv %set_build_flags # These were patched out of configure.ac, along with a hard-coded “-g -O0”. CXXFLAGS="${CXXFLAGS} -Wno-deprecated-declarations -std=c++17" %configure %make_build %install %make_install # Not a standard size for GNOME icons, so gnome-icon-theme does not have the # directories: rm -rvf '%{buildroot}%{_datadir}/icons/gnome/192x192' install -d '%{buildroot}%{_pkgdocdir}' cp -rp CHANGELOG README.md examples '%{buildroot}%{_pkgdocdir}' rm -vf %{buildroot}%{_pkgdocdir}/examples/Makefile* install -t '%{buildroot}%{_metainfodir}' -D -p -m 0644 '%{SOURCE1}' # Manually install man page install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 '%{SOURCE2}' # Manually install CSS; works with Patch0. install -t '%{buildroot}%{_datadir}/%{name}/style' -D -p -m 0644 style/*.css %find_lang %{srcname} %check desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/org.cielak.%{name}.metainfo.xml %files -f %{srcname}.lang %license LICENSE %{_bindir}/%{srcname} %{_mandir}/man1/%{srcname}.1* %{_datadir}/%{name} %{_datadir}/applications/%{name}.desktop %{_metainfodir}/org.cielak.%{name}.metainfo.xml %{_datadir}/icons/hicolor/*x*/apps/%{name}.png %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/icons/gnome/*x*/mimetypes/*text-x-%{name}.png %{_datadir}/icons/gnome/scalable/mimetypes/text-x-%{name}.svg %{_datadir}/mime/packages/%{name}-mime.xml %files doc %license LICENSE %doc %{_pkgdocdir} %changelog * 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