File bespokesynth-nightly.spec of Package bespokesynth-nightly
#
# spec file for package bespokesynth-nightly
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Konstantin Voinov
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: bespokesynth-nightly
Version: 1.2.1+git.14.fd68fe3-0
Release: 0
Summary: A modular DAW, nightly builds
License: GPL-3.0-only
URL: https://github.com/BespokeSynth/BespokeSynth/
Source0: %{name}-%{version}.tar.gz
Patch0: relative-path-for-appimage.patch
BuildRequires: JUCE7_12-devel
BuildRequires: cmake >= 3.22
BuildRequires: gcc-c++
BuildRequires: jsoncpp-devel
BuildRequires: ladspa-devel
BuildRequires: libcurl-devel
BuildRequires: pkgconfig
BuildRequires: python3-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xrandr)
Recommends: python%{python3_version_nodots}-jedi
Recommends: (yt-dlp or youtube-dl)
Requires: (kdialog or zenity)
Conflicts: bespokesynth
Obsoletes: bespokesynth-current <= 1.1.0+git.316.b69c3fb
%if 0%{?mageia}
# Mageia has it's own rpm groups
Group: Sound/Midi
%else
Group: Productivity/Multimedia/Sound/Midi
%endif
%if %{defined fedora}
#!BuildConstraint: hardware:memory:size unit=M 12000
BuildRequires: alsa-lib-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libusb1-devel
BuildRequires: pybind11-devel
%else
BuildRequires: libjack-devel
BuildRequires: pkgconfig(libusb-1.0)
%endif
%if 0%{?is_opensuse}
BuildRequires: cmake(pybind11)
%endif
%if 0%{?mageia}
BuildRequires: pybind11-devel
%endif
%description
https://www.bespokesynth.com/
https://www.bespokesynth.com/docs/index.html
Bespoke is a software modular synthesizer. It contains a bunch of modules, which you can connect together to create sounds.
Bespoke is like a DAW in some ways, but with less of a focus on a global timeline. Instead, it has a design more optimized for jamming and exploration.
%prep
%setup -q
%autopatch -p1
%define GIT_COMMIT_HASH %(echo %{version} |awk -F . '{ print $5 }')
sed -i -e 's/built-without-git/main/' Source/cmake/versiontools.cmake
sed -i -e 's/unknown-branch/main/' Source/cmake/versiontools.cmake
sed -i -e 's/deadbeef/%{GIT_COMMIT_HASH}/' Source/cmake/versiontools.cmake
# temporary fix cmake 3.31 bug
sed -i -e 's/bespoke_copy_resource_dir(BespokeSynth)//' Source/CMakeLists.txt
%build
%cmake -DBUILD_SHARED_LIBS:BOOL=OFF\
-DBESPOKE_SYSTEM_JUCE=ON \
-DBESPOKE_SYSTEM_PYBIND11=ON \
-DBESPOKE_SYSTEM_JSONCPP=OFF \
-DBESPOKE_VST2_SDK_LOCATION=%{_prefix}/local/include
%cmake_build
%install
%cmake_install
%files
%{_bindir}/BespokeSynth
%dir %{_datadir}/applications
%{_datadir}/applications/BespokeSynth.desktop
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/com.bespokesynth.BespokeSynth.metainfo.xml
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/512x512
%dir %{_datadir}/icons/hicolor/512x512/apps
%{_datadir}/icons/hicolor/512x512/apps/bespoke_icon.png
%license LICENSE
%doc README.md
%{_datadir}/BespokeSynth
%changelog