mesa unnecessarily pulls in >=llvm-3.6: (sys-devel/llvm-3.7.1-r1:0/3.7.1::gentoo, ebuild scheduled for merge) pulled in by >=sys-devel/llvm-3.6.0:=[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(-)?] required by (media-libs/mesa-11.2.0:0/0::gentoo, ebuild scheduled for merge) Reproducible: Always Expected Results: mesa builds fine with lolder llvm $ sudo emerge -vat1 mesa These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R ~] media-libs/mesa-11.2.0::gentoo USE="classic d3d9 dri3 egl gallium gbm gles1 gles2 llvm nptl opencl osmesa udev vdpau wayland xvmc -bindist -debug -openmax -pax_kernel -pic (-selinux) -vaapi -xa" ABI_X86="32 (64) (-x32)" VIDEO_CARDS="i965 nouveau (-freedreno) -i915 -ilo -intel -r100 -r200 -r300 -r600 -radeon -radeonsi -vmware" 0 KiB Mesa's correct LLVM dependencies are: galliumllvm (gallivm, llvmpipe): >=llvm-3.3 OpenCL: >=llvm-3.5 radeon(r600g+OpenCL or r600g+llvm backend, radeonsi): >=llvm-3.6 I have tested that mesa builds and llvmpiip runs fine with llvm-3.5: $ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep pipe OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits) $ LIBGL_ALWAYS_SOFTWARE=1 glxgears 8443 frames in 5.0 seconds = 1688.528 FPS
But see also: https://bugs.gentoo.org/show_bug.cgi?id=578776 - media-libs/mesa-11.1.2-r1[llvm] fails to (re-)build against llvm-3.7.1-r1
We could relax the llvm dependencies in some cases but I don't see much value in this. Same was the case with libdrm (different drivers require different minimum libdrm versions) but we decided against it in the end.
(In reply to Chí-Thanh Christopher Nguyễn from comment #2) > We could relax the llvm dependencies in some cases but I don't see much > value in this. The value is that you can use stable llvm with keyworded mesa, so other packages that require llvm don't get screwed up. llvm has arguably more usecases than libdrm. Also it's weird to force llvm-3.7 when building intel+llvmpipe that happily work with llvm-3.3.
Created attachment 430258 [details, diff] media-libs/mesa-11.2.0: Fixup LLVM dependencies
current situation: radv: llvm-3.9.0 radeonsi: llvm-3.6.0 llvmpipe: llvm-3.3.0 current stable sys-devel/llvm-3.7.1-r3. The radv/radeonsi llvm versions are handled. I don't see any point in allowing anything older than current stable. As things move, this could be a problem in the future, but it's not now.