Skip to content

Add FreeBSD platform support#1489

Open
Luigi-Arone wants to merge 3 commits into
OpenBoard-org:masterfrom
Luigi-Arone:freebsd-support
Open

Add FreeBSD platform support#1489
Luigi-Arone wants to merge 3 commits into
OpenBoard-org:masterfrom
Luigi-Arone:freebsd-support

Conversation

@Luigi-Arone
Copy link
Copy Markdown

@Luigi-Arone Luigi-Arone commented May 12, 2026

This PR adds support for building OpenBoard on FreeBSD.

FreeBSD already has X11 and most POSIX APIs that the Linux
implementation uses, so most of the platform code can be shared.

Changes

  • src/frameworks/CMakeLists.txt and src/gui/CMakeLists.txt: compile
    UBPlatformUtils_linux.cpp and UBKeyboardPalette_linux.cpp on
    FreeBSD as well, using CMAKE_SYSTEM_NAME MATCHES "FreeBSD|Linux".

  • src/frameworks/UBPlatformUtils_linux.cpp: guard the DBus-based
    onboard keyboard integration with #ifdef Q_OS_FREEBSD, since the
    onboard daemon is not commonly available on FreeBSD.

  • src/web/UBEmbedController.cpp and
    src/podcast/UBPodcastController.cpp: add Q_OS_FREEBSD alongside
    Q_OS_LINUX in the platform ifdefs.

Context

OpenBoard is being packaged for the FreeBSD ports tree
(Bug 295104).
These upstream changes will reduce the number of FreeBSD-specific
patches the port needs to carry.

Testing

Tested on FreeBSD 15.0-CURRENT amd64 with Qt6.

FreeBSD already has X11 and most POSIX APIs that the Linux
implementation uses, so we can share most of the code:

- src/frameworks/CMakeLists.txt and src/gui/CMakeLists.txt: compile
  UBPlatformUtils_linux.cpp and UBKeyboardPalette_linux.cpp on FreeBSD
  as well.

- src/frameworks/UBPlatformUtils_linux.cpp: guard the DBus-based onboard
  keyboard integration with #ifdef Q_OS_FREEBSD, since the onboard
  daemon is not commonly available on FreeBSD.

- src/web/UBEmbedController.cpp and src/podcast/UBPodcastController.cpp:
  add Q_OS_FREEBSD alongside Q_OS_LINUX in the platform ifdefs.

Tested on FreeBSD 15.0-CURRENT amd64 with Qt6 5.15.
@VVD
Copy link
Copy Markdown

VVD commented May 13, 2026

Maybe rename src/frameworks/UBPlatformUtils_linux.cpp to src/frameworks/UBPlatformUtils_posix.cpp or to src/frameworks/UBPlatformUtils_unix.cpp.

@VVD
Copy link
Copy Markdown

VVD commented May 13, 2026

Tested on FreeBSD 15.0-CURRENT amd64 with Qt6 5.15.

Qt6 6.10.
Also tested on 14.4 amd64.

freebsd-git pushed a commit to freebsd/freebsd-ports that referenced this pull request May 13, 2026
OpenBoard is an open source cross-platform interactive whiteboard
application designed primarily for use in schools. It was originally
forked from Open-Sankore, which was itself based on Uniboard. It
supports digital pens, virtual keyboards, PDF import, web browsing,
video playback, and screen annotations.

WWW: https://www.openboard.org/
https://github.com/OpenBoard-org/OpenBoard/

Patches reported to upstream:
OpenBoard-org/OpenBoard#1489
OpenBoard-org/OpenBoard#1490

PR:		295104
Sponsored by:	UNIS Labs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants