Blob Blame History Raw
Name:           setBfree
Version:        0.8.11
Release:        4%{?dist}
Summary:        A DSP Tonewheel Organ emulator

License:        GPLv2+ and GPLv3+ and ISC
URL:            http://setbfree.org
# Not present in releases, but tagged on GitHub
Source0:        https://github.com/pantherb/setBfree/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1:        %{name}.desktop
Source2:        x42-whirl.desktop
Source3:        %{name}.appdata.xml

BuildRequires:  gcc-c++
BuildRequires:  lv2-devel >= 1.8.1
BuildRequires:  mesa-libGLU-devel
BuildRequires:  mesa-libEGL-devel
BuildRequires:  ftgl-devel
BuildRequires:  bitstream-vera-sans-fonts
BuildRequires:  jack-audio-connection-kit-devel
BuildRequires:  desktop-file-utils
BuildRequires:  libappstream-glib
BuildRequires:  cairo-devel
BuildRequires:  pango-devel

Requires:       bitstream-vera-sans-fonts

%package -n lv2-setBfree-plugins
Summary:        A DSP Tonewheel Organ emulator. LV2 version
Requires:       lv2 >= 1.8.1
Requires:       bitstream-vera-sans-fonts

%description
setBfree is a MIDI-controlled, software synthesizer designed to imitate the
sound and properties of the electromechanical organs and sound modification
devices that brought world-wide fame to the names and products of Laurens
Hammond and Don Leslie.
This is the Jack version.

%description -n lv2-setBfree-plugins
setBfree is a MIDI-controlled, software synthesizer designed to imitate the
sound and properties of the electromechanical organs and sound modification
devices that brought world-wide fame to the names and products of Laurens
Hammond and Don Leslie.
This is the LV2 version.

%prep
%autosetup -p 1

%build

# This package does not build on all arches with upstream build flags,
# so upstream build flags are split.
# This is a realtime app, so we need the fastest possible math,
# flags for x86_64 are set to be compatible with most AMD and Intel CPUs,
# and to use the best possible SIMD instruction set.
flags=" -ffast-math -fno-finite-math-only"

%ifarch %{ix86}
flags+=" -msse -mfpmath=sse"
%endif

%ifarch x86_64
flags+=" -msse2 -mfpmath=sse"
%endif

CC=gcc; export CC
%set_build_flags

%make_build OPTIMIZATIONS="%{optflags} ${flags}" \
 PREFIX=%{_prefix} FONTFILE=%{_datadir}/fonts/bitstream-vera/VeraBd.ttf \
 lv2dir=%{_libdir}/lv2

%install
%make_install PREFIX=%{_prefix} \
 FONTFILE=%{_datadir}/fonts/bitstream-vera/VeraBd.ttf lv2dir=%{_libdir}/lv2

# install desktop file
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
 %{SOURCE1} %{SOURCE2}

# install appdata file
install -d -m755 %{buildroot}%{_metainfodir}
install -p -m644 %{SOURCE3} %{buildroot}%{_metainfodir}

# validate appdata
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdata.xml

# install icon file
install -d -m755 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
install -p -m644 doc/%{name}.png doc/x42-whirl.png \
 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps

# install man pages
install -d -m755 %{buildroot}%{_mandir}/man1
install -p -m644 doc/jboverdrive.1 doc/setBfree.1 doc/setBfreeUI.1 doc/x42-whirl.1 \
 %{buildroot}%{_mandir}/man1

%files
%{_bindir}/*
%{_datadir}/%{name}/
%{_mandir}/man1/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/applications/x42-whirl.desktop
%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
%{_datadir}/icons/hicolor/128x128/apps/x42-whirl.png
%{_metainfodir}/*
%doc AUTHORS ChangeLog README.md
%license COPYING

%files -n lv2-setBfree-plugins
%{_libdir}/lv2/*
%doc AUTHORS ChangeLog README.md
%license COPYING

%changelog
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.11-4
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sun Dec 22 2019 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.11-1
- Version 0.8.11

* Mon Nov 04 2019 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.10-1
- Version 0.8.10

* Mon Sep 09 2019 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.9-1
- Version 0.8.9
- Minor spec cleanup

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Mon Feb 04 2019 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.8-4
- Fix FTBFS due to undefined reference to symbol g_object_unref

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Dec 07 2018 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.8-2
- Fix FTBFS with new Mesa libraries

* Mon Aug 27 2018 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.8-1
- Version 0.8.8

* Sun Aug 05 2018 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.7-1
- Version 0.8.7
- Patch to fix sprintf warnings by GCC

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed May 09 2018 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.5-4
- Fix AppData directory

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.5-2
- Remove obsolete scriptlets

* Tue Aug 22 2017 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.5-1
- Version 0.8.5

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Wed Mar 29 2017 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.4-4
- Do not use AVX instruction set in x86_64 builds (#1436871)
- Use hardened LDFLAGS

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Sat Jan 07 2017 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.4-1
- Version 0.8.4
- Added missing Requires to LV2 package

* Tue Jan 03 2017 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.3-1
- Version 0.8.3
- Patched a possible buffer overflow

* Fri Dec 30 2016 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.2-5
- Use hardened LDFLAGS
- Drop unneeded Patch0

* Thu Dec 29 2016 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.2-4
- Added BRs for whirl/leslie GUI

* Tue Nov 01 2016 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.2-3
- Removed common package

* Fri Sep 09 2016 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.2-2
- Correct some rpmlint warnings

* Mon Sep 05 2016 Guido Aulisi <guido.aulisi@gmail.com> - 0.8.2-1
- Version 0.8.2