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

T-Daemon

Aspiring Daemon

Reaction score: 329
Messages: 800

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: 457

Zirias

Aspiring Daemon

Reaction score: 382
Messages: 860

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: 518
Messages: 1,446

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: 382
Messages: 860

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: 457

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