1 Build
celenity edited this page 2025-02-24 00:05:07 -05:00

🔨 Build

Want to get involved?

You can build your own home-grown Phoenix with the following steps:

Instructions

1. Clone the Phoenix repo. Ex:

git clone git@codeberg.org:celenity/Phoenix.git

2. Navigate to the root of the Phoenix project. For example purposes, we'll say that I cloned the Phoenix repo to ~/Projects/Phoenix:

cd ~/Projects/phoenix

3. Ensure your build scripts are executable:

chmod +x build/build.sh build/env.sh build/gen_android.sh build/gen_archive.sh build/gen_desktop.sh build/gen_macos.sh build/gen_policies.sh

4. Specify the version of Phoenix you'd like to build by editing the value of phoenix_version at build/env.sh.

5. Run the build script!

./build/build.sh

6. Profit.

Overview

When contributing to Phoenix, you should keep the following in mind:

Policies

  • Policies that apply to both Firefox on Desktop and to Thunderbird (for Dove) should be set at build/policies/policies-core.json.

  • Policies that only apply to Firefox on Desktop, but not to Thunderbird (for Dove) should be set at build/policies/policies-phoenix.json.

Additionally:

  • Additions to our cookie blocklist should be added to build/policies/cookies-spec.json. This list should be kept at a minimum for performance reasons, prefer other tools (such as uBlock Origin), where possible.

  • Additions to our extension blocklist should be added to build/policies/blocklist-spec.json.

Preferences

  • Preferences that apply to Firefox on Android (including IronFox), Firefox on Desktop, and to Thunderbird (for Dove) should be set at build/prefs/phoenix-core.js.

  • Preferences that apply to Firefox on Desktop and to Thunderbird (for Dove), but not to Android (including IronFox), should be set at build/prefs/phoenix-desktop-common.js.

  • Preferences that only apply to Firefox on Desktop, but not to Android (including IronFox) and Thunderbird (for Dove), should be set at build/prefs/phoenix-desktop.js.

  • Preferences that only apply to Firefox on Android (including IronFox), but not to Firefox on Desktop and Thunderbird (for Dove), should be set at build/prefs/phoenix-android.js.

Additionally:

Phoenix Extended

  • Preferences that apply to Firefox on Android (including IronFox), Firefox on Desktop, and to Thunderbird (for Dove) should be set at build/prefs/extended/phoenix-extended-core.js.

  • Preferences that apply to Firefox on Desktop and to Thunderbird (for Dove), but not to Android (including IronFox), should be set at build/prefs/extended/phoenix-extended-desktop-common.js.

  • Preferences that only apply to Firefox on Desktop, but not to Android (including IronFox) and Thunderbird (for Dove), should be set at build/prefs/extended/phoenix-extended-desktop.js.

  • Preferences that only apply to Firefox on Android (including IronFox), but not to Firefox on Desktop and Thunderbird (for Dove), should be set at build/prefs/extended/phoenix-extended-android.js.

Specialized Configs

  • Preferences that apply to all specialized configs should be set at build/configs/specialized-spec.cfg.

  • Preferences that apply to the Apple Maps specialized config should be set at build/configs/apple-maps-spec.cfg.

  • Preferences that apply to the Discord specialized config should be set at build/configs/discord-spec.cfg.

  • Preferences that apply to the Element specialized config should be set at build/configs/element-spec.cfg.

  • Preferences that apply to the Google Maps specialized config should be set at build/configs/google-maps-spec.cfg.

  • Preferences that apply to the Twitter specialized config should be set at build/configs/twitter-spec.cfg.

  • Preferences that apply to the YouTube specialized config should be set at build/configs/youtube-spec.cfg.

  • Preferences to accomodate Firefox-UI-Fix should be set at configs/ui-fix.cfg.