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.
 
 
 
 
 
 

107 lines
3.4 KiB

# Copyright (C) 2020-2021 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm 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.
#
# Zrythm 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 Zrythm. If not, see <https://www.gnu.org/licenses/>.
#
class Zrythm@TRIAL_INITIAL_UPPERCASE@ < Formula
desc "Digital audio workstation"
homepage "https://www.zrythm.org"
url "@ZRYTHM_ORIG_SRC_TARBALL_URL@"
sha256 "@ZRYTHM_BREW_SHA256@"
version "@ZRYTHM_PKG_VERSION@"
depends_on "meson" => :build
depends_on "ninja" => :build
depends_on "pkg-config" => :build
depends_on "help2man" => :build
depends_on "cmake" => :build
depends_on "gnu-sed" => :build
depends_on "sassc" => :build
depends_on "boost"
depends_on "curl"
depends_on "libyaml"
depends_on "guile"
depends_on "fftw"
depends_on "libsamplerate"
depends_on "libsass"
depends_on "lilv"
depends_on "librsvg"
depends_on "gtksourceview5"
depends_on "graphviz"
depends_on "rubberband"
depends_on "sdl2"
depends_on "rt-audio"
depends_on "rtmidi"
depends_on "zstd"
depends_on "carla-git"
depends_on "jack"
depends_on "qjackctl"
depends_on "pcre2"
depends_on "xxhash"
depends_on "vamp-plugin-sdk"
depends_on "json-glib"
def install
mkdir "build" do
# workaround for C++ 20 <version>
system "mv", "../VERSION", "../VERSION.txt"
system "gsed", "-i", "s|'VERSION'|'VERSION.txt'|", "../meson.build"
# configure
system "meson",
"--prefix=#{prefix}", "--libdir=#{lib}",
"--buildtype=debugoptimized", "-Dextra_debug_info=true",
"-Dtests=false", "-Dtrial_ver=@TRIAL_TRUE_FALSE@",
"-Dgtk4:x11-backend=false",
"-Dcarla=enabled",
"-Dx11=disabled",
"-Drtmidi=auto", "-Drtaudio=auto",
"-Dfallback_version=@ZRYTHM_PKG_SEMVER_VERSION@",
# manpage fails
"-Dmanpage=false",
# TODO enable
"-Dstatic_deps=false",
"-Dcheck_updates=true",
"-Dinstaller_ver=true",
"-Dvamp_static=true",
"-Dcarla_use_cv32_patchbay_variant=true",
".."
# workaround for C++ 20 <version>
system "mv", "../subprojects/libaudec/VERSION", "../subprojects/libaudec/VERSION.txt"
system "gsed", "-i", "s|'VERSION'|'VERSION.txt'|", "../subprojects/libaudec/meson.build"
# build
system "ninja", "-v"
# install
system "meson", "install", "--skip-subprojects=libaudec,libbacktrace,libcyaml,reproc,rtaudio,rtmidi,zstd,libpanel"
# move back
system "mv", "../VERSION.txt", "../VERSION"
system "mv", "../subprojects/libaudec/VERSION.txt", "../subprojects/libaudec/VERSION"
system "cp", "-r", "@BREEZE_DARK@", "#{share}/icons/breeze-dark"
system "mkdir", "-p", "#{lib}/zrythm/carla"
system "mkdir", "-p", "#{lib}/lv2"
system "cp", "-RLv", "@BUILT_ZPLUGINS_DIR@/lib/lv2", "#{lib}/lv2/"
end
end
test do
system "#{bin}/zrythm", "--version"
end
end