You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
215 lines
7.4 KiB
215 lines
7.4 KiB
# Copyright (C) 2020-2021 Alexandros Theodotou <alex at zrythm dot org> |
|
# |
|
# This program is free software: you can redistribute it and/or modify |
|
# it under the terms of the GNU Affero General Public License as published |
|
# by the Free Software Foundation, either version 3 of the License, or |
|
# (at your option) any later version. |
|
# |
|
# This program is distributed in the hope that it will be useful, |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
# GNU Affero General Public License for more details. |
|
# |
|
# You should have received a copy of the GNU Affero General Public License |
|
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|
|
|
%global _enable_debug_package 0 |
|
%global debug_package %{nil} |
|
# Turn off stripping of binaries |
|
%global __strip /bin/true |
|
#%global __os_install_post /usr/lib/rpm/brp-compress %{nil} |
|
|
|
Name: zrythm@DASH_TRIAL@ |
|
Version: @ZRYTHM_PKG_VERSION@ |
|
Release: 1%{?dist} |
|
Summary: An highly automated, intuitive, Digital Audio Workstation (DAW) |
|
License: AGPLv3+ |
|
Group: Productivity/Multimedia/Sound/Editors and Convertors |
|
URL: https://www.zrythm.org |
|
Source0: https://www.zrythm.org/releases/zrythm-%{version}.tar.gz |
|
BuildRequires: gcc-c++ gcc pkgconfig |
|
BuildRequires: gtk4-devel |
|
BuildRequires: python3 |
|
BuildRequires: libcurl-devel |
|
BuildRequires: libsndfile-devel |
|
BuildRequires: libyaml-devel |
|
BuildRequires: libsamplerate-devel |
|
BuildRequires: gettext sed |
|
BuildRequires: alsa-lib-devel |
|
BuildRequires: ladspa-devel |
|
BuildRequires: fftw-devel |
|
BuildRequires: portaudio-devel |
|
BuildRequires: help2man |
|
BuildRequires: SDL2-devel |
|
BuildRequires: graphviz-devel |
|
BuildRequires: xxhash-devel |
|
BuildRequires: vamp-plugin-sdk-devel |
|
BuildRequires: json-glib-devel |
|
Requires: libcurl |
|
Requires: ladspa |
|
Requires: lv2 |
|
Requires: xdg-utils |
|
Requires: SDL2 |
|
Requires: graphviz |
|
Requires: xxhash |
|
Requires: vamp-plugin-sdk |
|
Requires: json-glib |
|
%if 0%{?suse_version} |
|
BuildRequires: jack-devel libX11-devel update-desktop-files |
|
BuildRequires: fftw3-threads-devel librubberband-devel |
|
BuildRequires: liblilv-devel |
|
BuildRequires: guile-devel |
|
Requires: jack fftw3 libfftw3_threads3 libyaml-0-2 |
|
Requires: librubberband2 |
|
#Requires: libsuil-0-0 |
|
Requires: libgtk-4-0 |
|
Requires: guile |
|
Requires: libsamplerate0 |
|
Requires: liblilv-0-0 |
|
Requires: libsndfile1 |
|
Requires: alsa |
|
Requires: libportaudio2 |
|
Requires: breeze5-icons |
|
%endif |
|
%if 0%{?fedora} |
|
BuildRequires: jack-audio-connection-kit-devel libX11-devel |
|
BuildRequires: rubberband-devel |
|
BuildRequires: lilv-devel lv2-devel |
|
BuildRequires: guile22-devel |
|
Requires: breeze-icon-theme |
|
Requires: (jack-audio-connection-kit or pipewire-jack-audio-connection-kit) |
|
Requires: rubberband fftw |
|
Requires: libyaml |
|
Requires: libsamplerate |
|
Requires: guile22 |
|
#Requires: suil |
|
Requires: gtk4 |
|
Requires: lilv |
|
Requires: libsndfile |
|
Requires: alsa-lib |
|
Requires: portaudio |
|
%endif |
|
%if 0%{?mageia} |
|
BuildRequires: libjack-devel libx11-devel |
|
Requires: jack |
|
%endif |
|
%description |
|
Zrythm is a native GNU/Linux application built with |
|
the GTK+3 toolkit and using the JACK Connection Kit for audio I/O. |
|
Zrythm can automate plugin parameters using built in LFOs and envelopes |
|
and is designed to be intuitive to use. |
|
|
|
%global debug_package %{nil} |
|
|
|
%prep |
|
%autosetup -n zrythm-%{version} |
|
|
|
%build |
|
rm -rf build |
|
completions=false |
|
%if 0%{?fedora} >= 34 |
|
completions=true |
|
%endif |
|
PKG_CONFIG_PATH=@LIBRARY_PKG_CONFIG_PATH@:@CARLA_PKG_CONFIG_PATH@ \ |
|
@MESON_BIN@ build \ |
|
--prefix=/usr \ |
|
-Dpkg_config_path=@LIBRARY_PKG_CONFIG_PATH@:@CARLA_PKG_CONFIG_PATH@ \ |
|
-Dtests=true -Dmanpage=true --buildtype=debugoptimized \ |
|
-Dsdl=enabled -Drtaudio=auto -Drtmidi=auto \ |
|
-Dtrial_ver=@TRIAL_TRUE_FALSE@ -Dcarla=enabled \ |
|
-Dgraphviz=enabled -Dlsp_dsp=enabled \ |
|
-Dstatic_lsp_dsp=true -Dfallback_version=@ZRYTHM_PKG_SEMVER_VERSION@ \ |
|
-Dforce_fallback_for=libadwaita \ |
|
-Dextra_debug_info=true \ |
|
-Dcheck_updates=true \ |
|
-Dinstaller_ver=true \ |
|
-Dcompletions=$completions \ |
|
-Dcarla_use_cv32_patchbay_variant=true \ |
|
-Dcarla_binaries_dir=@CARLA_FULL_BINS_PATH@ |
|
ninja -C build |
|
|
|
%install |
|
@MESON_BIN@ install -C build --skip-subprojects=libaudec,reproc,rtmidi,rtaudio,libcyaml --destdir="%{buildroot}/" |
|
mkdir -p "%{buildroot}%{_libdir}/lv2" |
|
mkdir -p "%{buildroot}%{_libdir}/zrythm/carla" |
|
rm -rf "%{buildroot}%{_includedir}" |
|
rm -rf "%{buildroot}%{_libdir}/libbacktrace"* |
|
rm -rf "%{buildroot}%{_libdir}/libcm_reproc.a" |
|
for file in carla-discovery-native carla-bridge-lv2-gtk2 carla-bridge-lv2-gtk3 carla-bridge-lv2-qt5 carla-bridge-lv2-x11 carla-bridge-native libcarla_host-plugin.so; do |
|
cp -Lv "@CARLA_FULL_BINS_PATH@/$file" \ |
|
%{buildroot}%{_libdir}/zrythm/carla/ |
|
done |
|
for f in `ls @BUILT_ZPLUGINS_DIR@/lib/lv2`; do |
|
cp -RLv "@BUILT_ZPLUGINS_DIR@/lib/lv2/$f" "%{buildroot}%{_libdir}/lv2/Zrythm-$f" |
|
done |
|
# copy all subproject libs |
|
mkdir -p "%{buildroot}%{_libdir}"/zrythm |
|
mv "%{buildroot}%{_libdir}"/*.so* "%{buildroot}%{_libdir}"/zrythm/ |
|
patchelf --set-rpath "%{_libdir}/zrythm/carla:%{_libdir}/zrythm" "%{buildroot}%{_bindir}"/zrythm |
|
patchelf --replace-needed /usr/lib/zrythm/carla/libcarla_host-plugin.so libcarla_host-plugin.so "%{buildroot}%{_bindir}"/zrythm |
|
if [ -d "%{buildroot}%{_datadir}/gtksourceview-5" ]; then |
|
mv "%{buildroot}%{_datadir}/gtksourceview-5" "%{buildroot}%{_datadir}/zrythm/gtksourceview-5" ; |
|
fi |
|
# remove unused things |
|
rm -rf "%{buildroot}%{_includedir}" |
|
rm -rf "%{buildroot}%{_bindir}"/gtk* |
|
rm -rf "%{buildroot}%{_bindir}"/pango* |
|
rm -rf "%{buildroot}%{_bindir}"/wayland* |
|
rm -rf "%{buildroot}%{_libdir}"/gtk-4.0 |
|
rm -rf "%{buildroot}%{_libdir}"/pkgconfig |
|
rm -rf "%{buildroot}%{_libdir}"/*.a |
|
rm -rf "%{buildroot}%{_libdir}"/libgtksourceview-5* |
|
rm -rf "%{buildroot}%{_datadir}"/aclocal |
|
rm -rf "%{buildroot}%{_datadir}"/doc |
|
rm -rf "%{buildroot}%{_datadir}"/gettext |
|
rm -rf "%{buildroot}%{_datadir}"/gtk-4.0 |
|
rm -rf "%{buildroot}%{_datadir}"/glib-2.0/schemas/org.gtk.gtk4* |
|
rm -rf "%{buildroot}%{_datadir}"/locale/*/LC_MESSAGES/gtk* |
|
rm -rf "%{buildroot}%{_datadir}"/locale/*/LC_MESSAGES/libadwaita* |
|
rm -rf "%{buildroot}%{_datadir}"/man/man1/pango* |
|
rm -rf "%{buildroot}%{_datadir}"/vala |
|
rm -rf "%{buildroot}%{_datadir}"/icons/hicolor/scalable/actions |
|
rm -rf "%{buildroot}/usr/lib/.build-id" |
|
%find_lang zrythm |
|
|
|
%files -f zrythm.lang |
|
%license LICENSES/LicenseRef-ZrythmLicense.txt |
|
%doc README.md CONTRIBUTING.md CHANGELOG.md TRADEMARKS.md |
|
%{_bindir}/zrythm |
|
%{_bindir}/zrythm_launch |
|
%{_bindir}/zrythm_lv2apply |
|
%{_bindir}/zrythm_gdb |
|
%{_bindir}/zrythm_valgrind |
|
%{_datadir}/applications/org.zrythm.Zrythm.desktop |
|
%{_datadir}/fonts/zrythm |
|
%{_datadir}/glib-2.0/schemas/*.xml |
|
%{_datadir}/icons/hicolor/scalable/apps/zrythm.svg |
|
%{_datadir}/zrythm |
|
%{_datadir}/man/man1/zrythm.* |
|
%if 0%{?fedora} >= 34 |
|
%{_datadir}/bash-completion/completions |
|
# _datadir/zsh/site-functions |
|
%{_datadir}/fish/vendor_completions.d |
|
%endif |
|
%{_datadir}/mime/packages/org.zrythm.Zrythm-mime.xml |
|
%{_datadir}/metainfo/org.zrythm.Zrythm.appdata.xml |
|
%{_libdir}/zrythm/* |
|
%{_libdir}/lv2/Zrythm-* |
|
%{_libdir}/zrythm/carla/carla-discovery-native |
|
%{_libdir}/zrythm/carla/carla-bridge-lv2-gtk2 |
|
%{_libdir}/zrythm/carla/carla-bridge-lv2-gtk3 |
|
%{_libdir}/zrythm/carla/carla-bridge-lv2-qt5 |
|
%{_libdir}/zrythm/carla/carla-bridge-lv2-x11 |
|
%{_libdir}/zrythm/carla/carla-bridge-native |
|
%{_libdir}/zrythm/carla/libcarla_host-plugin.so |
|
# _sysconfdir/bash_completion.d/zrythm |
|
# _exec_prefix/lib64/**/* |
|
|
|
%post |
|
%if ! 0%{?suse_version} |
|
xdg-desktop-menu forceupdate |
|
%endif |
|
|
|
%changelog |
|
* Sun Nov 03 2019 Alexandros Theodotou |
|
- v0.7.093
|
|
|