Package Details: jalv-git 1.8.0.r922.5a288e3-2

Git Clone URL: https://aur.archlinux.org/jalv-git.git (read-only, click to copy)
Package Base: jalv-git
Description: A simple but fully featured LV2 host for JACK (git version)
Upstream URL: https://drobilla.net/software/jalv/
Licenses: ISC
Conflicts: jalv
Provides: jalv, lv2-host
Submitter: SpotlightKid
Maintainer: SpotlightKid
Last Packager: SpotlightKid
Votes: 1
Popularity: 0.36
First Submitted: 2016-02-11 00:04 (UTC)
Last Updated: 2025-12-24 01:18 (UTC)

Required by (19)

Sources (1)

Latest Comments

ilovemikael commented on 2025-12-23 17:13 (UTC)

lv2-host should be added to provides.

silverhikari commented on 2025-12-11 01:59 (UTC)

@SpotlightKid added the changes, hopefully it should work now

SpotlightKid commented on 2025-12-06 16:41 (UTC)

@ilovemikael: unfortunately zix-git is not packaged correctly, so I can't use it as a dependency for this package in the current form.

a) Its package version number does not include the project version number, nor does it include a version number in its provides array, which would enable me to use depends=("zix>=0.8.0") in this PKGBUILD. b) It does not provide libzix-0.so, which is required by other packages depending on zix.

I provided an updated PKGBUILD for zix-git here and will ask the package maintainer to update the package: https://gist.github.com/SpotlightKid/4839436e7366665b68de60f17b5cd92e

Until then, I fear, this package is broken.

ilovemikael commented on 2025-12-01 23:16 (UTC) (edited on 2025-12-03 06:07 (UTC) by ilovemikael)

There are a few issues with this package:

  1. zix-git is required as a runtime dependency because the official arch package for it is only on v0.6.2; the latest version from git is 0.8.1, and zix is stated in meson to need it >=0.8.0 or else building fails.

  2. Similarly to suil, all the windowing toolkits listed in the makedepends (including gtkmm) are optional and shouldn't be necessary for building, and the decision of which toolkit to use, if any, should be left to the end-user; using meson, it's easy to configure this project and a little shell scripting to build specific frontends based on which are installed can be done easily (use if-statements and whereis/which).

  3. The build currently immediately fails on its first line because python can't find the waf executable that is downloaded as a git submodule in $srcdir/autowaf/ since we are cd'ed into the jalv srcdir, which the lines calling waf don't take into account; this could be remedied by simply adding the arch pkg for waf as a makedep, since that's generally how build systems are used.

On the other hand, I personally find meson to be a superior 'scons-like' build system written in python which is far more likely to be installed, and even if I'm biased (I am), literally all of this package's depends with the exception of qt5 use meson as their build system, so from the perspective of someone building git branches of all these audio related packages, I think for consistency's sake it's more logical to use meson. If you disagree, that's alright and you can change this package as you wish; however, if you wish to save some trouble, I've already done all the work of porting the script over to meson (it's not much) so you can use this if you want:

build() {
  arch-meson -Dgtk3=disabled -Dqt5=disabled -Dqt6=disabled $_pkgname $_pkgname-build
  meson compile -C $_pkgname-build
}

package() {
  meson install -C $_pkgname-build --destdir "$pkgdir"
}

The line installing the COPYING file must be removed if building this way, since it resides in the repo for autowaf, which is unnecessary for this method of compilation (thus prepare() could be removed too), and of course the dependencies array should be modified accordingly.

Thanks for making this and the many other PKGBUILDS you maintain; I appreciate your efforts and they save me a good deal of time and labour.

SpotlightKid commented on 2020-05-17 15:15 (UTC) (edited on 2020-05-17 15:16 (UTC) by SpotlightKid)

Yes, but those guidelines where only added fairly recently and conflict with the guidelines linked to in the same paragraph ("Dependencies that are provided by other dependencies do not need to be listed.") ;-/

Lucki commented on 2020-05-17 15:03 (UTC)

Thanks :) Guess that's why the guidelines advice to "[…] not rely on transitive dependencies […]": https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_dependencies

SpotlightKid commented on 2020-05-17 14:12 (UTC)

Oh, I see. The dependencies of the lv2 related packages (lilv, sratom, sord, etc.) have changed fairly often in the past and often differ from the respective -git packages, which I generally use.

Anyway, I'll add lv2>=1.17.2 to makedepends.

Lucki commented on 2020-05-17 13:48 (UTC)

lilv only depends on lv2 at the build time of lilv (make dependency). lv2 isn't a indirect dependency and not present in a clean build environment at the build time of jalv-git.

SpotlightKid commented on 2020-05-17 13:21 (UTC)

lv2 is an indirect dependency via lilv. The lv2 package community is already at version 0.18.0, so should meet the required minimum version. And if you have lilv-git installed and it is still at a lower version, just rebuild & reinstall it.

Lucki commented on 2020-05-17 12:51 (UTC) (edited on 2020-05-17 12:51 (UTC) by Lucki)

Hey there, the build is failing because it's missing lv2:

Checking for 'lv2 >= 1.17.2'                  : not found 
The configuration failed
(complete log in /build/jalv-git/src/jalv/build/config.log)
==> ERROR: A failure occurred in build().