x11-misc/virtualgl-2.6.4-r1 update adds non-optional virtual/opencl dependency. And virtual/opencl brings dev-libs/ocl-icd which adds bunch of unwanted stuff to the system. And looks like ruby is used there for docs. Most users don't need that. x11-misc/virtualgl-2.6.1 doesn't have such issue. As a result following packages going to be installed: ``` [ebuild N ] dev-util/opencl-headers-2020.03.13-r1::gentoo 48 KiB [ebuild N ] app-eselect/eselect-ruby-20190121::gentoo 2 KiB [ebuild N ] app-text/asciidoc-8.6.10_p20181016-r1::gentoo USE="-examples -graphviz -highlight -test" PYTHON_SINGLE_TARGET="python3_7 (-pypy3) -python3_6" 0 KiB [ebuild N ] dev-util/colm-0.13.0.5::gentoo 719 KiB [ebuild N ] dev-util/ragel-7.0.0.10-r2::gentoo USE="-vim-syntax" 762 KiB [ebuild N ] dev-lang/ruby-2.5.8:2.5::gentoo USE="berkdb gdbm rdoc ssl -debug -doc -examples -ipv6 -jemalloc -libressl -rubytests -socks5 -static-libs -tk -xemacs" 11034 KiB [ebuild N ] dev-ruby/rubygems-2.7.10::gentoo USE="-server -test" RUBY_TARGETS="ruby25 (-ruby24)" 844 KiB [ebuild N ] virtual/rubygems-15::gentoo RUBY_TARGETS="ruby25 (-ruby24) (-ruby26)" 0 KiB [ebuild N ] dev-ruby/rake-12.3.3::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26)" 120 KiB [ebuild N ] dev-ruby/json-2.3.0:2::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26) (-ruby27)" 112 KiB [ebuild N ] dev-ruby/xmlrpc-0.3.0::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26) (-ruby27)" 34 KiB [ebuild N ] dev-ruby/power_assert-1.1.5::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26) (-ruby27)" 17 KiB [ebuild N ] dev-ruby/did_you_mean-1.2.1:2.5::gentoo USE="-test" RUBY_TARGETS="ruby25" 21 KiB [ebuild N ] dev-ruby/test-unit-3.3.3:2::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26)" 130 KiB [ebuild N ] dev-ruby/net-telnet-0.1.1-r1:1::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24)" 13 KiB [ebuild N ] dev-ruby/minitest-5.11.3:5::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26)" 78 KiB [ebuild N ] dev-ruby/kpeg-1.1.0-r1:1::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26) (-ruby27)" 57 KiB [ebuild N ] virtual/ruby-ssl-11::gentoo RUBY_TARGETS="ruby25 (-ruby24) (-ruby26) (-ruby27)" 0 KiB [ebuild N ] dev-ruby/racc-1.4.14::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26)" 114 KiB [ebuild N ] dev-ruby/rdoc-6.1.2::gentoo USE="-doc -test" RUBY_TARGETS="ruby25 (-ruby24) (-ruby26)" 652 KiB [ebuild N ] dev-libs/ocl-icd-2.2.12-r3::gentoo USE="khronos-headers" ABI_X86="(64) -32 (-x32)" 79 KiB ```
opencl is needed by upstream as otherwise some apps will break when running under optirun If you think opencl shouldn't pull ruby deps, open a bug for that one, but wrongly skipping opencl dep leading to semibroken setup is not the right way to go
I've figured out wha's happening. There are two repos on github that provides ocl-icd. First one from KhronosGroup https://github.com/KhronosGroup/OpenCL-ICD-Loader and the second one is https://github.com/OCL-dev/ocl-icd. So in gentoo for some reason second one is used and it uses ruby. But according to this: https://github.com/OCL-dev/ocl-icd/issues/11 I don't see any reasons why to use fork instead of "original".
For that I would open a new bug report asking about why using one fork and not the other... I guess their maintainers will know better :/ Thanks