# Copyright 2006-2024 Redcore Linux Project # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit desktop pax-utils readme.gentoo-r1 xdg-utils DESCRIPTION="Modifications to Chromium for removing Google integration and enhancing privacy" HOMEPAGE="https://www.chromium.org/Home https://github.com/ungoogled-software/ungoogled-chromium" SRC_URI="http://mirrors.redcorelinux.org/redcorelinux/amd64/distfiles/${PN}_${PV}-1_linux.tar.xz" RESTRICT="binchecks mirror strip" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64" IUSE="qt5 qt6 +suid +widevine" CDEPEND=" app-accessibility/at-spi2-core dev-libs/expat dev-libs/glib:2 dev-libs/libxslt dev-libs/nspr >=dev-libs/icu-71.1:= >=dev-libs/libxml2-2.9.4-r3[icu] >=dev-libs/nss-3.26 media-libs/fontconfig media-libs/freetype media-libs/libjpeg-turbo media-libs/libpng media-libs/libpulse media-libs/libva media-libs/lcms media-libs/flac >=media-libs/alsa-lib-1.0.19 >=media-libs/libwebp-0.4.0 >=net-print/cups-1.3.11 sys-apps/dbus sys-apps/pciutils sys-libs/zlib[minizip] x11-libs/cairo x11-libs/pango x11-libs/gtk+:3[X] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXcursor x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrandr x11-libs/libXrender x11-libs/libXtst x11-libs/libxcb >=x11-libs/libXi-1.6.0 virtual/udev qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5[X] dev-qt/qtwidgets:5 ) qt6? ( dev-qt/qtbase:6[gui,widgets] ) widevine? ( www-plugins/chrome-binary-plugins ) " RDEPEND="${CDEPEND} x11-misc/xdg-utils virtual/opengl virtual/ttf-fonts !www-client/chromium" DISABLE_AUTOFORMATTING="yes" DOC_CONTENTS=" Some web pages may require additional fonts to display properly. Try installing some of the following packages if some characters are not displayed properly: - media-fonts/arphicfonts - media-fonts/droid - media-fonts/ipamonafont - media-fonts/noto - media-fonts/noto-emoji - media-fonts/ja-ipafonts - media-fonts/takao-fonts - media-fonts/wqy-microhei - media-fonts/wqy-zenhei To fix broken icons on the Downloads page, you should install an icon theme that covers the appropriate MIME types, and configure this as your GTK+ icon theme. For native file dialogs in KDE, install kde-apps/kdialog." QA_PREBUILT="*" S="${WORKDIR}/${PN}_${PV}-1_linux" src_install() { local CHROMIUM_HOME="/opt/chromium-browser" dodir "${CHROMIUM_HOME}" exeinto "${CHROMIUM_HOME}" for i in chrome chrome_crashpad_handler chromedriver chrome_sandbox chrome-wrapper xdg-mime xdg-settings; do doexe $i || die done doexe "${FILESDIR}"/chromium-launcher.sh insinto "${CHROMIUM_HOME}" for i in *.bin *.pak *.so *.so.1 icudtl.dat; do doins $i || die done doins -r locales doins -r resources doins vk_swiftshader_icd.json dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium dodir /etc/chromium insinto /etc/chromium newins "${FILESDIR}"/chromium.default default if ! use qt5; then rm "${ED}"/"${CHROMIUM_HOME}"/libqt5_shim.so || die else fperms 0755 "${CHROMIUM_HOME}"/libqt5_shim.so || die fi if ! use qt6; then rm "${ED}"/"${CHROMIUM_HOME}"/libqt6_shim.so || die else fperms 0755 "${CHROMIUM_HOME}"/libqt6_shim.so || die fi if use widevine; then dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm "${CHROMIUM_HOME}"/WidevineCdm fi pax-mark m "${CHROMIUM_HOME}"/chrome use suid && fperms 4711 "${CHROMIUM_HOME}"/chrome_sandbox newicon -s 48 product_logo_48.png chromium-browser.png local mime_types="text/html;text/xml;application/xhtml+xml;" mime_types+="x-scheme-handler/http;x-scheme-handler/https;" mime_types+="x-scheme-handler/ftp;" mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" make_desktop_entry \ chromium-browser \ "Chromium Browser (unGoogled)" \ chromium-browser \ "Network;WebBrowser" \ "MimeType=${mime_types}\nStartupWMClass=chromium-browser" sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die dodir /usr/share/gnome-control-center/default-apps insinto /usr/share/gnome-control-center/default-apps doins "${FILESDIR}"/chromium-browser.xml readme.gentoo_create_doc } pkg_postrm() { xdg_icon_cache_update xdg_desktop_database_update } pkg_postinst() { elog "VA-API is disabled by default at runtime. You have to enable it" elog "by adding --enable-features=VaapiVideoDecoder and " elog "--disable-features=UseChromeOSDirectVideoDecoder to CHROMIUM_FLAGS" elog "in /etc/chromium/default." xdg_icon_cache_update xdg_desktop_database_update readme.gentoo_print_elog }