Windows packaging for ungoogled-chromium
BSD-3-CLAUSE License
Windows packaging for ungoogled-chromium.
Download binaries from the Contributor Binaries website.
Or install using winget install --id=eloston.ungoogled-chromium -e
.
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.
Google only supports Windows 10 x64 or newer. These instructions are tested on Windows 10 Pro x64.
NOTE: The default configuration will build 64-bit binaries for maximum security (TODO: Link some explanation). This can be changed to 32-bit by setting target_cpu
to "x86"
in flags.windows.gn
.
IMPORTANT: Please setup only what is referenced below. Do NOT setup other Chromium compilation tools like depot_tools
, since we have a custom build process which avoids using Google's pre-built binaries.
Follow the "Visual Studio" section of the official Windows build instructions.
vs2019_install = DRIVE:\path\to\Microsoft Visual Studio\2019\Community
(replace 2019
and Community
with your installed versions)WINDOWSSDKDIR = DRIVE:\path\to\Windows Kits\10
GYP_MSVS_VERSION = 2019
(replace 2019 with your installed version's year)IMPORTANT: Currently, the MAX_PATH
path length restriction (which is 260 characters by default) must be lifted in for our Python build scripts. This can be lifted in Windows 10 (v1607 or newer) with the official installer for Python 3.6 or newer (you will see a button at the end of installation to do this). See Issue #345 for other methods for older Windows versions.
MAX_PATH
length restriction.PATH
does not contain the python3
wrapper shipped by Windows, as it will only prompt you to install Python from the Microsoft Store and exit. See this question on stackoverflow.com
MAX_PATH
length restriction, either by clicking the button at the end of the Python installer or by following these instructions.pip install
:
Run in Developer Command Prompt for VS
(as administrator):
git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-windows.git
cd ungoogled-chromium-windows
# Replace TAG_OR_BRANCH_HERE with a tag or branch name
git checkout --recurse-submodules TAG_OR_BRANCH_HERE
python3 build.py
python3 package.py
A zip archive and an installer will be created under build
.
NOTE: If the build fails, you must take additional steps before re-running the build:
build.py
), it can be fixed by removing build\download_cache
and re-running the build instructions.build.py
, it can be fixed by removing everything under build
other than build\download_cache
and re-running the build instructions. This will clear out all the code used by the build, and any files generated by the build.An efficient way to delete large amounts of files is using Remove-Item PATH -Recurse -Force
. Be careful however, files deleted by that command will be permanently lost.
pacman -S quilt python3 vim tar dos2unix
# By default, there doesn't seem to be a vi command for less, quilt edit, etc.
ln -s /usr/bin/vim /usr/bin/vi
Developer Command Prompt for VS
and MSYS2 MSYS
shell and navigate to source folder
Developer Command Prompt for VS
cd c:\path\to\repo\ungoogled-chromium-windows
MSYS2 MSYS
cd /path/to/repo/ungoogled-chromium-windows
/<drive letter>/<path with forward slashes>
Developer Command Prompt for VS
mkdir "build\download_cache"
python3 ungoogled-chromium\utils\downloads.py retrieve -i downloads.ini -c build\download_cache
Developer Command Prompt for VS
python3 ungoogled-chromium\utils\clone.py -o build\src
Developer Command Prompt for VS
python3 ungoogled-chromium\devutils\update_lists.py -t build\src --domain-regex ungoogled-chromium\domain_regex.list
Developer Command Prompt for VS
python3 ungoogled-chromium\utils\downloads.py unpack -i downloads.ini -c build\download_cache build\src
Developer Command Prompt for VS
python3 ungoogled-chromium\utils\patches.py apply --patch-bin build\src\third_party\git\usr\bin\patch.exe build\src ungoogled-chromium\patches
MSYS2 MSYS
source devutils/set_quilt_vars.sh
cd build/src
grep -r ../../patches/ -e "^+++" | awk '{print substr($2,3)}' | xargs dos2unix
cd ../..
./devutils/check_patch_files.sh
build/src/DEPS
and adapt downloads.ini
accordinglysrc
submodule in third_party/microsoft_dxheaders
(e.g. using GitHub https://github.com/chromium/chromium/tree/127.0.6533.72/third_party/microsoft_dxheaders) and adapt downloads.ini
accordinglythird_party/rust/windows_x86_64_msvc/
) and adapt downloads.ini
and patches/ungoogled-chromium/windows\windows-fix-building-with-rust.patch
accordinglyRUST_REVISION
constant in file tools/rust/update_rust.py
in build root.
ab71ee7a9214c2793108a41efb065aa77aeb7326
https://github.com/rust-lang/rust/commit/ab71ee7a9214c2793108a41efb065aa77aeb7326
2024-04-12
downloads.ini
accordinglyrustc\bin\rustc.exe -V
to get rust version stringbuild.py
accordinglypatches\ungoogled-chromium\windows\windows-fix-building-with-rust.patch
accordinglySee LICENSE