commit: de952745c916c1b1b5bd95346c886ed42eba306f Author: Joonas Niilola <juippis <AT> gentoo <DOT> org> AuthorDate: Mon Sep 9 11:26:25 2024 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Mon Sep 9 11:28:34 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de952745
www-client/firefox: move installing gnome search provider files - Introduce new "gnome-shell" use flag to install search provider files for Gnome. It requires adding prefs and I'm not confident it's not going to break when using other DEs/WMs. "gnome-shell" use flag is default-enabled in Gnome profiles, so it should integrate neatly when using Gnome profile. Closes: https://bugs.gentoo.org/939196 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> www-client/firefox/firefox-128.2.0.ebuild | 32 ++++++++++++++++++++++--------- www-client/firefox/firefox-130.0.ebuild | 32 ++++++++++++++++++++++--------- www-client/firefox/metadata.xml | 1 + 3 files changed, 47 insertions(+), 18 deletions(-) diff --git a/www-client/firefox/firefox-128.2.0.ebuild b/www-client/firefox/firefox-128.2.0.ebuild index a6327fea1b9c..1abb459187c9 100644 --- a/www-client/firefox/firefox-128.2.0.ebuild +++ b/www-client/firefox/firefox-128.2.0.ebuild @@ -67,7 +67,7 @@ IUSE+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +syste IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" # Firefox-only IUSE -IUSE+=" +gmp-autoupdate" +IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) @@ -1261,16 +1261,30 @@ src_install() { rm "${WORKDIR}/${PN}.desktop-template" || die - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed search-provider file." + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed search-provider file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi # Install wrapper script [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" diff --git a/www-client/firefox/firefox-130.0.ebuild b/www-client/firefox/firefox-130.0.ebuild index 52a69fea3f84..1931b3127270 100644 --- a/www-client/firefox/firefox-130.0.ebuild +++ b/www-client/firefox/firefox-130.0.ebuild @@ -68,7 +68,7 @@ IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +te IUSE+=" wayland wifi +X" # Firefox-only IUSE -IUSE+=" +gmp-autoupdate" +IUSE+=" +gmp-autoupdate gnome-shell" REQUIRED_USE="|| ( X wayland ) debug? ( !system-av1 ) @@ -1272,16 +1272,30 @@ src_install() { rm "${WORKDIR}/${PN}.desktop-template" || die - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed search-provider file." + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi # Install wrapper script [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml index b0a1758bd35a..2e477393e06d 100644 --- a/www-client/firefox/metadata.xml +++ b/www-client/firefox/metadata.xml @@ -11,6 +11,7 @@ <flag name="geckodriver">Enable WebDriver support</flag> <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profiles</flag> + <flag name="gnome-shell">Integrate with gnome-base/gnome-shell search</flag> <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag> <flag name="jumbo-build">Enable unified build - combines source files to speed up build process, but requires more memory</flag> <flag name="libproxy">Enable libproxy support</flag>
