Blob Blame History Raw
# spec file for package ibus-typing-booster
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

Name:           ibus-typing-booster
Version:        1.5.34
Release:        0 
Summary:        An input completion utility
License:        GPL-3.0+
Group:          System/X11/Utilities
URL:            https://mike-fabian.github.io/ibus-typing-booster/
Source0:        https://github.com/mike-fabian/ibus-typing-booster/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1:        https://releases.pagure.org/inscript2/inscript2-20160423.tar.gz
BuildRequires:  ibus-devel
BuildRequires:  python3
BuildRequires:  python3-devel
BuildRequires:  desktop-file-utils
BuildRequires:  python3-gobject
BuildRequires:  dbus-1-x11
BuildRequires:  fdupes
BuildRequires:  update-desktop-files
# for the unit tests
BuildRequires:  m17n-lib
BuildRequires:  m17n-db
BuildRequires:  python3-pyenchant
%if 0%{?sle_version} >= 120200
BuildRequires:  python3-pyxdg
%endif
%if 0%{?suse_version} == 1320
BuildRequires:  myspell-cs_CZ
BuildRequires:  myspell-de
BuildRequires:  myspell-en
BuildRequires:  myspell-es
BuildRequires:  myspell-it_IT
%else
BuildRequires:  myspell-cs_CZ
BuildRequires:  myspell-de
BuildRequires:  myspell-de_DE
BuildRequires:  myspell-en
BuildRequires:  myspell-en_US
BuildRequires:  myspell-es
BuildRequires:  myspell-es_ES
BuildRequires:  myspell-fr_FR
BuildRequires:  myspell-it_IT
%endif
#
Requires:       ibus >= 1.5.3
Requires:       m17n-lib
Requires:       python3 >= 3.3
Requires:       dbus-1-python3
Requires:       python3-pyenchant
Requires:       python3-pyxdg
# Recommend reasonably good fonts which have most of the emoji:
Recommends:     noto-coloremoji-fonts
Recommends:     gdouros-symbola-fonts
#

%description
Ibus-typing-booster is a context sensitive completion
input method to speedup typing.

%prep
%setup -q
##extract inscript2 maps
tar xzf %{SOURCE1}

%build
export PYTHON=%{_bindir}/python3
%configure --disable-static --disable-additional --libexecdir=%{_libdir}/ibus
make %{?_smp_mflags}

%install
export PYTHON=%{_bindir}/python3
make install DESTDIR=%{buildroot} NO_INDEX=true
gzip -n --force --best %{buildroot}/%{_datadir}/%{name}/data/*.{txt,json} \
    %{buildroot}/%{_datadir}/%{name}/data/annotations/*.xml \
    %{buildroot}/%{_datadir}/%{name}/data/annotationsDerived/*.xml

#install inscript2 keymaps
test -d %{buildroot}%{_datadir}/m17n/icons || mkdir -p %{buildroot}%{_datadir}/m17n/icons
cp -p inscript2/IM/* %{buildroot}%{_datadir}/m17n/
cp -p inscript2/icons/* %{buildroot}%{_datadir}/m17n/icons

%suse_update_desktop_file -i -u emoji-picker GTK Utility

%fdupes %{buildroot}/%{_prefix}

%find_lang %{name}

%check
export LC_ALL=en_US.UTF-8
export M17NDIR=%{buildroot}%{_datadir}/m17n/
desktop-file-validate \
    %{buildroot}%{_datadir}/applications/ibus-setup-typing-booster.desktop
pushd engine
    # run doctests
    python3 hunspell_suggest.py
    python3 m17n_translit.py
    python3 itb_emoji.py
    python3 itb_util.py
popd
eval $(dbus-launch --sh-syntax)
dconf dump /
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/offtherecord false
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/usedigitsasselectkeys true
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/tabenable false
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/inputmethod "'NoIme'"
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/adddirectinput false
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/rememberlastusedpreeditime true
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/mincharcomplete 1
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/dictionary "'en_US'"
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/emojipredictions true
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/autocommitcharacters "''"
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/pagesize 6
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/shownumberofcandidates true
dconf write /desktop/ibus/engine/typing-booster/typing-booster-de-de/showstatusinfoinaux true
dconf dump /
ibus-daemon -drx
make check || cat ./tests/test-suite.log

%post
[ -x %{_bindir}/ibus ] && \
  %{_bindir}/ibus write-cache --system &>/dev/null || :

%postun
[ -x %{_bindir}/ibus ] && \
  %{_bindir}/ibus write-cache --system &>/dev/null || :

%files -f %{name}.lang
%doc AUTHORS COPYING README
%{_bindir}/emoji-picker
%{_datadir}/%{name}
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/*.appdata.xml
%{_datadir}/ibus/component/typing-booster.xml
%{_libdir}/ibus/ibus-engine-typing-booster
%{_libdir}/ibus/ibus-setup-typing-booster
%{_datadir}/applications/*.desktop
%dir %{_datadir}/m17n
%{_datadir}/m17n/*.mim
%dir %{_datadir}/m17n/icons
%{_datadir}/m17n/icons/*.png

%changelog