because nobody should have to see rust on their systems :)
Go to file
2021-09-23 10:08:58 -04:00
package.accept_keywords first commit 2021-09-23 09:30:10 -04:00
package.mask first commit 2021-09-23 09:30:10 -04:00
package.use first commit 2021-09-23 09:30:10 -04:00
FAQ.md Add 'FAQ.md' 2021-09-23 10:08:58 -04:00
README.md Update 'README.md' 2021-09-23 10:08:02 -04:00

Rust Prevention and Removal (Gentoo)

(not affiliated with the actual evapo-rust product)

This repo contains mask, use and accept files for portage to keep Rust away from your systems.

I don't like how people are forcing this language and I certainly don't like the so called "people" that use it. No I will not elaborate any further.

The files are pretty self explanatory by themselves but I'll go over some specifics:

polkit

  • critical (?) system component using spidermonkey as its js engine
    • yes it has a javascript engine, wtf right :/
  • spidermonkey is a fuckhuge dependency for something like this
  • spidermonkey versions past 78 all require rust to build
    • it is a mozilla project after all
  • polkit, which depends on spidermonkey, also depends on rust by proxy

how to mitigate

  • compile polkit with duktape instead of spidermonkey for its js engine
    • duktape is much smaller than spidermonkey
  • polkit w/ duktape hasn't been mainstreamed yet, but patches are available
    • add the miramir overlay and then enable the duktape use flag for polkit
    • I might host the duktape patched ebuilds myself at some point

librsvg

  • gnome project (god what the fuck)
  • head dev = rustification freak
  • used by literally anything that requires svg support
    • seriously, try masking this package outright and see how many packages really depend on this (spoiler: a fucking insane amount)
  • newer versions are fully made in rust

how to mitigate

  • 2.40 is the last version before rustification
  • still hosted at ::gentoo
    • who knows how long that will last...
    • will probably have to host the ebuild for this at some point
  • mask librsvg versions later than 2.40 (or rather anything after 2.41)
  • explicitly enable version 2.40