Pmbootstrap: Build matchbox-keyboard for Alpine

Created on 29 Sep 2017  路  13Comments  路  Source: postmarketOS/pmbootstrap

It would be very good to have an on screen keyboard to use with xfce/mate or other X11 window managers but Alpine does not package one so far I know. My research shows that there is one widely used keyboard called matchbox-keyboard and there is an updated source for it. Would anyone help me compile it and test or create a package for Alpine? What other on screen keyboards can I install in Alpine?
https://www.modmypi.com/blog/matchbox-keyboard-raspberry-pi-touchscreen-keyboard
http://git.yoctoproject.org/cgit.cgi/matchbox-keyboard/tree/

packaging

All 13 comments

(Maybe we can extend osk-sdl to work in X11 and wayland - that will be tricky though - at some point.)

Could you make a work in progress APKBUILD for the matchbox-keyboard, which shows where you get stuck?

I just don't have any idea what should I install in alpine to build this apk. In the readme it is said autotool but I can't find it in Alpine.

It mentions, that you need to run autogen.sh when running from svn (or git in our case?), which generates the ./configure script. Looking at autogen.sh it shows the autoreconf command, which is part of the autoconf package in Alpine.

(Stable releases are preferred over using git commit hashes as versions, if there are any.)

Looks like they have a release tagged here: https://git.yoctoproject.org/cgit.cgi/matchbox-keyboard/refs/

The readme lists some requirements for building: xlibs, xft, libfakekey and expat.

Welcome to the fun world of porting packages to Alpine, because you'll likely need to port some dependencies too! Alpine package search is terrible, so some of these missing ones could be there somewhere I just wasn't able to insert enough wildcards in the search to find it.

libfakekey

libfakekey doesn't seem to exist in Alpine, but there's a PKGBUILD in Arch that you could use as a starting point.. Luckily the one dependency this package has, libxtst, appears to be in Alpine!

xlibs

I can't find 'xlibs' in Alpine, but there is a libx11 which should, I think, provide 'xlibs'.

The rest seem to exist in alpine and so you can start off with an APKBUILD with something like:

depends="expat libxft libx11" 
makedepends="expat-dev libxft-dev libx11-dev"

You'll need to append the relevant libfakekey packages to the depends and makedepends once you either create those packages or figure out what they are called in Alpine if you can find them.

Alpine package search is terrible

What? I think it's pretty awesome, it allows wildcards and you can even search package contents, which allows to figure out that autoreconf is in the autoconf package.

Maybe I think it's terrible because I think it should support/enable fuzzy search by default (e.g. searching for libx should return libx11, libxft, etc without having to put a * at the end every time :D
But I digress

There is also Florence Virtual Keyboard (http://florence.sourceforge.net), I tried to port it but it uses a java tool that works on native chroot but it hangs in armhf build chroot.
Should I drop it and focus on this keyboard?

@drebrez this keyboard is known to work on Rpi and yocto boards so it should work on armhf and the last commit is in 2016 but florence is 2014. Someone on irc@postmarketos told me they compiled Florence but I can't remember who. I can't work on it at this moment.

@drebrez: That compiling bug is possibly a duplicate of #679:

[...] then the configure script hangs indefinitely trying to test javac.

I have not done enough research on this topic to recommend a keyboard. But matchbox is probably not that hard to package, and there are some pointers in this thread already, so you could start with that if you want to.

Qt includes a keyboard, which I've already packaged for KDE in the postmarketos-ui-plasma-mobile branch. We could probably use that in more DE's quite easily.

screenshot_2017-10-17_15-23-57

If we still want this keyboard (matchbox), I could take a look at packaging it.

Let's have both :) @PureTryOut please try.

Any luck packaging a keyboard? Practically one can use the device via ssh only so the benefit of packaging GUI's is negligible.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

craftyguy picture craftyguy  路  6Comments

ollieparanoid picture ollieparanoid  路  5Comments

ata2001 picture ata2001  路  4Comments

montvid picture montvid  路  3Comments

ata2001 picture ata2001  路  3Comments