summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2026-01-23 14:48:18 +0800
committerKhem Raj <raj.khem@gmail.com>2026-01-27 11:58:26 -0800
commit720b60ac399f5593002a3f5723e42632d7a66934 (patch)
tree279855d3bf27a7843ec2eacca653cd5755bb1eda
parentba35086082af115fc5cd8d1a561385783027196c (diff)
downloadmeta-openembedded-720b60ac399f5593002a3f5723e42632d7a66934.tar.gz
onboard: add recipe
Onboard is an onscreen keyboard useful for everybody that cannot use a hardware keyboard; for example Tablet-PC users or mobility impaired users. It has been designed with simplicity in mind and can be used right away without the need of any configuration, as it can read the keyboard layout from the X server. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch69
-rw-r--r--meta-gnome/recipes-support/onboard/onboard/0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch29
-rw-r--r--meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb39
3 files changed, 137 insertions, 0 deletions
diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch
new file mode 100644
index 0000000000..9fb2cd6814
--- /dev/null
+++ b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch
@@ -0,0 +1,69 @@
1From 71804c06c7179333f44b57e04ba268f37fe54f62 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 13 Jul 2017 09:01:04 -0700
4Subject: [PATCH] pypredict/lm: Define error API if platform does not have it
5
6error() API is not implemented across all libcs on linux
7e.g. musl does not provide it.
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 Onboard/pypredict/lm/lm.cpp | 1 -
14 Onboard/pypredict/lm/lm.h | 13 +++++++++++++
15 Onboard/pypredict/lm/lm_dynamic.cpp | 2 --
16 3 files changed, 13 insertions(+), 3 deletions(-)
17
18diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp
19index 2e642965..37ae241e 100644
20--- a/Onboard/pypredict/lm/lm.cpp
21+++ b/Onboard/pypredict/lm/lm.cpp
22@@ -19,7 +19,6 @@
23
24 #include <stdlib.h>
25 #include <stdio.h>
26-#include <error.h>
27 #include <algorithm>
28 #include <cmath>
29 #include <string>
30diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h
31index ed4164a4..b8b63ee8 100644
32--- a/Onboard/pypredict/lm/lm.h
33+++ b/Onboard/pypredict/lm/lm.h
34@@ -32,6 +32,19 @@
35 #include <algorithm>
36 #include <string>
37
38+#if defined(HAVE_ERROR_H)
39+#include <error.h>
40+#else
41+#include <err.h>
42+#define _onboard_error(S, E, F, ...) do { \
43+ if (E) \
44+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
45+ else \
46+ err(S, F, ##__VA_ARGS__); \
47+} while(0)
48+
49+#define error _onboard_error
50+#endif
51
52 // break into debugger
53 // step twice to come back out of the raise() call into known code
54diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp
55index 7c628240..e7c7f40e 100644
56--- a/Onboard/pypredict/lm/lm_dynamic.cpp
57+++ b/Onboard/pypredict/lm/lm_dynamic.cpp
58@@ -17,8 +17,6 @@
59 * along with this program. If not, see <http://www.gnu.org/licenses/>.
60 */
61
62-#include <error.h>
63-
64 #include "lm_dynamic.h"
65
66 using namespace std;
67--
682.34.1
69
diff --git a/meta-gnome/recipes-support/onboard/onboard/0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch b/meta-gnome/recipes-support/onboard/onboard/0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch
new file mode 100644
index 0000000000..b4bbe7c023
--- /dev/null
+++ b/meta-gnome/recipes-support/onboard/onboard/0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch
@@ -0,0 +1,29 @@
1From d68300ca8c7c518abd404873a8201b71988e492d Mon Sep 17 00:00:00 2001
2From: Yi Zhao <yi.zhao@windriver.com>
3Date: Fri, 23 Jan 2026 09:28:56 +0800
4Subject: [PATCH] toggle-onboard-hoverclick: use /bin/sh default shell
5 interpreter
6
7checkbashism reports no issues, therefore using /bin/sh instead of
8/bin/bash should be safe.
9
10Upstream-Status: Pending
11
12Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
13---
14 scripts/toggle-onboard-hoverclick | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/scripts/toggle-onboard-hoverclick b/scripts/toggle-onboard-hoverclick
18index 7ee3b024..48636225 100755
19--- a/scripts/toggle-onboard-hoverclick
20+++ b/scripts/toggle-onboard-hoverclick
21@@ -1,4 +1,4 @@
22-#!/bin/bash
23+#!/bin/sh
24 STATUS=$(gsettings get org.gnome.desktop.a11y.mouse dwell-click-enabled)
25 case $STATUS in
26 true )
27--
282.34.1
29
diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb
new file mode 100644
index 0000000000..d544f169f8
--- /dev/null
+++ b/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb
@@ -0,0 +1,39 @@
1SUMMARY = "An onscreen keyboard"
2HOMEPAGE = "https://github.com/onboard-osk/onboard"
3DESCRIPTION = "Onboard is an onscreen keyboard useful for everybody \
4that cannot use a hardware keyboard. It has been designed with simplicity \
5in mind and can be used right away without the need of any configuration, \
6as it can read the keyboard layout from the X server."
7
8LICENSE = "GPL-3.0-or-later & BSD-3-Clause"
9LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e \
10 file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \
11 "
12
13SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main \
14 file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \
15 file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \
16 "
17SRCREV = "350f7643576bc8c5f2cff9c6ddce0e1e7cff995d"
18
19inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg
20
21REQUIRED_DISTRO_FEATURES = "x11"
22
23DEPENDS = "gtk+3 hunspell libcanberra libxkbfile dconf hicolor-icon-theme python3-distutils-extra-native intltool-native glib-2.0-native"
24
25FILES:${PN} += " \
26 ${datadir}/dbus-1 \
27 ${datadir}/icons \
28 ${datadir}/gnome-shell \
29 ${datadir}/help \
30"
31
32RDEPENDS:${PN} += " \
33 ncurses \
34 librsvg-gtk \
35 python3-dbus \
36 python3-pycairo \
37 python3-pygobject \
38 python3-image \
39"