## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 20; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec Name: harmonyseq Summary: MIDI sequencer designed for live performances Version: 0.17 Release: %autorelease # The entire source is GPL-3.0-or-later, except: # - org.cielak.harmonyseq.metainfo.xml is CC0-1.0, which is only allowed for # content # # Additionally, the contents of images/ (also content) are CC0-1.0, but they # are not included in the binary RPMs. License: GPL-3.0-or-later AND CC0-1.0 URL: https://harmonyseq.wordpress.com/ %global forgeurl https://github.com/rafalcieslak/harmonySEQ Source: %{forgeurl}/archive/v%{version}/harmonySEQ-%{version}.tar.gz # https://github.com/rafalcieslak/harmonySEQ/issues/7 Patch: harmonyseq-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 Patch: harmonyseq-0.17-pr-8-metadata-improvements.patch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} 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 # Still required by guidelines for now # (https://pagure.io/packaging-committee/issue/1053): BuildRequires: libappstream-glib # Matches what gnome-software and others use: BuildRequires: appstream # For %%{_datadir}/share/mime/packages Requires: shared-mime-info Provides: harmonyseq-doc = %{version}-%{release} Conflicts: harmonyseq-doc = 0.17-1 Obsoletes: harmonyseq-doc < 0.17-1 %global app_id org.cielak.harmonyseq %description A MIDI software sequencer designed for live performances and jams. harmonySEQ 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 harmonySEQ 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 %prep %autosetup -n harmonySEQ-%{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: 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 # Still required by guidelines for now # (https://pagure.io/packaging-committee/issue/1053): appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml # Matches what gnome-software and others use: appstreamcli validate --no-net --explain \ %{buildroot}%{_metainfodir}/%{app_id}.metainfo.xml %files %license LICENSE %doc CHANGELOG.md %doc README.md %doc examples/ %{_bindir}/harmonySEQ %{_mandir}/man1/harmonySEQ.1* %{_datadir}/harmonySEQ/ %{_datadir}/applications/%{app_id}.desktop %{_metainfodir}/%{app_id}.metainfo.xml %{_datadir}/mime/packages/harmonyseq-mime.xml %changelog * Thu Nov 09 2023 Benjamin A. Beasley - 0.17-20 - Ask appstreamcli to explain validation findings * Thu Nov 09 2023 Benjamin A. Beasley - 0.17-19 - Correct appstreamcli invocation (--nonet no longer works) * Thu Jul 20 2023 Fedora Release Engineering - 0.17-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat Jun 03 2023 Benjamin A. Beasley - 0.17-17 - Remove explicit %%set_build_flags, not needed since F36 * Thu Jan 19 2023 Fedora Release Engineering - 0.17-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Tue Dec 20 2022 Benjamin A. Beasley - 0.17-14 - Leaf package: remove i686 support * Tue Dec 20 2022 Benjamin A. Beasley - 0.17-13 - Indicate dirs. in files list with trailing slashes * Fri Aug 05 2022 Benjamin A. Beasley - 0.17-12 - Update license to SPDX * Thu Jul 21 2022 Fedora Release Engineering - 0.17-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat Apr 16 2022 Benjamin A. Beasley - 0.17-10 - Stop numbering patches * Thu Jan 20 2022 Fedora Release Engineering - 0.17-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Jan 05 2022 Benjamin A. Beasley - 0.17-8 - Also validate AppData with appstreamcli * Mon Sep 27 2021 Benjamin A. Beasley - 0.17-7 - Reduce macro indirection in the spec file * Mon Sep 27 2021 Benjamin A. Beasley - 0.17-6 - Remove boilerplate for -doc, which was not built anyway * Thu Jul 22 2021 Fedora Release Engineering - 0.17-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * 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