macOS packaging for ungoogled-chromium
macOS packaging for ungoogled-chromium.
Download binaries from the Contributor Binaries website.
Source Code: It is recommended to use a tag via git checkout
(see building instructions below). You may also use master
, but it is for development and may not be stable.
.dmg
package)brew install ninja
greadlink
in packaging script): brew install coreutils
brew install readline
brew install xz zlib
brew unlink binutils
brew install node
First, ensure the Xcode application is open. Then, run the following:
git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-macos.git
cd ungoogled-chromium-macos
# Replace TAG_OR_BRANCH_HERE with a tag or branch name
git checkout --recurse-submodules TAG_OR_BRANCH_HERE
./build.sh
A .dmg
should appear in build/
NOTE: If the build fails, you must take additional steps before re-running the build:
build/downloads_cache
and re-running the build instructions.build/src
and re-running the build instructions.Start the process and set the environment variables
./devutils/update_patches.sh merge
bash
source devutils/set_quilt_vars.sh
Setup Chromium source
mkdir -p build/{src,download_cache}
./retrieve_and_unpack_resource.sh
Update Rust toolchain (if necessary)
RUST_VERSION
constant in file src/tools/rust/update_rust.py
in build root.
340bb19fea20fd5f9357bbfac542fad84fc7ea2b
.https://github.com/rust-lang/rust/commit/340bb19fea20fd5f9357bbfac542fad84fc7ea2b
2024-02-14
.downloads-arm64.ini
and downloads-x86_64.ini
accordingly.https://static.rust-lang.org/dist/2024-02-14/rust-nightly-aarch64-apple-darwin.tar.gz
https://static.rust-lang.org/dist/2024-02-14/rust-nightly-x86_64-apple-darwin.tar.gz
rustc/bin/rustc -V
in the extracted directory to get Rust version string.
rustc 1.78.0-nightly (a84bb95a1 2024-02-13)
.retrieve_and_unpack_resource.sh
and patches/ungoogled-chromium/macos/fix-build-with-rust.patch
accordingly.Switch to src directory
cd build/src
Use quilt
to refresh all patches: quilt push -a --refresh
Use quilt
to fix the broken patch:
quilt push -f
quilt edit ...
or quilt add ...
) or removing (quilt remove ...
) files as necessary
quilt refresh
Run ../../ungoogled-chromium/devutils/validate_config.py
Run quilt pop -a
Validate that patches are applied correctly
cd ../..
./ungoogled-chromium/devutils/validate_patches.py -l build/src -s patches/series.merged
Remove all patches introduced by ungoogled-chromium: ./devutils/update_patches.sh unmerge
Ensure patches/series is formatted correctly, e.g. blank lines
Sanity checking for consistency in series file: ./devutils/check_patch_files.sh
Use git to add changes and commit
See LICENSE