mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
chore(linux): Update readme
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.
This commit is contained in:
parent
0cf307066d
commit
1e8e598cd3
5 changed files with 109 additions and 33 deletions
|
|
@ -1,17 +1,16 @@
|
|||
# LICENSE
|
||||
|
||||
The [kmflcomp](./kmflcomp), [libkmfl](./libkmfl), and [keyman_config](./keyman_config) projects
|
||||
are covered by the [MIT license](./libkmfl/COPYING).
|
||||
The [keyman-config](./keyman-config) project is covered by the
|
||||
[MIT license](./keyman-config/COPYING).
|
||||
|
||||
The [ibus-kmfl](./ibus-kmfl) and [ibus-keyman](./ibus-keyman) projects are licensed under GNU
|
||||
General Public License as published by the Free Software Foundation; either
|
||||
[version 2 of the License](./ibus-kmfl/COPYING), or (at your option) any later version.
|
||||
The [ibus-keyman](./ibus-keyman) projects is licensed under GNU General Public License
|
||||
as published by the Free Software Foundation; either
|
||||
[version 2 of the License](./ibus-keyman/COPYING), or (at your option) any later version.
|
||||
|
||||
Two files in ibus-kmfl, [kmflutil.c](./ibus-kmfl/src/kmflutil.c) and
|
||||
[kmflutil.h](./ibus-kmfl/src/kmflutil.h), as well as four files in ibus-keyman,
|
||||
[keymanutil.c](./ibus-keyman/src/keymanutil.c), [keymanutil.h](./ibus-keyman/src/keymanutil.h),
|
||||
[kmpdetails.c](./ibus-keyman/src/kmpdetails.c) and [kmpdetails.h](./ibus-keyman/src/kmpdetails.h),
|
||||
are dual licensed by the MIT license and the GNU General Public License which is described above.
|
||||
Four files in ibus-keyman, [keymanutil.c](./ibus-keyman/src/keymanutil.c),
|
||||
[keymanutil.h](./ibus-keyman/src/keymanutil.h), [kmpdetails.c](./ibus-keyman/src/kmpdetails.c)
|
||||
and [kmpdetails.h](./ibus-keyman/src/kmpdetails.h), are dual licensed by the MIT license and
|
||||
the GNU General Public License which is described above.
|
||||
The MIT license alone may be chosen for them for their use in other projects.
|
||||
|
||||
Two files in ibus-keyman, [keyman-service.c](./ibus-keyman/src/keyman-service.c) and
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ See [license information](./LICENSE.md) about licensing.
|
|||
|
||||
- It is helpful to be using the [packages.sil.org](http://packages.sil.org) repo
|
||||
|
||||
- Install packages required for building and developing KMFL and Keyman for Linux
|
||||
- Install packages required for building and developing Keyman for Linux
|
||||
|
||||
```bash
|
||||
sudo apt install cdbs debhelper libx11-dev autotools-dev build-essential \
|
||||
|
|
@ -31,7 +31,7 @@ See [license information](./LICENSE.md) about licensing.
|
|||
|
||||
### Build script
|
||||
|
||||
#### Installing for ibus to use ibus-kmfl or ibus-keyman
|
||||
#### Installing for ibus to use ibus-keyman
|
||||
|
||||
- The process to build and install everything is:
|
||||
|
||||
|
|
@ -44,10 +44,8 @@ See [license information](./LICENSE.md) about licensing.
|
|||
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`
|
||||
- and `/usr/share/ibus/component/keyman.xml` and `/usr/share/keyman/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/`
|
||||
- If you already have the ibus-keyman package installed then it will move the file `/usr/share/ibus/component/keyman.xml` to `/usr/share/doc/ibus-keyman/`
|
||||
|
||||
- run `sudo make uninstall` to uninstall everything and put it back again
|
||||
|
|
@ -56,20 +54,16 @@ See [license information](./LICENSE.md) about licensing.
|
|||
|
||||
Used by TC for validating PRs
|
||||
|
||||
Run `make tmpinstall` to build and install **keyboardprocessor**, **kmflcomp**, **libkmfl**, **ibus-kmfl** and **ibus-keyman** to `/tmp/kmfl`
|
||||
Run `make tmpinstall` to build and install **keyboardprocessor** and **ibus-keyman** to `/tmp/kmfl`
|
||||
|
||||
This is only for testing the build, not for running **ibus-kmfl** or **ibus-keyman** in ibus
|
||||
This is only for testing the build, not for running **ibus-keyman** in ibus
|
||||
|
||||
### Manually
|
||||
|
||||
- **libkmfl** requires `kmfl.h` header from **kmflcomp**
|
||||
- **ibus-kfml** requires `kmfl.h` and headers and lib from **libkmfl**
|
||||
- **ibus-keyman** requires headers and lib from **keyboardprocessor**
|
||||
|
||||
So
|
||||
|
||||
- **kmflcomp** must be built and installed before **libkmfl**
|
||||
- **libkmfl** must be built and installed before **ibus-kmfl**
|
||||
- **keyboardprocessor** must be built before **ibus-keyman**
|
||||
|
||||
For each project run `./configure && make && make install`.
|
||||
|
|
@ -77,16 +71,13 @@ 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
|
||||
mkdir ../build-ibus-keyman
|
||||
cd ../build-ibus-keyman
|
||||
../ibus-keyman/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
|
||||
|
||||
## Continuous integration
|
||||
|
||||
Teamcity PR builds will run `make tmpinstall`
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
You need autoconf, autopoint, gettext, automake and libtool to generate the build system
|
||||
|
||||
flex and bison are useful to rebuild lex.l and yacc.y in kmflcomp but not essential
|
||||
|
||||
For keyboardprocessor you need rust, meson and ninja (meson package pulls in ninja)
|
||||
|
||||
Run `make reconf` to run them
|
||||
13
linux/legacy/LICENSE.md
Normal file
13
linux/legacy/LICENSE.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# LICENSE
|
||||
|
||||
The [kmflcomp](./kmflcomp) and [libkmfl](./libkmfl) projects are covered by the
|
||||
[MIT license](./libkmfl/COPYING).
|
||||
|
||||
The [ibus-kmfl](./ibus-kmfl) project is licensed under GNU General Public License
|
||||
as published by the Free Software Foundation; either
|
||||
[version 2 of the License](./ibus-kmfl/COPYING), or (at your option) any later version.
|
||||
|
||||
Two files in ibus-kmfl, [kmflutil.c](./ibus-kmfl/src/kmflutil.c) and
|
||||
[kmflutil.h](./ibus-kmfl/src/kmflutil.h) are dual licensed by the MIT license and the
|
||||
GNU General Public License which is described above.
|
||||
The MIT license alone may be chosen for them for their use in other projects.
|
||||
80
linux/legacy/README.md
Normal file
80
linux/legacy/README.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# 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
|
||||
Loading…
Add table
Reference in a new issue