code template: multilib_is_best_abi() { local all_abis=( $(multilib_get_enabled_abis) ) local best_abi="${all_abis[$(( ${#all_abis[@]} - 1 ))]}" [ "${ABI}" = "${best_abi}" ] } this is to be used in src_* phase functions and determine if we're building for the native abi or not. I need this for media-sound/lame to make it build only libmp3lame for multilib abis and add the frontend and other binaries for the native abi thanks!
We're rather using [[ ${ABI} == ${DEFAULT_ABI} ]] for that.
(In reply to Michał Górny from comment #1) > We're rather using [[ ${ABI} == ${DEFAULT_ABI} ]] for that. yes but is it guaranted to be always set ? (ie even on non-multilib profiles)
(In reply to Alexis Ballier from comment #2) > (In reply to Michał Górny from comment #1) > > We're rather using [[ ${ABI} == ${DEFAULT_ABI} ]] for that. > > yes but is it guaranted to be always set ? (ie even on non-multilib profiles) Yes. So far, any inconsistencies have been fixed due to ebuilds being broken :).
(In reply to Michał Górny from comment #3) > Yes. So far, any inconsistencies have been fixed due to ebuilds being broken > :). well, could you please review media-sound/lame-3.99.5-r1 ebuild then ?
(In reply to Alexis Ballier from comment #4) > (In reply to Michał Górny from comment #3) > > Yes. So far, any inconsistencies have been fixed due to ebuilds being broken > > :). > > well, could you please review media-sound/lame-3.99.5-r1 ebuild then ? and btw if [[ ${ABI} == ${DEFAULT_ABI} ]] works you can scrap this bug and close as wontfix since there's no point in adding a function for this
.
*** Bug 474838 has been marked as a duplicate of this bug. ***
emerge -utDNqav --with-bdeps=y --keep-going world [nomerge ] media-sound/audacity-2.0.3 USE="alsa flac jack libsoxr mp3 vorbis (-ffmpeg) -id3tag -ladspa -libsamplerate -midi -sbsms -soundtouch -twolame -vamp" [ebuild U ] media-sound/lame-3.99.5-r1 [3.99.5] USE="-debug (-mmx) -mp3rtp -sndfile -static-libs" ABI_X86="32%* (64%*) (-x32)" [blocks B ] <=app-emulation/emul-linux-x86-medialibs-20130224 ("<=app-emulation/emul-linux-x86-medialibs-20130224" is blocking media-sound/lame-3.99.5-r1) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (media-sound/lame-3.99.5-r1::gentoo, ebuild scheduled for merge) pulled in by >=media-sound/lame-3.98.3 required by (media-video/ffmpeg-1.0.7::gentoo, installed) media-sound/lame required by (media-libs/libquicktime-1.2.4::gentoo, installed) media-sound/lame required by (media-sound/skype-call-recorder-0.8::gentoo, installed) >=media-sound/lame-3.98.4 required by (media-sound/sox-14.4.1::gentoo, installed) >=media-sound/lame-3.70 required by (media-sound/audacity-2.0.3::gentoo, installed) >=media-sound/lame-3.95 required by (media-plugins/gst-plugins-lame-1.0.6::gentoo, installed) media-sound/lame required by (media-video/transcode-1.1.7-r2::gentoo, installed) >=media-sound/lame-3.95 required by (media-plugins/gst-plugins-lame-0.10.19::gentoo, installed) media-sound/lame required by (media-sound/grip-3.3.1-r3::gentoo, installed) (app-emulation/emul-linux-x86-medialibs-20130224::gentoo, installed) pulled in by ~app-emulation/emul-linux-x86-medialibs-20130224 required by (app-emulation/emul-linux-x86-sdl-20130224::gentoo, installed) ~app-emulation/emul-linux-x86-medialibs-20130224 required by (app-emulation/emul-linux-x86-soundlibs-20130224::gentoo, installed) ~app-emulation/emul-linux-x86-medialibs-20130224 required by (app-emulation/emul-linux-x86-gstplugins-20130224::gentoo, installed) app-emulation/emul-linux-x86-medialibs[development] required by (app-emulation/wine-1.6_rc3::gentoo, installed) ~app-emulation/emul-linux-x86-medialibs-20130224 required by (app-emulation/emul-linux-x86-qtlibs-20130224::gentoo, installed)
Guys, what's the upgrade path here? I get blockers: [ebuild U ] app-emulation/emul-linux-x86-medialibs-20130224-r1 [20130224] ABI_X86="32%*" [blocks b ] app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] ("app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]" is blocking media-libs/xvid-1.3.2-r1, media-sound/lame-3.99.5-r1) [blocks b ] app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] ("app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]" is blocking media-libs/libvpx-1.2.0_pre20130625) [ebuild U ] app-emulation/emul-linux-x86-soundlibs-20130224-r2 [20130224] ABI_X86="32%*" [blocks b ] <=app-emulation/emul-linux-x86-soundlibs-20130224-r1 ("<=app-emulation/emul-linux-x86-soundlibs-20130224-r1" is blocking media-libs/audiofile-0.3.6-r1, media-libs/flac-1.2.1-r5, media-libs/webrtc-audio-processing-0.1-r1, media-libs/alsa-lib-1.0.27.1) [blocks b ] app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ("app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]" is blocking media-sound/gsm-1.0.13-r1, media-libs/libogg-1.3.1, media-libs/libvorbis-1.3.3-r1, media-libs/audiofile-0.3.6-r1, media-libs/flac-1.2.1-r5, media-libs/libmodplug-0.8.8.4-r1, media-libs/webrtc-audio-processing-0.1-r1, media-libs/alsa-lib-1.0.27.1)
Brain fart. Please ignore. I had a stray package.mask that caused this (libvorbis).
Let's implement this. It will make maintenance and bugfixing easier.
Committed as multilib_is_native_abi().