RosBE is a lightweight Rust bootstrapper designed to simplify the setup of a ReactOS build environment on Windows. It automates the installation and configuration of essential development tools, enabling developers to focus on building and testing ReactOS without manual toolchain management.
Key Features:
Manages precompiled toolchains including LLVM-MinGW (Clang), MinGW-GCC, CMake, Ninja, WinFlexBison, and QEMU.
Provides commands like rosbe install, rosbe enable, rosbe update, and rosbe remove to streamline the setup and maintenance process.
Verifies toolchain integrity using SHA256 checksums before activation.
Supports both i686 and x86_64 Windows targets for cross-compilation.
Audience & Benefit:
Ideal for developers working on ReactOS projects, RosBE saves time by automating the installation of a complete build environment. It ensures consistent toolchain versions and simplifies updates, making it easier to contribute to or experiment with ReactOS development. Installable via winget, RosBE is designed for Windows users seeking a reliable and efficient way to set up their ReactOS build setup.
README
ReactOS RosBE
Unofficial ReactOS build environment for Windows, Linux, and macOS.
Windows: winget installs the small rosbe bootstrapper, then rosbe install downloads and verifies the toolchain bundle.
Linux / macOS: a single bootstrap script auto-detects the host OS and architecture and installs the toolchain tree under ~/.local/opt/rosbe.
Release tags use daily snapshot versions like v20260424.
The Docker bootstrap wires ~/.bashrc / ~/.zshrc so new terminals get the
rosbe command; exec $SHELL reloads the current terminal.
Linux or macOS (host install):
curl -fsSL https://raw.githubusercontent.com/ahmedarif193/winget-rosbe/main/rosbe-unix-bootstrap.sh | sh
The bootstrap detects:
Linux x86_64 / aarch64 — installs LLVM-MinGW plus the ct-ng MinGW-GCC toolchains for i686 and x86_64 Windows targets.
macOS Intel / Apple Silicon — installs the LLVM-MinGW universal binary (Clang + lld + libc++). The ct-ng GCC bundle has no upstream macOS host build; if you need GCC, run brew install mingw-w64 (separate version, MSVCRT default).
The script always replaces any previous tree at ~/.local/opt/rosbe with a
fresh toolchain. On macOS, com.apple.quarantine is cleared after extraction
as a defensive measure for offline (Safari-downloaded) installs — the typical
flow doesn't set the xattr in the first place.
On Windows, rosbe install verifies the downloaded bundle against
SHA256SUMS.txt and the release's GitHub artifact attestation before
activating it under %LOCALAPPDATA%\RosBE.
Useful Windows commands:
rosbe status
rosbe update
rosbe disable
rosbe remove
Useful Linux Docker commands:
rosbe enable
rosbe status
rosbe update
rosbe disable
For the Linux / macOS host install, run ~/.local/bin/rosbe-shell or source
~/.local/opt/rosbe/rosbe-env.sh before configuring ReactOS. The host
bootstrap installs only the toolchains; use your distro / Homebrew packages
for CMake, Ninja, Flex, and Bison.
What you get
Component
Version
LLVM-MinGW (Clang + lld + libc++)
21.1.7 (20251202)
MinGW-GCC (crosstool-NG Canadian-cross, UCRT)
15.2.0
CMake
3.31.6
Ninja
1.12.1
Flex + Bison (winflexbison)
2.6.4 / 3.8.2
QEMU (Windows bundle)
11.0.0
Targets: i686 and x86_64 (Windows UCRT).
Repository layout
bootstrapper/: Rust source for the Windows rosbe.exe bootstrapper.
scripts/package.sh: produces the Windows toolchain ZIP, rosbe.exe, the
winget bootstrapper ZIP, and SHA256SUMS.txt.
winget/: local manifest templates used when publishing to winget-pkgs.