Currently llvm is only required by rust (which comes bundled with its own llvm on dev-lang/rust-stable or supports system-llvm for dev-lang/rust-9999) Firefox in-turn should rely on rust[clang] instead of specifying clang/llvm as an explicit dependency.
(In reply to Amit Prakash Ambasta from comment #0) > Currently llvm is only required by rust (which comes bundled with its own > llvm on dev-lang/rust-stable or supports system-llvm for dev-lang/rust-9999) > > Firefox in-turn should rely on rust[clang] instead of specifying clang/llvm > as an explicit dependency. I'm running the following changes and it seems to work so far. diff --git 1/usr/portage/www-client/firefox/firefox-57.0.ebuild 2/usr/local/portage/www-client/firefox/firefox-57.0-r9999.ebuild index 57484d8aaa4d..b83989c30f4a 100644 --- 1/usr/portage/www-client/firefox/firefox-57.0.ebuild +++ 2/usr/local/portage/www-client/firefox/firefox-57.0-r9999.ebuild @@ -57,9 +57,9 @@ RDEPEND=" DEPEND="${RDEPEND} pgo? ( >=sys-devel/gcc-4.5 ) - amd64? ( ${ASM_DEPEND} virtual/opengl - >=sys-devel/llvm-4.0.1 - >=sys-devel/clang-4.0.1 ) + >=virtual/rust-1.19.0[clang] + >=dev-util/cargo-0.21.0 + amd64? ( ${ASM_DEPEND} virtual/opengl ) x86? ( ${ASM_DEPEND} virtual/opengl )" S="${WORKDIR}/firefox-${MOZ_PV}"
(In reply to Lee Watson from comment #1) > (In reply to Amit Prakash Ambasta from comment #0) > > Currently llvm is only required by rust (which comes bundled with its own > > llvm on dev-lang/rust-stable or supports system-llvm for dev-lang/rust-9999) > > > > Firefox in-turn should rely on rust[clang] instead of specifying clang/llvm > > as an explicit dependency. > > I'm running the following changes and it seems to work so far. > > > diff --git 1/usr/portage/www-client/firefox/firefox-57.0.ebuild > 2/usr/local/portage/www-client/firefox/firefox-57.0-r9999.ebuild > index 57484d8aaa4d..b83989c30f4a 100644 > --- 1/usr/portage/www-client/firefox/firefox-57.0.ebuild > +++ 2/usr/local/portage/www-client/firefox/firefox-57.0-r9999.ebuild > @@ -57,9 +57,9 @@ RDEPEND=" > > DEPEND="${RDEPEND} > pgo? ( >=sys-devel/gcc-4.5 ) > - amd64? ( ${ASM_DEPEND} virtual/opengl > - >=sys-devel/llvm-4.0.1 > - >=sys-devel/clang-4.0.1 ) > + >=virtual/rust-1.19.0[clang] > + >=dev-util/cargo-0.21.0 > + amd64? ( ${ASM_DEPEND} virtual/opengl ) > x86? ( ${ASM_DEPEND} virtual/opengl )" > > S="${WORKDIR}/firefox-${MOZ_PV}" Make that dev-lang/rust[clang]
So I have some concerns: 1 - dropping virtual/rust means users can't use rust-bin. 2 - there's some questionability as to the validity of dev-lang/rust[clang] so if it gets dropped we go straight back to direct dependencies anyways 3 - ive had a request to make stylo optional in order to potentially drop the need for the clang dep; tests pending to see if this modification is worthwhile or not. So I think we should sit on this one for a little while.
(In reply to Ian Stakenvicius from comment #3) > 2 - there's some questionability as to the validity of dev-lang/rust[clang] > so if it gets dropped we go straight back to direct dependencies anyways The problem here, and the reason I modified the ebuild, is that this prevents FF 57 being used on an otherwise stable system due to LLVM:5 and clang blockages with the current stable versions. You could probably avoid this by not requiring clang/LLVM >= 4.0.1 given that my ebuild compiles and runs perfectly fine with 3.9.1. Unless I'm missing something, the version requirement seems to be unnecessary.
relaxing clang/llvm version deps would be desired too (if works) that's besides making stylo optional.
i tested firefox build with relaxed llvm/clnag dep and it went just fine. 3.9.1 used in test. Also in firefox sources there is no strict clang version requirements found for the clang in it's configure.
(In reply to Oleg from comment #6) > i tested firefox build with relaxed llvm/clnag dep and it went just fine. > 3.9.1 used in test. Also in firefox sources there is no strict clang version > requirements found for the clang in it's configure. Chill the dep is what it is. I set it so we are not using a bunch of hacks in the source that were added for <4.0.1 this is testing branch we are not gonna cater to the stable users. Stylo will not be made optional at any point. We will continue on the same path I have put the firefox build in gentoo on.
(In reply to Jory A. Pratt from comment #7) > > this is testing branch we are not > gonna cater to the stable users. What about when 59 becomes ESR?
(In reply to Lee Watson from comment #8) > (In reply to Jory A. Pratt from comment #7) > > > > this is testing branch we are not > > gonna cater to the stable users. > > What about when 59 becomes ESR? We'll cross that bridge when we get to it, but likely clang:4 and llvm:4 will be stabilized to support (or :5 , depending on the needs of mozilla).
(In reply to Ian Stakenvicius from comment #9) > (In reply to Lee Watson from comment #8) > > (In reply to Jory A. Pratt from comment #7) > > > > > > this is testing branch we are not > > > gonna cater to the stable users. > > > > What about when 59 becomes ESR? > > We'll cross that bridge when we get to it, but likely clang:4 and llvm:4 > will be stabilized to support (or :5 , depending on the needs of mozilla). There's no guarantee those packages will be stable by then. I also feel like it'd be better to solve this issue now so there's plenty of time to fix any problems before 59 inevitably has to be stable. Isn't that the whole point of unstable?
I trashed my system trying to sort out the firefox 57 dependency conflicts. Good times ahead...
I can't install Firefox 57 without removing AMD support from mesa (it needs clang:0 and doesn't accept clang:5) (sys-devel/llvm-5.0.0:5/5::gentoo, ebuild scheduled for merge) pulled in by >=sys-devel/llvm-3.9 required by (dev-libs/libclc-0.2.0_pre20160921:0/0::gentoo, installed) >=sys-devel/llvm-4 required by (sys-libs/compiler-rt-5.0.0:5.0.0/5.0.0::gentoo, ebuild scheduled for merge) sys-devel/llvm[llvm_targets_AMDGPU] required by (media-libs/mesa-17.0.6:0/0::gentoo, ebuild scheduled for merge) >=sys-devel/llvm-4 required by (sys-libs/compiler-rt-sanitizers-5.0.0:5.0.0/5.0.0::gentoo, ebuild scheduled for merge) >=sys-devel/llvm-4.0.1 required by (www-client/firefox-57.0:0/0::gentoo, ebuild scheduled for merge) ~sys-devel/llvm-5.0.0:5=[debug=,llvm_targets_AArch64?,llvm_targets_AMDGPU?,llvm_targets_ARM?,llvm_targets_BPF?,llvm_targets_Hexagon?,llvm_targets_Lanai?,llvm_targets_Mips?,llvm_targets_MSP 430?,llvm_targets_NVPTX?,llvm_targets_PowerPC?,llvm_targets_Sparc?,llvm_targets_SystemZ?,llvm_targets_X86?,llvm_targets_XCore?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,ab i_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] (~sys-devel/llvm-5.0.0:5=[-debug,llvm_targets_AMDGPU,llvm_targets_BPF,llvm_targets_NVPTX,llvm_tar gets_X86,abi_x86_64(-)]) required by (sys-devel/clang-5.0.0:5/5::gentoo, ebuild scheduled for merge) (sys-devel/llvm-3.9.1-r1:0/3.9.1::gentoo, installed) pulled in by >=sys-devel/llvm-3.9.0 required by (sys-libs/libcxx-3.9.1:0/0::gentoo, installed) <sys-devel/llvm-5:=[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(-)?] (<sys-de vel/llvm-5:=[abi_x86_32(-),abi_x86_64(-)]) required by (media-libs/mesa-17.0.6:0/0::gentoo, ebuild scheduled for merge) >=sys-devel/llvm-3.9.0: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(-)?] (>= sys-devel/llvm-3.9.0:0[abi_x86_32(-),abi_x86_64(-)]) required by (media-libs/mesa-17.0.6:0/0::gentoo, ebuild scheduled for merge) >=sys-devel/llvm-3.6.0: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(-)?] (>= sys-devel/llvm-3.6.0:0[abi_x86_32(-),abi_x86_64(-)]) required by (media-libs/mesa-17.0.6:0/0::gentoo, ebuild scheduled for merge) ~sys-devel/llvm-3.9.1[clang(-),debug=,python?,static-analyzer?,llvm_targets_AArch64?,llvm_targets_AMDGPU?,llvm_targets_ARM?,llvm_targets_BPF?,llvm_targets_Hexagon?,llvm_targets_Mips?,llvm_ targets_MSP430?,llvm_targets_NVPTX?,llvm_targets_PowerPC?,llvm_targets_Sparc?,llvm_targets_SystemZ?,llvm_targets_X86?,llvm_targets_XCore?,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(-)?] (~sys-devel/llvm-3.9.1[clang(-),-debug,static-analyzer,llvm_targets_AMDGPU,llvm_target s_BPF,llvm_targets_NVPTX,llvm_targets_X86,abi_x86_32(-),abi_x86_64(-)]) required by (sys-devel/clang-3.9.1-r100:0/3.9.1::gentoo, installed)
This bug can be closed, I guess :)