vscodium/docs/howto-build.md
2024-08-29 15:25:27 +02:00

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)
  • snapcraft

MacOS

see the common dependencies

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 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..., open vscode 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