Document and package the new libjpeg-turbo dependency

Tight's JPEG sub-mode (previous commit) links libjpeg-turbo directly.
Adds it to docs/BUILDING.md for all three platforms (apt
libjpeg-turbo8-dev, brew jpeg-turbo, vcpkg libjpeg-turbo:x64-windows)
and to the .deb package's Depends: line (libjpeg-turbo8). No changes
needed for Windows (the Inno Setup script already wildcards *.dll) or
macOS (macdeployqt bundles non-system dylibs automatically). Left the
Flatpak manifests unchanged on the assumption that the KDE runtime
already bundles libjpeg-turbo as a standard Qt JPEG-plugin dependency
-- flagged in PROGRESS.md as worth confirming next time a Flatpak
build actually runs, since that wasn't independently verified here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 21:14:29 -06:00
co-authored by Claude Sonnet 5
parent 4fca8fce41
commit 2fe2022182
3 changed files with 16 additions and 6 deletions
+5 -5
View File
@@ -17,7 +17,7 @@ sudo apt update
sudo apt install -y \ sudo apt install -y \
build-essential cmake ninja-build git pkg-config \ build-essential cmake ninja-build git pkg-config \
qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools \ qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools \
openssh-client libssl-dev zlib1g-dev openssh-client libssl-dev zlib1g-dev libjpeg-turbo8-dev
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build cmake --build build
@@ -29,11 +29,11 @@ cmake --build build
```bash ```bash
xcode-select --install xcode-select --install
brew update brew update
brew install cmake ninja pkg-config qt@6 openssh openssl@3 brew install cmake ninja pkg-config qt@6 openssh openssl@3 jpeg-turbo
cmake -S . -B build -G Ninja \ cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt@6);$(brew --prefix openssl@3)" -DCMAKE_PREFIX_PATH="$(brew --prefix qt@6);$(brew --prefix openssl@3);$(brew --prefix jpeg-turbo)"
cmake --build build cmake --build build
open build/orbithub.app open build/orbithub.app
``` ```
@@ -56,7 +56,7 @@ Install dependencies via vcpkg:
```powershell ```powershell
git clone https://github.com/microsoft/vcpkg C:\dev\vcpkg git clone https://github.com/microsoft/vcpkg C:\dev\vcpkg
C:\dev\vcpkg\bootstrap-vcpkg.bat C:\dev\vcpkg\bootstrap-vcpkg.bat
C:\dev\vcpkg\vcpkg.exe install qtbase:x64-windows openssl:x64-windows zlib:x64-windows C:\dev\vcpkg\vcpkg.exe install qtbase:x64-windows openssl:x64-windows zlib:x64-windows libjpeg-turbo:x64-windows
``` ```
Open `x64 Native Tools Command Prompt for VS 2022` (or Developer PowerShell), then build: Open `x64 Native Tools Command Prompt for VS 2022` (or Developer PowerShell), then build:
@@ -75,7 +75,7 @@ Run (ensures DLL paths from vcpkg are present):
C:\dev\vcpkg\vcpkg.exe env --triplet x64-windows -- .\build\orbithub.exe C:\dev\vcpkg\vcpkg.exe env --triplet x64-windows -- .\build\orbithub.exe
``` ```
If you already have `Qt 6` from the Qt installer and do not want vcpkg Qt, you can point CMake at that Qt install with `-DCMAKE_PREFIX_PATH=...`, but you still need compatible `OpenSSL` and `zlib` development libraries for the embedded FreeRDP build. If you already have `Qt 6` from the Qt installer and do not want vcpkg Qt, you can point CMake at that Qt install with `-DCMAKE_PREFIX_PATH=...`, but you still need compatible `OpenSSL`, `zlib`, and `libjpeg-turbo` development libraries (the first two for the embedded FreeRDP build; `libjpeg-turbo` for VNC's Tight encoding's JPEG sub-mode).
## Notes ## Notes
+10
View File
@@ -199,6 +199,16 @@ follow-up tracking):
is the least exercised/confirmed of the three filters against a real is the least exercised/confirmed of the three filters against a real
server in this pass (most real-world Tight traffic uses Copy or server in this pass (most real-world Tight traffic uses Copy or
Palette) Palette)
- Packaging for the new `libjpeg-turbo` dependency: added to
`docs/BUILDING.md` (apt/brew/vcpkg) and the `.deb` control file's
`Depends:` (`libjpeg-turbo8`). The Windows Inno Setup script already
wildcards `*.dll` so no change was needed there, and macOS's
`macdeployqt`-based bundling picks up non-system dylibs automatically.
The Flatpak manifests (`packaging/flatpak/*.yml`) were left unchanged on
the assumption that `org.kde.Platform`/`Sdk` 6.11 already bundles
libjpeg-turbo (a standard Qt JPEG-plugin dependency) -- worth confirming
the next time a Flatpak build is actually run, since it wasn't
independently verified here
- No dynamic resize (connects at the server's native resolution; the - No dynamic resize (connects at the server's native resolution; the
`Scale to Fit`/`Actual Size` toggle changes how that fixed resolution is `Scale to Fit`/`Actual Size` toggle changes how that fixed resolution is
displayed locally, not what resolution is requested from the guest -- displayed locally, not what resolution is requested from the guest --
+1 -1
View File
@@ -39,7 +39,7 @@ Section: net
Priority: optional Priority: optional
Architecture: ${ARCH} Architecture: ${ARCH}
Maintainer: OrbitHub Maintainers <maintainers@orbithub.local> Maintainer: OrbitHub Maintainers <maintainers@orbithub.local>
Depends: libc6, libstdc++6, libqt6core6, libqt6gui6, libqt6widgets6, libqt6sql6, libssl3, zlib1g, openssh-client Depends: libc6, libstdc++6, libqt6core6, libqt6gui6, libqt6widgets6, libqt6sql6, libssl3, zlib1g, libjpeg-turbo8, openssh-client
Description: OrbitHub remote session manager Description: OrbitHub remote session manager
OrbitHub is a native desktop application for managing connection profiles OrbitHub is a native desktop application for managing connection profiles
and opening SSH and RDP sessions in a tabbed interface. and opening SSH and RDP sessions in a tabbed interface.