mirror of
https://github.com/schnitzeltony/meta-gnome-forks.git
synced 2026-01-29 17:08:42 +01:00
caribou: initial add 0.4.21
caribou is required for cinnamom-screensaver and we should get rid of it as soon as cinnomon turns into usable state. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -30,6 +30,7 @@ FILES:${PN} += "${datadir}/dbus-1"
|
||||
RDEPENDS:${PN} += " \
|
||||
accountsservice \
|
||||
cinnamon-desktop \
|
||||
caribou \
|
||||
libgnomekbd \
|
||||
python3-core \
|
||||
python3-pygobject \
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
diff -urN caribou-0.4.20.old/bin/antler-keyboard.in caribou-0.4.20/bin/antler-keyboard.in
|
||||
--- caribou-0.4.20.old/bin/antler-keyboard.in 2016-06-27 19:31:55.547580177 +0530
|
||||
+++ caribou-0.4.20/bin/antler-keyboard.in 2016-06-27 19:37:00.369738066 +0530
|
||||
@@ -38,4 +38,4 @@
|
||||
export ANTLER_THEME_PATH="$(dirname $script_dir)/data"
|
||||
fi
|
||||
|
||||
-@PYTHON@ -m caribou.antler.main "$@"
|
||||
+exec @PYTHON@ -m caribou.antler.main "$@"
|
||||
diff -urN caribou-0.4.20.old/bin/caribou-preferences.in caribou-0.4.20/bin/caribou-preferences.in
|
||||
--- caribou-0.4.20.old/bin/caribou-preferences.in 2016-06-27 19:31:55.547580177 +0530
|
||||
+++ caribou-0.4.20/bin/caribou-preferences.in 2016-06-27 19:37:14.392561317 +0530
|
||||
@@ -37,7 +37,7 @@
|
||||
export LD_LIBRARY_PATH="$(dirname $script_dir)/libcaribou/.lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
||||
fi
|
||||
|
||||
-@PYTHON@ -c "
|
||||
+exec @PYTHON@ -c "
|
||||
import signal
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
--- a/data/caribou-autostart.desktop.in.in
|
||||
+++ b/data/caribou-autostart.desktop.in.in
|
||||
@@ -2,7 +2,7 @@
|
||||
Type=Application
|
||||
Name=Caribou
|
||||
Exec=@libexecdir@/caribou
|
||||
-AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled
|
||||
+AutostartCondition=GSettings org.cinnamon.desktop.a11y.applications screen-keyboard-enabled
|
||||
X-GNOME-AutoRestart=true
|
||||
#X-GNOME-Autostart-Phase=Initialization
|
||||
-OnlyShowIn=GNOME;Unity;
|
||||
+OnlyShowIn=X-Cinnamon;
|
||||
|
||||
26
recipes-gnome/caribou/caribou/0003-fix-style-css.patch
Normal file
26
recipes-gnome/caribou/caribou/0003-fix-style-css.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
From 13df8b92ae89c796238e669ee6ef4447a42d6355 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Bicha <jbicha@ubuntu.com>
|
||||
Date: Fri, 1 Dec 2017 12:11:35 -0500
|
||||
Subject: [PATCH] style.css: Fix failure to start in GNOME Flashback
|
||||
|
||||
The order for 'font' properties matters
|
||||
https://developer.gnome.org/gtk3/stable/chap-css-properties.html
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=791001
|
||||
---
|
||||
data/antler/style.css | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/antler/style.css b/data/antler/style.css
|
||||
index 5ab6f71..4d84904 100644
|
||||
--- a/data/antler/style.css
|
||||
+++ b/data/antler/style.css
|
||||
@@ -13,7 +13,7 @@
|
||||
border-width: 0px;
|
||||
border-radius: 2px;
|
||||
border-image: url("dark-key-border.svg") 2 2 2 2 repeat stretch;
|
||||
- font: Sans 14px;
|
||||
+ font: 14px Sans;
|
||||
background-image: -gtk-gradient (linear,
|
||||
left top,
|
||||
left bottom,
|
||||
@@ -0,0 +1,25 @@
|
||||
From bc6f3e7ca0921b50a3ff836d08ce264a4f114224 Mon Sep 17 00:00:00 2001
|
||||
From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
|
||||
Date: Tue, 12 Jan 2021 17:29:16 +0000
|
||||
Subject: [PATCH 1/4] Fix compilation error
|
||||
|
||||
---
|
||||
libcaribou/key-model.vala | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala
|
||||
index 89015bc..e88342e 100644
|
||||
--- a/libcaribou/key-model.vala
|
||||
+++ b/libcaribou/key-model.vala
|
||||
@@ -101,7 +101,7 @@ namespace Caribou {
|
||||
unichar uc;
|
||||
while (text.get_next_char (ref index, out uc)) {
|
||||
uint keyval = Gdk.unicode_to_keyval (uc);
|
||||
- if (keyval != uc | 0x01000000)
|
||||
+ if (keyval != (uc | 0x01000000))
|
||||
_keyvals += keyval;
|
||||
}
|
||||
} else {
|
||||
--
|
||||
2.29.2
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 85ac8f9e210243d95163cf8b1013470a6d9c7eaa Mon Sep 17 00:00:00 2001
|
||||
From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
|
||||
Date: Tue, 12 Jan 2021 17:30:25 +0000
|
||||
Subject: [PATCH 2/4] Fix subkey popmenu not showing after being dismissed
|
||||
|
||||
To reproduce the issue:
|
||||
|
||||
- long-press the "e" button
|
||||
- don't select any sub button.. just select "e" again to close the menu
|
||||
|
||||
After this the menu no long appears when long-pressing "e".
|
||||
|
||||
This commit fixes that.
|
||||
---
|
||||
libcaribou/key-model.vala | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala
|
||||
index e88342e..2f640f2 100644
|
||||
--- a/libcaribou/key-model.vala
|
||||
+++ b/libcaribou/key-model.vala
|
||||
@@ -179,6 +179,7 @@ namespace Caribou {
|
||||
hold_tid = GLib.Timeout.add (1000, on_key_held);
|
||||
|
||||
key_pressed(this);
|
||||
+ show_subkeys = false;
|
||||
}
|
||||
|
||||
public void release () {
|
||||
--
|
||||
2.29.2
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 00653c5dcc4be5e983b670d00d5724fc21da2e82 Mon Sep 17 00:00:00 2001
|
||||
From: Clement Lefebvre <clement.lefebvre@linuxmint.com>
|
||||
Date: Tue, 12 Jan 2021 18:01:47 +0000
|
||||
Subject: [PATCH 3/4] [mtwebster] xadapter.vala: Remove XkbKeyTypesMask and
|
||||
fields from XKbChangeMap call.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This was originally a workaround for xFree86 4.3 - see:
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=673547
|
||||
|
||||
As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 this
|
||||
causes a BadLength error when attempting to use shifted characters.
|
||||
|
||||
Ref:
|
||||
https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server
|
||||
---
|
||||
libcaribou/xadapter.vala | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala
|
||||
index 22858b7..1da5a78 100644
|
||||
--- a/libcaribou/xadapter.vala
|
||||
+++ b/libcaribou/xadapter.vala
|
||||
@@ -195,15 +195,10 @@ namespace Caribou {
|
||||
|
||||
Xkb.MapChanges changes = Xkb.MapChanges ();
|
||||
|
||||
- // We don't touch key types here but include the
|
||||
- // information in XkbSetMap request to the server, because
|
||||
- // some X servers need the information to check the sanity
|
||||
- // of the keysyms change.
|
||||
- changes.changed = (ushort) (Xkb.KeySymsMask | Xkb.KeyTypesMask);
|
||||
+ changes.changed = (ushort) Xkb.KeySymsMask;
|
||||
changes.first_key_sym = (char) this.reserved_keycode;
|
||||
changes.num_key_syms = this.xkbdesc.map.key_sym_map[this.reserved_keycode].width;
|
||||
- changes.first_type = 0;
|
||||
- changes.num_types = this.xkbdesc.map.num_types;
|
||||
+
|
||||
Xkb.change_map (this.xdisplay, this.xkbdesc, changes);
|
||||
|
||||
this.xdisplay.flush ();
|
||||
--
|
||||
2.29.2
|
||||
|
||||
117
recipes-gnome/caribou/caribou/0007-drop_gir_patch.patch
Normal file
117
recipes-gnome/caribou/caribou/0007-drop_gir_patch.patch
Normal file
@@ -0,0 +1,117 @@
|
||||
From c52ce71c49dc8d6109a58d16cc8d491d7bd1d781 Mon Sep 17 00:00:00 2001
|
||||
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Date: Wed, 20 Jan 2021 22:59:49 +0100
|
||||
Subject: [PATCH] Stop patching the generated GIR
|
||||
|
||||
---
|
||||
libcaribou/Makefile.am | 8 ++-----
|
||||
tools/Makefile.am | 1 -
|
||||
tools/fix_gir.py | 53 ------------------------------------------
|
||||
3 files changed, 2 insertions(+), 60 deletions(-)
|
||||
delete mode 100755 tools/fix_gir.py
|
||||
|
||||
diff --git a/libcaribou/Makefile.am b/libcaribou/Makefile.am
|
||||
index 05f2774..0634374 100644
|
||||
--- a/libcaribou/Makefile.am
|
||||
+++ b/libcaribou/Makefile.am
|
||||
@@ -7,7 +7,7 @@ libcaribou_la_VALAFLAGS = \
|
||||
--pkg xtst --pkg gee-0.8 --pkg gdk-x11-3.0 --pkg libxml-2.0 \
|
||||
--pkg libxklavier --pkg external-libs \
|
||||
--internal-vapi caribou-internals-1.0.vapi \
|
||||
- --library caribou-1.0 --gir _Caribou-1.0.gir \
|
||||
+ --library caribou-1.0 --gir Caribou-1.0.gir \
|
||||
--symbols libcaribou.symbols \
|
||||
$(VALAFLAGS)
|
||||
|
||||
@@ -63,9 +63,6 @@ gir_DATA = Caribou-1.0.gir
|
||||
typelibdir = $(libdir)/girepository-1.0
|
||||
typelib_DATA = Caribou-1.0.typelib
|
||||
|
||||
-Caribou-1.0.gir: _Caribou-1.0.gir
|
||||
- $(AM_V_GEN)$(PYTHON) -B $(top_srcdir)/tools/fix_gir.py $< > $@
|
||||
-
|
||||
Caribou-1.0.typelib: Caribou-1.0.gir
|
||||
@INTROSPECTION_COMPILER@ --shared-library=libcaribou.so.0 -o $@ $^
|
||||
|
||||
@@ -81,8 +78,7 @@ CLEANFILES = \
|
||||
caribou-1.0.vapi \
|
||||
caribou-internals-1.0.vapi \
|
||||
Caribou-1.0.typelib \
|
||||
- Caribou-1.0.gir \
|
||||
- _Caribou-1.0.gir
|
||||
+ Caribou-1.0.gir
|
||||
|
||||
DISTCLEANFILES = \
|
||||
caribou-1.0.pc
|
||||
diff --git a/tools/Makefile.am b/tools/Makefile.am
|
||||
index 3a9bcdb..89f753d 100644
|
||||
--- a/tools/Makefile.am
|
||||
+++ b/tools/Makefile.am
|
||||
@@ -1,5 +1,4 @@
|
||||
EXTRA_DIST = \
|
||||
- fix_gir.py \
|
||||
make_schema.py \
|
||||
convert_cldr.py \
|
||||
basic.xsl
|
||||
diff --git a/tools/fix_gir.py b/tools/fix_gir.py
|
||||
deleted file mode 100755
|
||||
index 182d108..0000000
|
||||
--- a/tools/fix_gir.py
|
||||
+++ /dev/null
|
||||
@@ -1,53 +0,0 @@
|
||||
-#!/usr/bin/python
|
||||
-
|
||||
-from xml.dom import minidom
|
||||
-
|
||||
-def purge_white_space_and_fix_namespace(node, indent=0):
|
||||
- if getattr(node, "tagName", None) == "namespace":
|
||||
- name = node.getAttribute("name")
|
||||
- node.setAttribute("name", name.lstrip('_'))
|
||||
- for child in [c for c in node.childNodes]:
|
||||
- if child.nodeType == node.TEXT_NODE or \
|
||||
- getattr(child, "tagName", None) == "annotation":
|
||||
- node.removeChild(child)
|
||||
- continue
|
||||
- purge_white_space_and_fix_namespace(child, indent+1)
|
||||
-
|
||||
-def find_ancestor(node, name):
|
||||
- if getattr(node, "tagName", None) == name:
|
||||
- return node
|
||||
- parent = getattr(node, "parentNode", None)
|
||||
- if not parent:
|
||||
- return None
|
||||
- return find_ancestor(parent, name)
|
||||
-
|
||||
-def fix_vfuncs(dom):
|
||||
- for f in dom.getElementsByTagName("field"):
|
||||
- callbacks = f.getElementsByTagName("callback")
|
||||
-
|
||||
- record = find_ancestor(f, "record")
|
||||
- if not record:
|
||||
- continue
|
||||
-
|
||||
- name = record.getAttribute("name")
|
||||
- cname = record.getAttribute("c:type")
|
||||
-
|
||||
- assert(name.endswith("Class") or name.endswith("Iface"))
|
||||
- assert(cname.endswith("Class") or name.endswith("Iface"))
|
||||
-
|
||||
- if len(callbacks) == 2:
|
||||
- callbacks[-1].parentNode.removeChild(callbacks[-1])
|
||||
-
|
||||
-if __name__ == "__main__":
|
||||
- import sys
|
||||
-
|
||||
- if len(sys.argv) != 2:
|
||||
- print("supply a gir file")
|
||||
- sys.exit(1)
|
||||
-
|
||||
- dom = minidom.parse(sys.argv[-1])
|
||||
-
|
||||
- purge_white_space_and_fix_namespace(dom)
|
||||
- fix_vfuncs(dom)
|
||||
-
|
||||
- print(dom.toprettyxml(indent=" ", newl="\n"))
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 28984a9b5633ef8c34764efb3fb45819c3a8a52c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Tue, 26 Apr 2022 22:18:33 +0200
|
||||
Subject: [PATCH] Add a dummy --enable-introspection - our environment assumes
|
||||
it supported
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
configure.ac | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 3959dca..c0cff13 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -128,6 +128,9 @@ IT_PROG_INTLTOOL([0.35.0])
|
||||
|
||||
dnl == GObject introspection ==
|
||||
GOBJECT_INTROSPECTION_REQUIRE([0.10.7])
|
||||
+AC_ARG_ENABLE([introspection],
|
||||
+ AS_HELP_STRING([--enable-introspection],[Dummy enable introspection]),
|
||||
+ [enable_foo=$enableval], [enable_foo=no])
|
||||
|
||||
dnl == Documentation ==
|
||||
AC_ARG_ENABLE([docs],
|
||||
--
|
||||
2.34.1
|
||||
|
||||
45
recipes-gnome/caribou/caribou_0.4.21.bb
Normal file
45
recipes-gnome/caribou/caribou_0.4.21.bb
Normal file
@@ -0,0 +1,45 @@
|
||||
SUMMARY = "A simplified in-place on-screen keyboard"
|
||||
LICENSE = "LGPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=e2aa4f66375a24019b0ff5e99cec40ad"
|
||||
|
||||
DEPENDS = " \
|
||||
libxml2-native \
|
||||
libxslt-native \
|
||||
intltool-native \
|
||||
glib-2.0-native \
|
||||
python3-pygobject-native \
|
||||
gtk+ \
|
||||
gtk+3 \
|
||||
libxklavier \
|
||||
python3-pygobject \
|
||||
clutter-1.0 \
|
||||
libgee \
|
||||
"
|
||||
|
||||
inherit gnomebase gobject-introspection gsettings vala gettext features_check
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data"
|
||||
|
||||
# 0001..0007.. are taken from
|
||||
# https://src.fedoraproject.org/rpms/caribou/tree/rawhide
|
||||
SRC_URI += " \
|
||||
file://0001-caribou-0.4.20-fix-python-exec.patch \
|
||||
file://0002-change_autostart_cinnamon.patch \
|
||||
file://0003-fix-style-css.patch \
|
||||
file://0004-Fix-compilation-error.patch \
|
||||
file://0005-Fix-subkey-popmenu-not-showing-after-being-dismissed.patch \
|
||||
file://0006-xadapter.vala-Remove-XkbKeyTypesMask-and-f.patch \
|
||||
file://0007-drop_gir_patch.patch \
|
||||
file://0008-Add-a-dummy-enable-introspection-our-environment-ass.patch \
|
||||
"
|
||||
SRC_URI[archive.sha256sum] = "9c43d9f4bd30f4fea7f780d4e8b14f7589107c52e9cb6bd202bd0d1c2064de55"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${datadir}/antler \
|
||||
${datadir}/dbus-1 \
|
||||
${PYTHON_SITEPACKAGES_DIR} \
|
||||
${libdir}/gnome-settings-daemon-3.0 \
|
||||
${libdir}/gtk-2.0/modules \
|
||||
${libdir}/gtk-3.0/modules \
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user