1{ callPackage }:
2let
3 src = callPackage ./src.nix { };
4in
5rec {
6
7 inherit (src) packageVersion firefox source;
8
9 extraPatches = [ "${source}/patches/pref-pane/pref-pane-small.patch" ];
10
11 extraConfigureFlags = [
12 "--with-unsigned-addon-scopes=app,system"
13 "--disable-default-browser-agent"
14 ];
15
16 extraPostPatch = ''
17 while read patch_name; do
18 echo "applying LibreWolf patch: $patch_name"
19 patch -p1 < ${source}/$patch_name
20 done <${source}/assets/patches.txt
21
22 cp -r ${source}/themes/browser .
23 cp ${source}/assets/search-config.json services/settings/dumps/main/search-config.json
24 sed -i '/MOZ_SERVICES_HEALTHREPORT/ s/True/False/' browser/moz.configure
25
26 cp ${source}/patches/pref-pane/category-librewolf.svg browser/themes/shared/preferences
27 cp ${source}/patches/pref-pane/librewolf.css browser/themes/shared/preferences
28 cp ${source}/patches/pref-pane/librewolf.inc.xhtml browser/components/preferences
29 cp ${source}/patches/pref-pane/librewolf.js browser/components/preferences
30
31 # override firefox version
32 for fn in browser/config/version.txt browser/config/version_display.txt; do
33 echo "${packageVersion}" > "$fn"
34 done
35
36 echo "patching appstrings.properties"
37 find . -path '*/appstrings.properties' -exec sed -i s/Firefox/LibreWolf/ {} \;
38
39 for fn in $(find "${source}/l10n/en-US/browser" -type f -name '*.inc.ftl'); do
40 target_fn=$(echo "$fn" | sed "s,${source}/l10n,browser/locales," | sed "s,\.inc\.ftl$,.ftl,")
41 cat "$fn" >> "$target_fn"
42 done
43 '';
44
45 extraPrefsFiles = [ "${source}/settings/librewolf.cfg" ];
46
47 extraPoliciesFiles = [ "${source}/settings/distribution/policies.json" ];
48
49 extraPassthru = {
50 librewolf = {
51 inherit src extraPatches;
52 };
53 inherit extraPrefsFiles extraPoliciesFiles;
54 };
55}