4.3 KiB
4.3 KiB
How to build VSCodium
Table of Contents
Dependencies
- node 18.15
- yarn
- jq
- git
- python3 3.11
Linux
- gcc
- g++
- make
- pkg-config
- libx11-dev
- libxkbfile-dev
- libsecret-1-dev
- libkrb5-dev
- fakeroot
- rpm
- rpmbuild
- dpkg
- imagemagick (for AppImage)
MacOS
Windows
- powershell
- sed
- 7z
- WiX Toolset
- 'Tools for Native Modules' from the official Node.js installer
Build Scripts
A build helper script can be found at build/build.sh
.
- Linux:
./build/build.sh
- MacOS:
./build/build.sh
- Windows:
powershell -ExecutionPolicy ByPass -File .\build\build.ps1
or"C:\Program Files\Git\bin\bash.exe" ./build/build.sh
Insider
The insider
version can be built with ./build/build.sh -i
on the insider
branch.
You can try the latest version with the command ./build/build.sh -il
but the patches might not be up to date.
Flags
The script build/build.sh
provides several flags:
-i
: build the Insiders version-l
: build with latest version of Visual Studio Code-o
: skip the build step-p
: generate the packages/assets/installers-s
: do not retrieve the source code of Visual Studio Code, it won't delete the existing build
Build in Docker
To build for Linux, you can alternatively build VSCodium in docker
X64
Firstly, create the container with:
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
like
docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
When inside the container, you can use the following commands to build:
cd /root/vscodium
./build/build.sh
ARM 32bits
Firstly, create the container with:
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-armhf bash
like
docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-armhf bash
When inside the container, you can use the following commands to build:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs desktop-file-utils
cd /root/vscodium
./build/build.sh
Build Snap
# for the stable version
cd ./stores/snapcraft/stable
# for the insider version
cd ./stores/snapcraft/insider
# create the snap
snapcraft --use-lxd
# verify the snap
review-tools.snap-review --allow-classic codium*.snap
Patch Update Process
Semi-Automated
- run
./build/build_<os>.sh
, if a patch is failing then, - run
./build/update_patches.sh
- when the script pauses at
Press any key when the conflict have been resolved...
, openvscode
directory in VSCodium - fix all the
*.rej
files - run
yarn watch
- run
./script/code.sh
until everything is ok - press any key to continue the script
update_patches.sh
Manual
- run
./build/build_<os>.sh
, if a patch is failing then, - open
vscode
directory in VSCodium - revert all changes
- run
git apply --reject ../patches/<name>.patch
- fix all the
*.rej
files - run
yarn watch
- run
./script/code.sh
until everything is ok - run
git diff > ../patches/<name>.patch
icons/build_icons.sh
To run icons/build_icons.sh
, you will need:
- imagemagick
- png2icns (
npm install png2icns -g
) - librsvg