What for www/firefox port pulls devel/llvm90 in?

T-Daemon

Aspiring Daemon

Reaction score: 305
Messages: 735

Run in the ports directory make build-depends-list, more lists in man ports(7) (run-depends-list, all-depends-list, pretty-print-run-depends-list, pretty-print-build-depends-list).
 
OP
Y

YuryG

Well-Known Member

Reaction score: 27
Messages: 445

Zirias

Aspiring Daemon

Reaction score: 357
Messages: 826

For I was searching mentioning llvm90 (or just llvm) in ports' directory, but found nothing, so I deinstalled llvm90 and it was rebuild again.
For many recurring and more complex dependency scenarios, ports don't set dependencies directly but rely un the port system's USES framework. Without looking into this particular port, llvm90 is probably pulled in by a USES=compiler with according options -- see also /usr/ports/Mk/Uses/compiler.mk.
 

shkhln

Daemon

Reaction score: 488
Messages: 1,392

And mesa requires llvm80 (although the system stable-11 has 80, and stable-12 has 90).
Base llvm has limited selection of backends:
Code:
% touch test.c
% clang90 --target=amdgcn-amd-amdhsa-opencl ./test.c -o /dev/null
% clang --target=amdgcn-amd-amdhsa-opencl ./test.c -o /dev/null
error: unable to create target: 'No available targets are compatible with triple "amdgcn-amd-amdhsa-opencl"'
1 error generated.
 

sidetone

Daemon

Reaction score: 460
Messages: 1,213

It probably only needs ELF utils from llvm90, but it's one package, so it pulls it all in and compiles it.

If there's a newer port than the package, Uses makes it build the newer port, even if there's no vulnerabilities in it.
 

Zirias

Aspiring Daemon

Reaction score: 357
Messages: 826

llvm90 is probably pulled in by a USES=compiler with according options
After having a look, it's probably a USE_GECKO (see bsd.gecko.mk). LLVM_DEFAULT is currently set to 90 in bsd.default-versions.mk, so unless you override that in your make.conf, that's the version pulled in by gecko.
 
OP
Y

YuryG

Well-Known Member

Reaction score: 27
Messages: 445

For many recurring and more complex dependency scenarios, ports don't set dependencies directly but rely un the port system's USES framework. Without looking into this particular port, llvm90 is probably pulled in by a USES=compiler with according options -- see also /usr/ports/Mk/Uses/compiler.mk.
I suppose, I found it, it is in /usr/ports/Mk/bsd.gecko.mk.
 
Top