Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 637576 - www-client/firefox-57 should not depend on clang/llvm
Summary: www-client/firefox-57 should not depend on clang/llvm
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 3 votes (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-15 13:29 UTC by Amit Prakash Ambasta
Modified: 2019-01-13 03:08 UTC (History)
16 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Amit Prakash Ambasta 2017-11-15 13:29:35 UTC
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.
Comment 1 Lee Watson 2017-11-15 14:39:05 UTC
(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}"
Comment 2 Lee Watson 2017-11-15 17:35:21 UTC
(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]
Comment 3 Ian Stakenvicius (RETIRED) gentoo-dev 2017-11-15 18:14:19 UTC
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.
Comment 4 Lee Watson 2017-11-15 18:33:05 UTC
(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.
Comment 5 Oleh 2017-11-15 19:31:44 UTC
relaxing clang/llvm version deps would be desired too (if works) that's besides making stylo optional.
Comment 6 Oleh 2017-11-16 06:53:14 UTC
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.
Comment 7 Jory A. Pratt gentoo-dev 2017-11-16 13:55:30 UTC
(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.
Comment 8 Lee Watson 2017-11-16 15:24:38 UTC
(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?
Comment 9 Ian Stakenvicius (RETIRED) gentoo-dev 2017-11-16 15:44:16 UTC
(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).
Comment 10 Lee Watson 2017-11-16 15:47:47 UTC
(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?
Comment 11 ozhdfw 2017-11-17 00:54:29 UTC
I trashed my system trying to sort out the firefox 57 dependency conflicts.  Good times ahead...
Comment 12 ge1ger 2017-11-17 01:47:50 UTC
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)
Comment 13 tt_1 2019-01-12 22:23:16 UTC
This bug can be closed, I guess :)