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

Bug 524164

Summary: Make net-im/skype sound work without media-sound/pulseaudio, using media-sound/apulse
Product: Gentoo Linux Reporter: Jauhien Piatlicki (RETIRED) <jauhien>
Component: Current packagesAssignee: Amy Liffey <amynka>
Status: RESOLVED FIXED    
Severity: normal CC: aparicio99, gentoo, njsg, Sasha.Medvedev, ulm
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 519110, 523498    
Bug Blocks:    
Attachments: skype-4.3.0.37-r1.ebuild.patch
skype-4.3.0.37-r1.ebuild.patch
Depend on !apulse? conditional only for soundlibs

Description Jauhien Piatlicki (RETIRED) gentoo-dev 2014-09-30 22:01:15 UTC
Subj., add apulse USE and make skype work with it. It needs solving of blocker bugs first.
Comment 1 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-01 16:14:42 UTC
Created attachment 385898 [details, diff]
skype-4.3.0.37-r1.ebuild.patch

I have skype working with ALSA on x86 using apulse (https://github.com/jauhien/jauhien-overlay/blob/master/media-sound/apulse/apulse-0.1.1.ebuild)

Patch is attached.
Comment 2 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-01 16:16:47 UTC
@Amy Winston: please, review the patch. I will add apulse package to the tree in a while. For x86 everything works ok for me.

For amd64 apulse USE should be masked until bug 519110 is fixed in multilib QT is imported into the tree.
Comment 3 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-01 19:41:03 UTC
Created attachment 385916 [details, diff]
skype-4.3.0.37-r1.ebuild.patch

A new variant of patch: make apulse and pulseaudio USEs mutually exclusive.
Comment 4 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-05 09:47:13 UTC
Patch integrated.

>  05 Oct 2014; Jauhien Piatlicki <jauhien@gentoo.org> +skype-4.3.0.37-r1.ebuild,
>  -skype-4.3.0.37.ebuild, metadata.xml:
>  introduce apulse support, bug 524164

apulse USE flag masked for amd64. Bug should stay open until multilib QT is in portage and this USE can be unmasked.
Comment 5 Ulrich Müller gentoo-dev 2014-10-06 20:54:30 UTC
Created attachment 386160 [details, diff]
Depend on !apulse? conditional only for soundlibs

Sound works nicely here if I emerge media-sound/apulse[abi_x86_32], while at the same time I have emul-linux-x86-qtlibs installed. I think that the !asound? conditional is only needed for -soundlibs but not for -xlibs and -qtlibs.

Please consider attached patch. If it can be used it would imply that the asound flag can be unmasked (without the need to wait for qt).
Comment 6 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-07 08:05:38 UTC
For me emul-linux-x86-qtlibs pulled in also -soundlibs, but may be I had something strange in my system. I will investigate it again and then apply your patch.
Comment 7 Ulrich Müller gentoo-dev 2014-10-07 11:35:10 UTC
(In reply to Jauhien Piatlicki from comment #6)
> For me emul-linux-x86-qtlibs pulled in also -soundlibs, but may be I had
> something strange in my system.

Hm, with USE="-abi_x86_32" one will indeed get this dependency chain: emul-linux-x86-qtlibs --> -medialibs --> soundlibs. With USE="abi_x86_32" one doesn't, though.


(In reply to Ulrich Müller from comment #5)
> [...] it would imply that the asound flag can be unmasked

Correction: Since abi_x86_32 is still masked in stable, this unmasking cannot be done. However, the "net-im/skype apulse" mask could be demoted from package.use.mask to package.use.stable.mask.
Comment 8 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-08 16:17:46 UTC
@Ulrich Müller: it seems you are right. Then, please, test it on testing keyworded system and proceed with commiting your changes and moving mask to package.use.stable.mask. I have no complains.

I will test also, but later, as at the moment I am busy with other tasks to build new VM with testing Gentoo and I did not figured out how to properly install necessary stuff on the stable system as I get lots of blockings (that's why I ask you to test it on the testing branch).
Comment 9 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-08 16:22:27 UTC
The only thing here: we need make -medialibs to be installed with abi_x86_32, may be add it to dependencies? So user sees, he should switch on this USE.
Comment 10 Ulrich Müller gentoo-dev 2014-10-08 20:05:40 UTC
Committed. (I haven't added apulse to package.use.stable.mask because bug 357475 says that skype shouldn't go stable.)

(In reply to Jauhien Piatlicki from comment #9)
> The only thing here: we need make -medialibs to be installed with
> abi_x86_32, may be add it to dependencies? So user sees, he should switch on
> this USE.

I'd rather not, because -medialibs isn't a real dependency. And I'd expect that most users enable the flag globally by setting ABI_X86 in their make.conf.

Can this bug be closed?
Comment 11 Sasha Medvedev 2014-10-13 15:57:24 UTC
Hi, changing to multilib is really hell for me. Could apulse block only app-emulation/emul-linux-x86-soundlibs with pulseaudio use flag? Then changing to multilib will not be obligatory, I guess.

By the way 0.1.2 release of apulse is available.
Comment 12 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-13 16:00:53 UTC
pulseaudio use flag in *soubdlibs* is for multilib, it does not help in this situation.

apulse itself needs multilib, so you have to switch to it to use apulse anyway.

I will make version bump in a while.
Comment 13 Sasha Medvedev 2014-10-14 11:46:53 UTC
I've tested installation of skype with apulse useflag. Everything is ok so far, except for you have to invest some time in switching to multilib.
Comment 14 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-14 20:34:05 UTC
I think, this bug can be closed. The Qt multilib is still in the overlay, but skype + apulse works with app-emulation/emul-linux-x86-qtlibs equally fine. Nothing more to fix in skype ebuild itself.
Comment 15 Marc Arens 2014-10-14 23:06:01 UTC
So how would one continue after reaching this state?

rigatoni ~ # emerge -av skype

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] media-sound/apulse-0.1.1  ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  N     ] app-emulation/emul-linux-x86-baselibs-20140508-r14  USE="development kerberos ldap pam" ABI_X86="-32" 0 KiB
[uninstall     ] dev-libs/libffi-3.1-r3  USE="-debug -pax_kernel -static-libs {-test}" ABI_X86="32 (64) (-x32)" 
[uninstall     ] sys-libs/zlib-1.2.8-r1  USE="minizip -static-libs" ABI_X86="32 (64) (-x32)" 
[blocks b      ] app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ("app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]" is blocking sys-libs/zlib-1.2.8-r1)
[ebuild  N     ] app-emulation/emul-linux-x86-db-20140508-r3  USE="development" ABI_X86="-32" 0 KiB
[ebuild  N     ] app-emulation/emul-linux-x86-xlibs-20140508  USE="(development) opengl" ABI_X86="-32" 0 KiB
[ebuild  N     ] app-emulation/emul-linux-x86-opengl-20140508  USE="development" ABI_X86="-32" 0 KiB
[ebuild  N     ] app-emulation/emul-linux-x86-medialibs-20140508-r6  USE="development" ABI_X86="-32" 0 KiB
[ebuild  N     ] app-emulation/emul-linux-x86-soundlibs-20140508  USE="alsa development -pulseaudio" ABI_X86="-32" 0 KiB
[ebuild  N     ] app-emulation/emul-linux-x86-qtlibs-20140508-r1  USE="development" 0 KiB
[ebuild  N     ] net-im/skype-4.3.0.37-r1  USE="apulse -pax_kernel -pulseaudio (-selinux)" 0 KiB
[blocks B      ] app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ("app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]" is blocking media-libs/alsa-lib-1.0.28)
[blocks B      ] app-emulation/emul-linux-x86-soundlibs ("app-emulation/emul-linux-x86-soundlibs" is blocking media-sound/apulse-0.1.1)
[blocks B      ] app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ("app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]" is blocking dev-libs/glib-2.40.2, dev-libs/libffi-3.1-r3)

Total: 9 packages (9 new, 2 uninstalls), Size of downloads: 0 KiB
Conflict: 4 blocks (3 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (media-sound/apulse-0.1.1:0/0::gentoo, ebuild scheduled for merge) pulled in by
    media-sound/apulse[abi_x86_32(-)] required by (net-im/skype-4.3.0.37-r1:0/0::gentoo, ebuild scheduled for merge)

  (app-emulation/emul-linux-x86-baselibs-20140508-r14:0/0::gentoo, ebuild scheduled for merge) pulled in by
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-xlibs-20140508:0/0::gentoo, ebuild scheduled for merge)
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-qtlibs-20140508-r1:0/0::gentoo, ebuild scheduled for merge)
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-db-20140508-r3:0/0::gentoo, ebuild scheduled for merge)
    ~app-emulation/emul-linux-x86-baselibs-20140508 required by (app-emulation/emul-linux-x86-medialibs-20140508-r6:0/0::gentoo, ebuild scheduled for merge)
    ~app-emulation/emul-linux-x86-baselibs-20140508[abi_x86_32=] (~app-emulation/emul-linux-x86-baselibs-20140508[-abi_x86_32]) required by (app-emulation/emul-linux-x86-soundlibs-20140508:0/0::gentoo, ebuild scheduled for merge)

  (media-libs/alsa-lib-1.0.28:0/0::gentoo, installed) pulled in by
    media-libs/alsa-lib[abi_x86_32(-)] required by (net-im/skype-4.3.0.37-r1:0/0::gentoo, ebuild scheduled for merge)
    media-libs/alsa-lib[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (media-libs/alsa-lib[abi_x86_32(-),abi_x86_64(-)]) required by (media-sound/apulse-0.1.1:0/0::gentoo, ebuild scheduled for merge)

  (app-emulation/emul-linux-x86-soundlibs-20140508:0/0::gentoo, ebuild scheduled for merge) pulled in by
    ~app-emulation/emul-linux-x86-soundlibs-20140508 required by (app-emulation/emul-linux-x86-medialibs-20140508-r6:0/0::gentoo, ebuild scheduled for merge)


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked
Comment 16 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-15 07:55:46 UTC
One starts by reading the documentation I guess. ) You need to switch on multilib, see https://wiki.gentoo.org/wiki/Skype#apulse and https://wiki.gentoo.org/wiki/Multilib/gx86-multilib. In the last link you'll find how to switch it on.
Comment 17 Nuno Silva 2014-10-24 22:15:46 UTC
Skype has IUSE=+pulseaudio, still forcing me to turn the flag off for net-im/skype even if USE=pulseaudio is not set on my system and I am setting USE=apulse. Can this be made easier in some way?
Comment 18 Jauhien Piatlicki (RETIRED) gentoo-dev 2014-10-24 23:27:16 UTC
(In reply to Nuno Silva from comment #17)
> Skype has IUSE=+pulseaudio, still forcing me to turn the flag off for
> net-im/skype even if USE=pulseaudio is not set on my system and I am setting
> USE=apulse. Can this be made easier in some way?

Is this difficult to turn the USE off? )

pulseaudio is the recommended default value, supported by the upstream, so I think we should have IUSE=+pulseaudio.
Comment 19 Nuno Silva 2014-10-26 15:43:09 UTC
It is not difficult, but it sounds confusing that you have to toggle *two* use flags instead of just toggling one, especially when your system is doing *nothing* to require USE=pulseaudio.