QBS for Aurora OS

EN | RU

QBS modules, imports, profiles and scripts for cross-compiling applications for Aurora OS.

Structure

qbs-for-aurora-os/
  imports/           QBS items for CMake/DeployQt projects (Qt 6)
  system-qt/imports/ QBS items for system Qt 5.6 projects
  deps/imports/      Source build recipes (ffmpeg, libvpx, opus, etc.)
  modules/           Qt module stubs
  module-providers/  Qt module provider
  profiles/          QBS profiles and setup script
  scripts/           SDK download and sysroot fix scripts
  tools/             moc56 builder for Qt 5.6

Quick start

1. Download sysroot

./scripts/download-sdk.sh

By default, sysroots for both architectures (aarch64 + armv7hl) are kept.

Options:

  • -a aarch64|armv7hl|all -- target architecture (default: all)
  • -o DIR -- output directory
  • -v VERSION -- SDK version (default: 5.2.0.75)
  • --single-arch -- remove other architecture sysroot (saves ~1.5GB)
  • --keep-all -- keep all SDK files (compilers, Docker files)

2. Setup QBS profiles

./profiles/setup-aurora-profiles.sh

3. Build

qbs build profile:aurora-armv7hl
qbs build profile:aurora-aarch64

Cross-compilers

Arch Linux

# aarch64
sudo pacman -S aarch64-linux-gnu-gcc

# armv7hl (ARM's official toolchain)
# See pkg/ directory or use SDK compilers

SDK compilers (any distro)

Download with --keep-all flag, then:

export PATH="$SDK_ROOT/opt/cross/bin:$PATH"

Imports

CMake/DeployQt projects (imports/)

For projects that build Qt 6 from source and use CMake:

  • AuroraCMakeProject.qbs / AuroraCMakeApp.qbs / AuroraCMakeRpm.qbs
  • AuroraDeployQtProject.qbs / AuroraDeployQtApp.qbs / AuroraDeployQtRpm.qbs
  • AuroraRpmSign.qbs -- RPM signing

System Qt 5.6 projects (system-qt/imports/)

For standalone apps using Aurora's built-in Qt 5.6:

  • AuroraProject.qbs / AuroraApp.qbs / AuroraRpm.qbs
  • AuroraQmlLibrary.qbs

Requires moc56 from tools/build-moc56.sh.

License

BSD-3-Clause