Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 602898 (virtual/jack-tracker)

Summary: [TRACKER] USE=jack should depend on virtual/jack instead of media-sound/jack-audio-connection-kit
Product: Gentoo Linux Reporter: Jonas Stein <jstein>
Component: Current packagesAssignee: Professional Audio Applications Maintainers <proaudio>
Status: RESOLVED FIXED    
Severity: normal CC: alexander, anton.gubarkov, arthur, asturm, bearcatsandor, dominique.c.michel, dschridde+gentoobugs, fordfrog, gentoo.wayne, itumaykin+gentoo, jstein, karl.j.linden, Korethr, kripton, navid.zamani, sound, sur3, thomas.jones, thomas.masper, xms-00
Priority: Normal Keywords: Tracker
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://qa-reports.gentoo.org/output/genrdeps/rindex/media-sound/jack-audio-connection-kit
See Also: https://bugs.gentoo.org/show_bug.cgi?id=746722
https://bugs.gentoo.org/show_bug.cgi?id=895406
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 62358, 575532, 602878, 602880, 602884, 602886, 608390, 612022, 612026, 622434, 631960, 636598, 637562, 653954, 684088, 684178, 694024, 703820, 734928, 736290, 736300, 736306, 736310, 736312, 736314, 736316, 736318, 736322, 736324, 736326, 736328, 736330, 736459, 777408, 884619    
Bug Blocks:    

Description Jonas Stein gentoo-dev 2016-12-17 11:22:32 UTC
There are about 180 packages depending on media-sound/jack-audio-connection-kit 
and only 23 depend on virtual/jack

