Zrythm installer
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.

222 lines
7.5 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}
2 years ago
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
3 years ago
Source0: https://www.zrythm.org/releases/zrythm-%{version}.tar.gz
BuildRequires: gcc-c++ gcc pkgconfig
BuildRequires: gtk4-devel
BuildRequires: python3
BuildRequires: boost-devel
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
3 years ago
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
3 years ago
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
2 years ago
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 \
2 years ago
-Dcarla_binaries_dir=@CARLA_FULL_BINS_PATH@
ninja -C build
%install
@MESON_BIN@ install -C build --skip-subprojects=libaudec,reproc,rtmidi,rtaudio,libcyaml,libpanel --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
for f in `ls "%{buildroot}%{_libdir}"/*.so*`; do
if [[ "$f" != *"libzrythm.so"* ]]; then
mv "$f" "%{buildroot}%{_libdir}"/zrythm/
fi
done
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
12 months ago
# remove unused things
rm -rf "%{buildroot}%{_includedir}"
rm -rf "%{buildroot}%{_bindir}"/gtk*
rm -rf "%{buildroot}%{_bindir}"/pango*
rm -rf "%{buildroot}%{_bindir}"/wayland*
12 months ago
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
12 months ago
rm -rf "%{buildroot}%{_datadir}"/gettext
rm -rf "%{buildroot}%{_datadir}"/gtk-4.0
rm -rf "%{buildroot}%{_datadir}"/glib-2.0/schemas/org.gtk.gtk4*
12 months ago
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
2 years ago
%{_bindir}/zrythm_gdb
%{_bindir}/zrythm_valgrind
2 years ago
%{_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
8 months ago
#%{_libdir}/libzrythm.so*
12 months ago
%{_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
3 years ago
# _exec_prefix/lib64/**/*
%post
%if ! 0%{?suse_version}
xdg-desktop-menu forceupdate
%endif
%changelog
* Sun Nov 03 2019 Alexandros Theodotou
- v0.7.093