From 2fe2022182d1e09e9b47595d9cad121fee8fb70e Mon Sep 17 00:00:00 2001 From: Keith Smith Date: Tue, 15 Sep 2026 21:14:29 -0600 Subject: [PATCH] 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 --- docs/BUILDING.md | 10 +++++----- docs/PROGRESS.md | 10 ++++++++++ packaging/linux/build-deb.sh | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 87f31e1..3b00f2f 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -17,7 +17,7 @@ sudo apt update sudo apt install -y \ build-essential cmake ninja-build git pkg-config \ 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 --build build @@ -29,11 +29,11 @@ cmake --build build ```bash xcode-select --install 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 \ -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 open build/orbithub.app ``` @@ -56,7 +56,7 @@ Install dependencies via vcpkg: ```powershell git clone https://github.com/microsoft/vcpkg C:\dev\vcpkg 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: @@ -75,7 +75,7 @@ Run (ensures DLL paths from vcpkg are present): 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 diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index b5c6c0b..19866fb 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -199,6 +199,16 @@ follow-up tracking): is the least exercised/confirmed of the three filters against a real server in this pass (most real-world Tight traffic uses Copy or 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 `Scale to Fit`/`Actual Size` toggle changes how that fixed resolution is displayed locally, not what resolution is requested from the guest -- diff --git a/packaging/linux/build-deb.sh b/packaging/linux/build-deb.sh index a582483..b604f21 100755 --- a/packaging/linux/build-deb.sh +++ b/packaging/linux/build-deb.sh @@ -39,7 +39,7 @@ Section: net Priority: optional Architecture: ${ARCH} Maintainer: OrbitHub Maintainers -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 OrbitHub is a native desktop application for managing connection profiles and opening SSH and RDP sessions in a tabbed interface.