adding packages with licenses some users may not want (e.g. custom libpng license, LGPL license for Cairo)
It’s a significant number of JLLs that are added.
graphviz, pango, cairo, etc.
Proposal
Some users don't actually need pprof_jll as a dependency (for example, at RAI). The parts of PProf.jl that we do need, are the parts that convert a profile into the pprof protobuf format. The pprof_jll is there for users to be able to visualize the profiles. We only use PProf for generating protos, as part of https://github.com/JuliaPerf/PerformanceProfilingHttpEndpoints.jl.
What this suggests to me is that probably we should split the PProf package in two (in the same repo):
PProf.jl (Visualization + generating profiles), and
PProfProducer, or PProfConverter, or PProfCore, or something like that, which is a package that just provides the profile => pprof.pb.gz conversion functionality.
Then RAI could depend only on the latter, and thus we wouldn't depend on graphviz_jll.
Problem
pprof_jll
now depends onGraphviz_jll
since https://github.com/JuliaPackaging/Yggdrasil/pull/5652.Proposal
Some users don't actually need
pprof_jll
as a dependency (for example, at RAI). The parts of PProf.jl that we do need, are the parts that convert a profile into the pprof protobuf format. Thepprof_jll
is there for users to be able to visualize the profiles. We only use PProf for generating protos, as part of https://github.com/JuliaPerf/PerformanceProfilingHttpEndpoints.jl.What this suggests to me is that probably we should split the PProf package in two (in the same repo):
PProf.jl
(Visualization + generating profiles), andPProfProducer
, orPProfConverter
, orPProfCore
, or something like that, which is a package that just provides theprofile => pprof.pb.gz
conversion functionality.Then RAI could depend only on the latter, and thus we wouldn't depend on
graphviz_jll
.