tart ibus-akaza development

This commit is contained in:
Tokuhiro Matsuno
2023-01-02 07:51:51 +09:00
parent e75bfc3803
commit 1145b4c9a2
6 changed files with 54 additions and 64 deletions

View File

@ -0,0 +1,37 @@
PREFIX ?= /usr
SYSCONFDIR ?= /etc
DATADIR ?= $(PREFIX)/share
DESTDIR ?=
all: akaza.xml
# ibus_akaza/config.py: ibus_akaza/config.py.in
# sed -e "s:@SYSCONFDIR@:$(SYSCONFDIR):g" \
# -e "s:@MODELDIR@:$(DESTDIR)/$(DATADIR)/akaza-data/:g" \
# -e "s:@DICTIONARYDIR@:$(DESTDIR)/$(DATADIR)/ibus-akaza/dictionary:g" \
# $< > $@
akaza.xml: akaza.xml.in
sed \
-e "s:@DATADIR@:$(DATADIR):g" $< > $@
install: ibus_akaza/config.py akaza.xml po/ja.mo
cargo install
install -m 0755 -d $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza $(DESTDIR)$(SYSCONFDIR)/xdg/akaza $(DESTDIR)$(DATADIR)/ibus/component
install -m 0755 -d $(DESTDIR)$(DATADIR)/locale
install -m 0644 akaza.svg $(DESTDIR)$(DATADIR)/ibus-akaza
install -m 0644 akaza.xml $(DESTDIR)$(DATADIR)/ibus/component
test:
cargo test
uninstall:
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/akaza.svg
clean:
rm -f akaza.xml
.PHONY: all test install uninstall clean

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -6,3 +6,20 @@ Akaza2 では、Rust へのプログラミング言語の移行を主眼にお
- C++ を利用したツールチェーンに python が絡んできてメンテナンスが難しすぎること
などの理由がある。
## 今後の計画
ibus との連動部分を実装する。
最初は C で多くの部分を実装し、徐々に rust にうつしていくかんじでやっていく。
いったんはローマ字入力のみサポートで。
ibus の xml ファイルをなにかする、みたいな部分については cargo ではできないので外部コマンドでやったほうが良さそう。
UI が一通りできたら、モデル側をもうちょいいじったりしたいし、SKK 辞書をユーザー辞書代わりに使える機能も実装したいし、そもそもユーザーデータ関連の機能が今動いてないと思うので、そのへんも実装したい。
と、考えるとまだまだやれる余地はありそうだ。
### marisa-sys
marisa-sys は再利用性がありそうなので、分離して crate としてリリースしたい。

View File

@ -1,64 +0,0 @@
PREFIX ?= /usr
SYSCONFDIR ?= /etc
DATADIR ?= $(PREFIX)/share
DESTDIR ?=
PYTHON ?= /usr/bin/python3
all: akaza.xml ibus_akaza/config.py po/ibus-akaza.pot po/ja.mo
po/ibus-akaza.pot: ibus_akaza/ui.py ibus_akaza/input_mode.py
xgettext -d ibus-akaza -o po/ibus-akaza.pot ibus_akaza/*.py
po/ja.mo: po/ja.po
msgfmt -o po/ja.mo po/ja.po
ibus_akaza/config.py: ibus_akaza/config.py.in
sed -e "s:@SYSCONFDIR@:$(SYSCONFDIR):g" \
-e "s:@MODELDIR@:$(DESTDIR)/$(DATADIR)/akaza-data/:g" \
-e "s:@DICTIONARYDIR@:$(DESTDIR)/$(DATADIR)/ibus-akaza/dictionary:g" \
$< > $@
akaza.xml: akaza.xml.in
sed -e "s:@PYTHON@:$(PYTHON):g;" \
-e "s:@DATADIR@:$(DATADIR):g" $< > $@
install: ibus_akaza/config.py akaza.xml po/ja.mo
install -m 0755 -d $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza $(DESTDIR)$(SYSCONFDIR)/xdg/akaza $(DESTDIR)$(DATADIR)/ibus/component
install -m 0755 -d $(DESTDIR)$(DATADIR)/locale
install -m 0644 akaza.svg $(DESTDIR)$(DATADIR)/ibus-akaza
install -m 0644 ibus.py $(DESTDIR)$(DATADIR)/ibus-akaza
install -m 0644 ibus_akaza/ui.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 ibus_akaza/input_mode.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 ibus_akaza/config.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 ibus_akaza/keymap.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 ibus_akaza/config_loader.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 ibus_akaza/skk_file_dict.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 ibus_akaza/__init__.py $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/
install -m 0644 akaza.xml $(DESTDIR)$(DATADIR)/ibus/component
install -m 0644 po/ja.mo $(DESTDIR)$(DATADIR)/locale/ja/LC_MESSAGES/ibus-akaza.mo
test:
python -m py_compile ibus.py
python -m py_compile ibus_akaza/ui.py
pytest
uninstall:
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/akaza.svg
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/input_mode.py
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/ui.py
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/config.py
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/keymap.py
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/ibus_akaza/config_loader.py
rm -f $(DESTDIR)$(DATADIR)/ibus-akaza/ibus.py
rmdir $(DESTDIR)$(DATADIR)/ibus-akaza
clean:
rm -f akaza.xml
.PHONY: all test install uninstall clean