diff options
| author | ivan-boikov <ik.boikov.public@protonmail.com> | 2024-05-18 19:52:53 +0200 |
|---|---|---|
| committer | ivan-boikov <ik.boikov.public@protonmail.com> | 2024-05-18 19:52:53 +0200 |
| commit | 66a0e21edbdb903eba7dcea76c1a4d1634b7ab7f (patch) | |
| tree | c234a8b71f55a3f39f3587abcafdcc6b7ccad6a2 /www-misc/arkenfox/arkenfox-122.ebuild | |
| parent | 5e29f15b7794db9cb038fc0ccfcd9a75612762d3 (diff) | |
Arkenfox user.js v122
Diffstat (limited to 'www-misc/arkenfox/arkenfox-122.ebuild')
| -rw-r--r-- | www-misc/arkenfox/arkenfox-122.ebuild | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/www-misc/arkenfox/arkenfox-122.ebuild b/www-misc/arkenfox/arkenfox-122.ebuild new file mode 100644 index 0000000..339a355 --- /dev/null +++ b/www-misc/arkenfox/arkenfox-122.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="122.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 +} |
