mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-28 19:27:44 +00:00
This change adds separate READMEs for the legacy projects, and removes mentioning of the legacy projects in the current READMEs. The motivation is to make it later easier to remove the legacy projects, as well as reducing the efforts to testing the README with legacy projects. Since legacy projects aren't maintained anymore it doesn't make sense to still have them in the regular README, suggesting that the instructions work for the legacy projects as well.
80 lines
2.5 KiB
Markdown
80 lines
2.5 KiB
Markdown
# Keyman for Linux
|
|
|
|
## Projects
|
|
|
|
- [kmflcomp](./kmflcomp) - KMFL keyboard compiler
|
|
- [libkmfl](./libkmfl) - older KMFL core library
|
|
- [ibus-kmfl](./ibus-kmfl) - IBUS integration to use KMFL
|
|
|
|
See [license information](./LICENSE.md) about licensing.
|
|
|
|
## Linux Requirements/Setup
|
|
|
|
- It is helpful to be using the [packages.sil.org](http://packages.sil.org) repo
|
|
|
|
- Install packages required for building and developing KMFL
|
|
|
|
```bash
|
|
sudo apt install cdbs debhelper libx11-dev autotools-dev build-essential \
|
|
dh-autoreconf flex bison libibus-1.0-dev python3-setuptools meson \
|
|
libjson-glib-dev libgtk-3-dev libxml2-utils help2man python3-lxml \
|
|
python3-magic python3-numpy python3-pil python3-pip python3-qrcode \
|
|
python3-requests python3-requests-cache python3 python3-gi dconf-cli \
|
|
dconf-editor cargo python3-dbus
|
|
```
|
|
|
|
## Compiling from Command Line
|
|
|
|
### Build script
|
|
|
|
#### Installing for ibus to use ibus-kmfl
|
|
|
|
- The process to build and install everything is:
|
|
|
|
- `make reconf` to create the build system and set the version
|
|
- `make fullbuild` to configure and build
|
|
- `sudo make install` to install to `/usr/local`
|
|
|
|
- Some of the files must be installed to `/usr/share/` so `make install` must be run as `sudo`.
|
|
|
|
To do this run `sudo make install`
|
|
|
|
- This will install to `/usr/local`
|
|
- and `/usr/share/ibus/component/kmfl.xml` and `/usr/share/kmfl/icons`
|
|
|
|
- If you already have the ibus-kmfl package installed then it will move the file `/usr/share/ibus/component/kmfl.xml` to `/usr/share/doc/ibus-kmfl/`
|
|
|
|
- run `sudo make uninstall` to uninstall everything and put it back again
|
|
|
|
#### Tmp install
|
|
|
|
Used by TC for validating PRs
|
|
|
|
Run `make tmpinstall` to build and install **keyboardprocessor**, **kmflcomp**, **libkmfl**, **ibus-kmfl** and **ibus-keyman** to `/tmp/kmfl`
|
|
|
|
This is only for testing the build, not for running **ibus-kmfl** in ibus
|
|
|
|
### Manually
|
|
|
|
- **libkmfl** requires `kmfl.h` header from **kmflcomp**
|
|
- **ibus-kfml** requires `kmfl.h` and headers and lib from **libkmfl**
|
|
|
|
So
|
|
|
|
- **kmflcomp** must be built and installed before **libkmfl**
|
|
- **libkmfl** must be built and installed before **ibus-kmfl**
|
|
|
|
For each project run `./configure && make && make install`.
|
|
|
|
You may prefer to create a different directory to build in and run configure from there e.g.
|
|
|
|
```bash
|
|
mkdir ../build-kmflcomp
|
|
cd ../build-kmflcomp
|
|
../kmflcomp/configure
|
|
make
|
|
make install
|
|
```
|
|
|
|
The install of **ibus-kmfl** doesn't install everything to the correct location for it to be
|
|
used - to be fixed
|