I have not managed to build the latest version of zrythm, without causing conflicts with the system installation of gtk4, libadwaita and gtksourceview5.
I also can't get meson to link gtk4 statically.
If anyone wants to hack on this, this is my patch for the current PKGBUILD:
commit a84ab2b3727bfb927c55b638eb78254e6bc80bfe
Author: Sefa Eyeoglu <contact@scrumplex.net>
Date: Sat Sep 3 14:28:09 2022 +0200
WIP
diff --git a/zrythm/.SRCINFO b/zrythm/.SRCINFO
index c9914bc..1fd35ed 100644
--- a/zrythm/.SRCINFO
+++ b/zrythm/.SRCINFO
@@ -1,17 +1,18 @@
pkgbase = zrythm
pkgdesc = a highly automated and intuitive digital audio workstation
- pkgver = 1.0.0.beta.2.0.3
- pkgrel = 2
+ pkgver = 1.0.0.beta.3.4.1
+ pkgrel = 1
url = https://www.zrythm.org
arch = x86_64
arch = i686
license = AGPL3
+ makedepends = git
makedepends = meson
makedepends = cmake
makedepends = ruby-sass
makedepends = help2man
makedepends = sassc
- depends = gtk4
+ makedepends = gi-docgen
depends = graphviz
depends = carla
depends = fluidsynth
@@ -20,11 +21,9 @@ pkgbase = zrythm
depends = libaudec
depends = xxhash
depends = libcyaml
- depends = libadwaita
depends = reproc
depends = libbacktrace
depends = rubberband
- depends = gtksourceview5
depends = fftw
depends = sratom
depends = serd
@@ -36,13 +35,29 @@ pkgbase = zrythm
depends = sdl2
depends = chromaprint
depends = boost
+ depends = dconf
+ depends = libxrandr
+ depends = graphene
+ depends = libepoxy
+ depends = json-glib
+ depends = libxinerama
optdepends = realtime-privileges: allow memory locking
conflicts = zrythm-git
options = debug
- source = https://www.zrythm.org/releases/zrythm-1.0.0-beta.2.0.3.tar.xz
- source = https://www.zrythm.org/releases/zrythm-1.0.0-beta.2.0.3.tar.xz.asc
+ source = https://www.zrythm.org/releases/zrythm-1.0.0-beta.3.4.1.tar.xz
+ source = https://www.zrythm.org/releases/zrythm-1.0.0-beta.3.4.1.tar.xz.asc
+ source = git+https://gitlab.gnome.org/GNOME/gtk.git
+ source = git+https://gitlab.gnome.org/GNOME/libadwaita.git
+ source = git+https://gitlab.gnome.org/GNOME/libpanel.git
+ source = git+https://github.com/drobilla/zix.git
+ source = https://download.gnome.org/sources/gtksourceview/5.2/gtksourceview-5.2.0.tar.xz
validpgpkeys = 48132384AD3DF7D86E254B83022EAE42313D70F3
- sha256sums = 46258667a26e40a8cbd50c7363054a6dc48d51acb41284cbb97142c3dd9af6a1
+ sha256sums = c928eeb5a3010e49164fd6e858d0a8b1c1210e00a3c3d1b817cde5b7c1944505
sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = c9b34fa02654f56ce22fa08827d89db4ba81631b2e6d7d31ea65d13c729430e9
pkgname = zrythm
diff --git a/zrythm/PKGBUILD b/zrythm/PKGBUILD
index 49808b4..7eaaac9 100644
--- a/zrythm/PKGBUILD
+++ b/zrythm/PKGBUILD
@@ -2,36 +2,53 @@
# Contributor: Alexandros Theodotou <alex at zrythm dot org>
pkgname=zrythm
-_pkgver=1.0.0-beta.2.0.3
+_pkgver=1.0.0-beta.3.4.1
pkgver=${_pkgver/-/.}
-pkgrel=2
+pkgrel=1
pkgdesc='a highly automated and intuitive digital audio workstation'
arch=('x86_64' 'i686')
url="https://www.zrythm.org"
license=('AGPL3')
-depends=('gtk4' 'graphviz' 'carla' 'fluidsynth' 'vamp-plugin-sdk' 'guile' 'libaudec' 'xxhash' 'libcyaml' 'libadwaita' 'reproc' 'libbacktrace' 'rubberband' 'gtksourceview5' 'fftw' 'sratom' 'serd' 'portaudio' 'breeze-icons' 'rtmidi' 'rtaudio' 'lsp-dsp-lib' 'sdl2' 'chromaprint' 'boost')
-makedepends=('meson' 'cmake' 'ruby-sass' 'help2man' 'sassc')
+depends=('graphviz' 'carla' 'fluidsynth' 'vamp-plugin-sdk' 'guile' 'libaudec' 'xxhash' 'libcyaml' 'reproc' 'libbacktrace' 'rubberband' 'fftw' 'sratom' 'serd' 'portaudio' 'breeze-icons' 'rtmidi' 'rtaudio' 'lsp-dsp-lib' 'sdl2' 'chromaprint' 'boost' 'dconf' 'libxrandr' 'graphene' 'libepoxy' 'json-glib' 'libxinerama')
+makedepends=('git' 'meson' 'cmake' 'ruby-sass' 'help2man' 'sassc' 'gi-docgen')
optdepends=('realtime-privileges: allow memory locking')
conflicts=('zrythm-git')
options=('debug')
-source=("https://www.zrythm.org/releases/$pkgname-$_pkgver.tar.xz"{,.asc})
-sha256sums=('46258667a26e40a8cbd50c7363054a6dc48d51acb41284cbb97142c3dd9af6a1'
- 'SKIP')
+source=("https://www.zrythm.org/releases/$pkgname-$_pkgver.tar.xz"{,.asc}
+ "git+https://gitlab.gnome.org/GNOME/gtk.git"
+ "git+https://gitlab.gnome.org/GNOME/libadwaita.git"
+ "git+https://gitlab.gnome.org/GNOME/libpanel.git"
+ "git+https://github.com/drobilla/zix.git"
+ "https://download.gnome.org/sources/gtksourceview/5.2/gtksourceview-5.2.0.tar.xz")
+sha256sums=('c928eeb5a3010e49164fd6e858d0a8b1c1210e00a3c3d1b817cde5b7c1944505'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'c9b34fa02654f56ce22fa08827d89db4ba81631b2e6d7d31ea65d13c729430e9')
validpgpkeys=('48132384AD3DF7D86E254B83022EAE42313D70F3')
prepare() {
cd "$pkgname-$_pkgver"
- rm -r subprojects
+ # make stb.wrap use our local clone
+ sed -i "s|https://gitlab.gnome.org/GNOME/gtk|$srcdir/gtk|" "subprojects/gtk4.wrap"
+ sed -i "s|https://gitlab.gnome.org/GNOME/libadwaita|$srcdir/libadwaita|" "subprojects/libadwaita.wrap"
+ sed -i "s|https://gitlab.gnome.org/GNOME/libpanel|$srcdir/libpanel|" "subprojects/libpanel.wrap"
+ sed -i "s|https://github.com/drobilla/zix|$srcdir/zix|" "subprojects/zix.wrap"
+ ln -sf "$srcdir/gtksourceview-5.2.0" "subprojects/"
+ meson subprojects download gtk4 libadwaita libpanel gtksourceview5 zix
}
build() {
cd "$pkgname-$_pkgver"
- # TODO: tests
+ # TODO: static link everything, gtk4 as well
meson build --prefix=/usr \
- -Doptimization=3 -Ddebug=true \
+ --force-fallback-for=gtk4,libpanel-1,libadwaita-1,gtksourceview-5,zix-0 \
+ -Ddebug=true \
-Dmanpage=true \
-Dcheck_updates=false \
-Dportaudio=enabled -Drtmidi=enabled -Drtaudio=enabled -Dsdl=enabled
@@ -44,5 +61,8 @@ package() {
install -vDm 644 AUTHORS CONTRIBUTING.md \
CHANGELOG.md README.md THANKS TRANSLATORS \
-t "${pkgdir}/usr/share/doc/${pkgname}/"
- DESTDIR="${pkgdir}/" ninja -C build install
+ meson install -C build --destdir="$pkgdir"
+
+ mv "$pkgdir/usr/bin/zrythm" "$pkgdir/usr/bin/zrythm.bin"
+ install -vDm 755 ../zrythm.sh "$pkgdir/usr/bin/zrythm"
}
Pinned Comments