diff options
| author | ivan-boikov <ik.boikov.public@protonmail.com> | 2024-06-07 22:19:52 +0200 |
|---|---|---|
| committer | ivan-boikov <ik.boikov.public@protonmail.com> | 2024-06-07 22:19:52 +0200 |
| commit | cd9b8b1438cfdf759053ea5500f9afeff785846a (patch) | |
| tree | 24dabd09c17d0492f60fd622db29f63202b3b64b /www-misc/arkenfox/arkenfox-126.ebuild | |
| parent | 39f06deb34dfa45a7d284f82735d9bdebbe0db6f (diff) | |
Arkenfox 126
Diffstat (limited to 'www-misc/arkenfox/arkenfox-126.ebuild')
| -rw-r--r-- | www-misc/arkenfox/arkenfox-126.ebuild | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/www-misc/arkenfox/arkenfox-126.ebuild b/www-misc/arkenfox/arkenfox-126.ebuild new file mode 100644 index 0000000..be38c6a --- /dev/null +++ b/www-misc/arkenfox/arkenfox-126.ebuild @@ -0,0 +1,67 @@ +# Copyright 2024 Ivan Boikov +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit savedconfig + +DESCRIPTION="Firefox privacy, security and anti-tracking: a comprehensive user.js template for configuration and hardening" +HOMEPAGE="https://github.com/arkenfox/user.js" +VER="126.0" +SRC_URI="https://github.com/arkenfox/user.js/archive/refs/tags/${VER}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+savedconfig" + +RDEPEND=" +" +DEPEND="${RDEPEND}" +BDEPEND="" + +S="${WORKDIR}" + +sanitize() { + # firefox is restrictive about the config content, so only leave the bare minimum + # arkenfox's updating script does a similar thing + cat "$1" | grep "user_pref" | grep -v "// user_pref" | sed "s/^user_pref/pref/g" +} + +src_prepare() { + default + + tar -xf "${DISTDIR}/${VER}.tar.gz" + + restore_config user-overrides.js + if [ ! -f "user-overrides.js" ]; then + echo '// user_pref("parameter", "value")' > "user-overrides.js" + fi +} + +src_compile() { + echo "// IMPORTANT: Start your code on the 2nd line" > "user.js-${VER}/arkenfox.cfg" + sanitize "user.js-${VER}/user.js" >> "user.js-${VER}/arkenfox.cfg" + sanitize "user-overrides.js" >> "user.js-${VER}/arkenfox.cfg" +} + +src_install() { + # https://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfig + dodir "/etc/firefox/defaults/pref" + cat >> "${D}/etc/firefox/defaults/pref/autoconfig.js" << EOF +pref("general.config.filename", "arkenfox.cfg"); +pref("general.config.obscure_value", 0); +EOF + + # it appears we can only install configs inside the install directory + if [ -d "/opt/firefox" ]; then # "firefox-bin" in installed + dodir "/opt/firefox" + cp "user.js-${VER}/arkenfox.cfg" "${D}/opt/firefox/" + fi + if [ -d "/usr/lib/firefox" ]; then # "firefox" in installed + dodir "/usr/lib/firefox" + cp "user.js-${VER}/arkenfox.cfg" "${D}/usr/lib/firefox/" + fi + + save_config user-overrides.js +} |
