FS#69076 - [calf] 0.90.3-3 package is missing calfjackhost binary

Attached to Project: Community Packages
Opened by Bernd Busse (tryone144) - Wednesday, 23 December 2020, 11:54 GMT
Last edited by Alexander F. Rødseth (xyproto) - Friday, 25 December 2020, 10:44 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
The official package for calf (community/calf 0.90.3-3) is missing the calfjackhost binary in /usr/bin/calfjackhost.
This was part of the package with the last package release 0.90.3-2.
Building the package locally includes the calfjackhost binary as expected.

Additional info:
* package version: 0.90.3-3 (updated on 2020-12-22 21:27)

Steps to reproduce:
* Install the latest version (0.90.3-3) via pacman or download from archlinux.org
* List files in package => /usr/bin/calfjackhost is missing

* Download the PKGBUILD from archlinux.org
* Build package with makepkg
* List files in package => /usr/bin/calfjackhost is there
This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Friday, 25 December 2020, 10:44 GMT
Reason for closing:  Fixed
Comment by Doug Newgard (Scimmia) - Wednesday, 23 December 2020, 15:14 GMT
building it locally probably picks up gtk2 on your system. I'm assuming this hasn't been ported yet.
Comment by David Runge (dvzrv) - Wednesday, 23 December 2020, 15:55 GMT
calf does not support gtk3 at all.

@xyproto please revert to gtk2. You have removed all custom GUIs from all of the plugins as well.
Comment by Bernd Busse (tryone144) - Thursday, 24 December 2020, 03:05 GMT
@Scimmia I can confirm that gtk2 is installed on my system.

Isolated building (without gtk2) prints the following result after configure:
Debug mode: no
With SSE: yes
Experimental plugins: yes
Common GUI code: no (GTK+ 2.12 and cairo 1.2 or newer required)
LV2 enabled: yes
LV2 GTK+ GUI enabled: no
JACK host enabled: no
LASH enabled: no
Old-style JACK MIDI: no
JACK has jack_port_rename: yes

When changing back to gtk2 these are reported as:
Debug mode: no
With SSE: yes
Experimental plugins: yes
Common GUI code: yes
LV2 enabled: yes
LV2 GTK+ GUI enabled: yes
JACK host enabled: yes
LASH enabled: no
Old-style JACK MIDI: no
JACK has jack_port_rename: yes
Comment by Alexander F. Rødseth (xyproto) - Thursday, 24 December 2020, 11:24 GMT
Thanks for reporting. I tested the Calf plugins in Ardour before pushing the new package to [community]. They worked fine.

gtk2 has reached End of Life. I'll look into upgrading calfjackhost to gtk3.
Comment by David Runge (dvzrv) - Thursday, 24 December 2020, 12:58 GMT
> Thanks for reporting. I tested the Calf plugins in Ardour before pushing the new package to [community]. They worked fine.

What do you mean by "worked fine" though? The LV2 plugins are missing their custom GUI. Plugins such as Calf Analyzer or Calf Equalizer (others with custom analyzer views are also affected) are not usable anymore, because to be able to use them one needs the visible output of the plugin to see what it is actually analyzing or modifying. This is nothing that is abstracted by generic GUIs that Ardour provides (additonally, generic GUIs are different from host to host and offer varying degrees of functionality), which only allow access to the controls of the plugins.

Calf does not support gtk3: https://github.com/calf-studio-gear/calf/issues/248
Adding gtk3 to the depends array does not add support for gtk3 and make it build with it.
As mentioned in the above ticket, if calf upstream actually starts working on replacing the UI toolkit it should drop gtk altogether for portability (e.g. relying on minimalistic self-contained UI toolkits as to not potentially crash hosts).

> gtk2 has reached End of Life.

By that reasoning we would also remove ardour from the repos (which we don't, because it is useful). Calf 0.90.3-3 removed functionality from the package that is required for most of the plugins to be useful before gtk2 is even removed from the repositories, or before actionables have been discussed with the team.
Speaking of ardour: There is no fixed upstream plan (with a timetable at least) to replace the gtk2 elements with something else, because they currently "just work". This is unfortunate, but I understand upstream in that regard, as migrating UI stuff in a complex piece of software such as a DAW requires time and a lot of testing (and the upstream dev team is small).

We will be stuck with gtk2 for the forseeable future until upstreams migrate their UI tooling or the respective dependants prove to be useless. IMHO, time is better invested in helping upstreams to migrate their UI tooling instead of removing features from packages before it is time to do so.
Comment by Alexander F. Rødseth (xyproto) - Friday, 25 December 2020, 09:42 GMT
dvzrv, with "upgrading to gtk3" I did not mean to just add it to the depends array and think it would work, but look into the gtk calls. I find it curious that you would think this is what I meant. Some applications only have a few calls that are easily patched/ported from gtk2 to gtk3.

The configuration for building calf supports building both with and without a GUI, and it is useful also without a GUI.

I agree that the GUI is nice to have, though, and the gtk calls were not easily portable, so I added back the gtk2 dependency.

Loading...