There are about 180 packages depending on media-sound/jack-audio-connection-kit
and only 23 depend on virtual/jack
egrep -R "jack?.*media-sound/jack-audio-connection-kit" -l
egrep -R "jack?.*virtual/jack" -l
Plase fix this ! I was just about to start opening issues about the various packages on my system that bring in jack-audio-connection-kit and I found out this report. With jack-audio-connection-kit in, installing jack2 is not possible !
This report covers only the ones that depend on USE=jack but there are other packages that bring in jack-audio-connection-kit directly when they should also use virtual/jack. Any package should work fine since both jack-audio-connection-kit and jack2 use the same api/protocol, it's just a different daemon implementation. According to the documentation the applications don't even need re-compilation -they are also ABI compatible- (for more information check out https://github.com/jackaudio/jackaudio.github.com/wiki/Q_difference_jack1_jack2).
Also some packages with USE="jack" bring in packages that directly depend on jack-audio-connection-kit. Audacious-plugins for example with USE="jack" brings in bio2jack which again depends directly on jack-audio-connection-kit.
What's the correct approach here ? Open a bug report for each package ? Open another bug report for those packages that directly depend on jack-audio-connection-kit ? Handle the issue on this one ?
Also how can I help ? This should be a trivial fix, just switch everything (either through USE="jack" or through DEPEND) to virtual/jack.
So we have two bugs about this now? This has impeeded my updates for just about a year now. I'm sick of it, so i'm going through and adding this quick fix to the ebuilds that need them.
(In reply to Nick Kossifidis from comment #1)
> Also how can I help ? This should be a trivial fix, just switch everything
> (either through USE="jack" or through DEPEND) to virtual/jack.
Not all packages work with both jack1 and jack2. For example media-libs/libsoundio fails to build with jack2. This was fixed two years ago in jack2 master, but there has been no stable release since then.
I just added https://bugs.gentoo.org/show_bug.cgi?id=622426 which addresses this issue for media-libs/openal.
Can we make this bug a tracker bug for any ebuild, that does not depend on virtual/jack but on media-sound/jack-audio-connection-jack although it runs with both versions?
There was movement from jack-audio-connection-kit to virtual/jack and moving to gentoo naming standard. However, since most packages required j-a-c-k they added virtual version media-sound/jack-audio-connection-kit-9998, which acts like virtual/jack, but has full set of USE flags. But i just figured out (they might do it earlier), that jack2 itself blocks j-a-c-k, so this trick is useless.
But another change, they did, is replacing j-a-c-k with media-sound/jack1, so their naming is even finer.
I guess, once all pkgs are moved to virtual/jack, gentoo portage might get same naming change about jack1.
Or should it be another bug...?
These packages are installed for me with jack-audio-connection-kit-1.9.10 from proaudio overlay (before their naming changed):
$ eix -c --installed --in-overlay gentoo --deps jack-audio-connection-kit | cut -f-3 -d' '
[I] media-gfx/blender (email@example.com):
[I] media-libs/libffado (firstname.lastname@example.org):
[I] media-libs/mlt (email@example.com):
[I] media-plugins/ams-lv2 (firstname.lastname@example.org):
[I] media-plugins/calf (email@example.com):
[I] media-plugins/gst-plugins-jack (0.10.31-r1(0.10)@01.07.2017
[I] media-sound/aeolus (firstname.lastname@example.org):
[I] media-sound/audacity (email@example.com):
[I] media-sound/brutefir (firstname.lastname@example.org):
[I] media-sound/denemo (email@example.com):
[I] media-sound/glmix (firstname.lastname@example.org):
[I] media-sound/jack-keyboard (email@example.com):
[I] media-sound/klick (firstname.lastname@example.org):
[I] media-sound/linuxsampler (email@example.com):
[I] media-sound/meterbridge (firstname.lastname@example.org):
[U] media-sound/musescore (email@example.com
[I] media-sound/patchage (firstname.lastname@example.org):
[I] media-sound/potamus (email@example.com):
[I] media-sound/sonic-visualiser (firstname.lastname@example.org):
[I] media-sound/supercollider (email@example.com):
[I] media-sound/timemachine (firstname.lastname@example.org):
[I] media-sound/timidity++ (email@example.com):
[I] media-sound/yoshimi (firstname.lastname@example.org):
[U] media-video/mplayer (email@example.com
[I] media-video/recordmydesktop (firstname.lastname@example.org):
[I] media-video/simplescreenrecorder (email@example.com):
[I] virtual/jack (firstname.lastname@example.org):
 "audio-overlay" /var/lib/layman/audio-overlay
 "calculate" /var/lib/layman/calculate
 "cg" /var/lib/layman/cg
 "nick87720z" /usr/local/portage
 "proaudio" /var/lib/layman/proaudio
 "stuff" /var/lib/layman/stuff
And libsoundio builds too
oh, fixed jack2 release was in october, sorry for some noise :)
btw, libsoundio builds with jack2-1.9.10, gcc-5.4.0-r3 (6.4.0 doesnt work with that jack2 version)
The bug has been closed via the following commit(s):
Author: Simon van der Veldt <email@example.com>
AuthorDate: 2017-12-12 18:04:46 +0000
Commit: Patrice Clement <firstname.lastname@example.org>
CommitDate: 2017-12-21 20:25:36 +0000
media-sound/jack-keyboard: use virtual/jack.
media-sound/jack-keyboard/jack-keyboard-2.5.ebuild | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
i have built list of packages that should use virtual/jack instead of direct dependency of one of the jack main versions. the list contains all packages that contain dependency on media-sound/jack-audio-connection-kit but none of the packages contains dependency on virtual/jack. these are the candidates for revbump with media-sound/jack-audio-connection-kit to virtual/jack.i will probably start to clean the list if the maintainers won't do that themselves. any comments and suggestions appreciated. here is the list:
This has been blocking some world updates for me for a while. I am probably going to end up patching the ebuilds myself to unblock this. Would such patches be welcome here, or should I submit new bugs per package for each patch?
*** Bug 672404 has been marked as a duplicate of this bug. ***
What's the long-term plan wrt media-sound/jack-audio-connection-kit once this tracker is done? Is there any reason to keep it in the future?
There are already two packages in Gentoo ebuild repo that depend on media-sound/jack2 instead:
(In reply to Andreas Sturmlechner from comment #15)
> What's the long-term plan wrt media-sound/jack-audio-connection-kit once
> this tracker is done? Is there any reason to keep it in the future?
> There are already two packages in Gentoo ebuild repo that depend on
> media-sound/jack2 instead:
good question. imo we should keep both as upstream still supports both and still occasionally commits to jack1. though i have no idea whether there are any reasons to run jack1 and not jack2. so it's just my opinion.
afaik some parts of media-sound/cadence need jack with dbus so at least this is the reason to restrict it to jack2 though i did not find any specific version information on cadence website (i did not try hard).
I would also recommend to keep both in the tree for now. According to https://github.com/jackaudio/jackaudio.github.com/wiki/Differences-between-jack1-and-jack2, upstream plans to keep both for the moment as well.
However, I also see the point that some programs (for example pipewire, now optionally required by unstable www-client/firefox) require JACK2 so I assume most people will switch to that anyways.
thank you for the link, it explains the situation really well. and really, there might be coming more apps that will lock the user into jack2 as it brings some features that are not present in jack1. otherwise it seems that apps depending on jack1 are also compatible with jack2, which does not have to work the other way, at least for some features.
I think that Gentoo is about choice. So we might not restrict anyone.
The people maintaining the packages do have a say in what they want to spend their time on. And the time it took to get even virtual/jack supported in most packages should give you an idea for the amount of dev hours available for that.
The Choice buzzword alone is ultimately _not_ enough to justify keeping a second implementation of basically the same thing.
I propose to change virtual/jack, after all dependencies of this bug were solved, as follows:
> || (
The newer version should always take precedence in a block of alternatives.
Andreas, I agree with jack2 as default. I use jack2 with Cadence too.
Maintaining any package is hard work.
However, I think possibility to choise also make worth. So virtual/jack is good thing.
fordfrog, I think we can switch the default now. mednafen is the only remaining package and games proj can do that whenever they feel like it.
The bug has been referenced in the following commit(s):
Author: Miroslav Šulc <email@example.com>
AuthorDate: 2020-09-05 07:05:22 +0000
Commit: Miroslav Šulc <firstname.lastname@example.org>
CommitDate: 2020-09-05 07:05:22 +0000
virtual/jack: eapi7, jack2 default now
Package-Manager: Portage-3.0.5, Repoman-3.0.1
Signed-off-by: Miroslav Šulc <email@example.com>
virtual/jack/jack-1.ebuild | 16 ++++++++++++++++
1 file changed, 16 insertions(+)