cd /usr/portage/metadata/md5-cache
egrep -R "jack?.*media-sound/jack-audio-connection-kit" -l
egrep -R "jack?.*virtual/jack" -l
Comment 1 Nick Kossifidis 2016-12-27 18:34:49 UTC
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.
Comment 2 Bearcat M. Şándor 2017-05-22 06:24:53 UTC
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.
Comment 3 Diogo Pereira 2017-06-16 19:34:03 UTC
(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.
Comment 4 Bearcat M. Şándor 2017-06-21 21:57:55 UTC
I just added https://bugs.gentoo.org/show_bug.cgi?id=622426 which addresses this issue for media-libs/openal.
Comment 5 gerion 2017-09-30 12:57:58 UTC
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?
Comment 6 Nikita Zlobin 2017-11-25 18:48:03 UTC
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...?
Comment 7 Nikita Zlobin 2017-11-25 19:30:29 UTC
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 (2.78c[2]@21.07.2017):
[I] media-libs/libffado (9999-r1[4]@20.06.2017):
[I] media-libs/mlt (9999[4]@29.06.2017):
[I] media-plugins/ams-lv2 (1.1.0@21.06.2017):
[I] media-plugins/calf (9999-r1[4]@23.06.2017):
[I] media-plugins/gst-plugins-jack (0.10.31-r1(0.10)@01.07.2017
[I] media-sound/aeolus (0.9.5@02.07.2017):
[I] media-sound/audacity (2.1.3-r1@22.07.2017):
[I] media-sound/brutefir (1.0o[4]@20.06.2017):
[I] media-sound/denemo (2.0.12[4]@25.06.2017):
[I] media-sound/glmix (0.3-r1[4]@24.06.2017):
[I] media-sound/jack-keyboard (2.7.1[4]@09.09.2017):
[I] media-sound/klick (0.12.2[5]@20.06.2017):
[I] media-sound/linuxsampler (9999-r1[4]@20.06.2017):
[I] media-sound/meterbridge (0.9.3@21.06.2017):
[U] media-sound/musescore (2.0.3[4]@21.07.2017
[I] media-sound/patchage (9999-r1[4]@14.09.2017):
[I] media-sound/potamus (16@23.06.2017):
[I] media-sound/sonic-visualiser (3.0.2@21.07.2017):
[I] media-sound/supercollider (3.8.0@15.09.2017):
[I] media-sound/timemachine (0.3.3-r1[4]@20.06.2017):
[I] media-sound/timidity++ (2.14.0-r2@21.07.2017):
[I] media-sound/yoshimi (1.5.1.1@25.06.2017):
[U] media-video/mplayer (1.3.0-r1@21.07.2017
[I] media-video/recordmydesktop (0.3.8.1-r4@20.06.2017):
[I] media-video/simplescreenrecorder (0.3.8[2]@24.06.2017):
[I] virtual/jack (0@15.06.2017):
[1] "audio-overlay" /var/lib/layman/audio-overlay
[2] "calculate" /var/lib/layman/calculate
[3] "cg" /var/lib/layman/cg
[4] "nick87720z" /usr/local/portage
[5] "proaudio" /var/lib/layman/proaudio
[6] "stuff" /var/lib/layman/stuff
Comment 8 Nikita Zlobin 2017-11-25 20:04:57 UTC
And libsoundio builds too
Comment 9 Nikita Zlobin 2017-11-25 20:06:26 UTC
oh, fixed jack2 release was in october, sorry for some noise :)
Comment 10 Nikita Zlobin 2017-11-25 20:34:54 UTC
btw, libsoundio builds with jack2-1.9.10, gcc-5.4.0-r3 (6.4.0 doesnt work with that jack2 version)
Comment 11 Larry the Git Cow gentoo-dev 2017-12-21 20:29:24 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a5fb39c0509e4cbd9e65508d5228353d29d3cf9

commit 0a5fb39c0509e4cbd9e65508d5228353d29d3cf9
Author:     Simon van der Veldt <simon.vanderveldt@gmail.com>
AuthorDate: 2017-12-12 18:04:46 +0000
Commit:     Patrice Clement <monsieurp@gentoo.org>
CommitDate: 2017-12-21 20:25:36 +0000

    media-sound/jack-keyboard: use virtual/jack.
    
    Closes: https://bugs.gentoo.org/602898
    Closes: https://github.com/gentoo/gentoo/pull/6535

 media-sound/jack-keyboard/jack-keyboard-2.5.ebuild | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Comment 12 Miroslav Šulc gentoo-dev 2018-01-03 16:52:51 UTC
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:

games-emulation/mednafen
media-libs/allegro
media-libs/avidemux-plugins
media-libs/freeverb3
media-libs/libffado
media-libs/libjackasyn
media-libs/libsoundio
media-libs/mediastreamer
media-libs/rtaudio
media-libs/xine-lib
media-plugins/libvisual-plugins
media-sound/aeolus
media-sound/aqualung
media-sound/audicle
media-sound/bitmeter
media-sound/bristol
media-sound/brutefir
media-sound/cmus
media-sound/csound
media-sound/darkice
media-sound/denemo
media-sound/din
media-sound/fmit
media-sound/galan
media-sound/glmix
media-sound/hearnet
media-sound/horgand
media-sound/chuck
media-sound/jaaa
media-sound/jackbeat
media-sound/jack-rack
media-sound/jack-smf-utils
media-sound/jamin
media-sound/meterbridge
media-sound/mhwaveedit
media-sound/milkytracker
media-sound/moc
media-sound/muse
media-sound/potamus
media-sound/projectm-jack
media-sound/qarecord
media-sound/qmmp
media-sound/seq24
media-sound/snd
media-sound/sndfile-tools
media-sound/sndpeek
media-sound/sonic-visualiser
media-sound/sooperlooper
media-sound/specimen
media-sound/supercollider
media-sound/tapestrea
media-sound/tapiir
media-sound/tap-reverbed
media-sound/timemachine
media-sound/xmms2
media-sound/xwax
media-sound/yoshimi
media-tv/mythtv
media-video/gpac
media-video/libav
media-video/recordmydesktop
net-wireless/gnuradio
www-plugins/freshplayerplugin
x11-themes/fvwm-crystal
Comment 13 Jeremy Banks 2018-01-20 02:49:01 UTC
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?
Comment 14 Jeroen Roovers (RETIRED) gentoo-dev 2020-07-31 10:35:50 UTC
*** Bug 672404 has been marked as a duplicate of this bug. ***
Comment 15 Andreas Sturmlechner gentoo-dev 2020-08-09 09:51:30 UTC
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:

media-sound/cadence
media-video/pipewire[jack]
Comment 16 Miroslav Šulc gentoo-dev 2020-08-09 11:23:39 UTC
(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:
> 
> media-sound/cadence
> media-video/pipewire[jack]

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).
Comment 17 jannis 2020-08-10 12:05:00 UTC
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.
Comment 18 Miroslav Šulc gentoo-dev 2020-08-10 12:30:51 UTC
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.
Comment 19 Reva Denis 2020-08-10 14:02:36 UTC
I think that Gentoo is about choice. So we might not restrict anyone.
Comment 20 Andreas Sturmlechner gentoo-dev 2020-08-10 17:28:44 UTC
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.
Comment 21 Andreas Sturmlechner gentoo-dev 2020-08-10 17:44:54 UTC
I propose to change virtual/jack, after all dependencies of this bug were solved, as follows:

> RDEPEND="
>   || (
>     media-sound/jack2[${MULTILIB_USEDEP}]
>     >=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}]
>   )
> "
The newer version should always take precedence in a block of alternatives.
Comment 22 Reva Denis 2020-08-11 08:04:03 UTC
Andreas, I agree with jack2 as default. I use jack2 with Cadence too.
Maintaining any package is hard work.
Comment 23 Reva Denis 2020-08-11 08:06:59 UTC
However, I think possibility to choise also make worth. So virtual/jack is good thing.
Comment 24 Andreas Sturmlechner gentoo-dev 2020-09-04 22:44:58 UTC
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.
Comment 25 Larry the Git Cow gentoo-dev 2020-09-05 07:05:44 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c13e89e3eac864bab52589426e3d2312eeaae01

commit 6c13e89e3eac864bab52589426e3d2312eeaae01
Author:     Miroslav Šulc <fordfrog@gentoo.org>
AuthorDate: 2020-09-05 07:05:22 +0000
Commit:     Miroslav Šulc <fordfrog@gentoo.org>
CommitDate: 2020-09-05 07:05:22 +0000

    virtual/jack: eapi7, jack2 default now
    
    Bug: https://bugs.gentoo.org/602898
    Package-Manager: Portage-3.0.5, Repoman-3.0.1
    Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>

 virtual/jack/jack-1.ebuild | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
Comment 26 Andreas Sturmlechner gentoo-dev 2023-02-19 12:25:38 UTC
It seems we can really close this tracker now. :)