mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-13 14:40:21 -05:00
gnu: ibus-anthy: Prepare for tests.
* gnu/packages/patches/ibus-anthy-fix-tests.patch: New patch. * gnu/packages/ibus.scm (ibus-anthy): Register it. * gnu/packages/ibus.scm (ibus-anthy) [source]: Apply patch. [arguments]: Clarify #:tests? comment. Add a fix-check, do-not-override-GI_TYPELIB_PATH and prepare-for-tests phases. [native-inputs]: Add procps, python-pycotap, util-linux and xorg-server-for-tests.
This commit is contained in:
parent
6bbfcc359a
commit
4e60cbe5bb
3 changed files with 85 additions and 3 deletions
|
@ -897,6 +897,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/akonadi-not-relocatable.patch \
|
%D%/packages/patches/akonadi-not-relocatable.patch \
|
||||||
%D%/packages/patches/akonadi-timestamps.patch \
|
%D%/packages/patches/akonadi-timestamps.patch \
|
||||||
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
|
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
|
||||||
|
%D%/packages/patches/ibus-anthy-fix-tests.patch \
|
||||||
%D%/packages/patches/anki-mpv-args.patch \
|
%D%/packages/patches/anki-mpv-args.patch \
|
||||||
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
||||||
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
|
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
|
||||||
|
|
|
@ -59,10 +59,12 @@ (define-module (gnu packages ibus)
|
||||||
#:use-module (gnu packages gstreamer)
|
#:use-module (gnu packages gstreamer)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages iso-codes)
|
#:use-module (gnu packages iso-codes)
|
||||||
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages logging)
|
#:use-module (gnu packages logging)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-check)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages serialization)
|
#:use-module (gnu packages serialization)
|
||||||
|
@ -348,18 +350,44 @@ (define-public ibus-anthy
|
||||||
version "/ibus-anthy-" version ".tar.gz"))
|
version "/ibus-anthy-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8"))))
|
"16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8"))
|
||||||
|
(patches (search-patches "ibus-anthy-fix-tests.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
;; The test suite hangs (see:
|
||||||
|
;; https://github.com/ibus/ibus-anthy/issues/28).
|
||||||
|
#:tests? #f
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
;; Use absolute exec path in the anthy.xml.
|
;; Use absolute exec path in the anthy.xml.
|
||||||
#~(list (string-append "--libexecdir=" #$output "/libexec"))
|
#~(list (string-append "--libexecdir=" #$output "/libexec"))
|
||||||
;; The test suite fails (see:
|
;; The test suite fails (see:
|
||||||
;; https://github.com/ibus/ibus-anthy/issues/28).
|
;; https://github.com/ibus/ibus-anthy/issues/28).
|
||||||
#:tests? #f
|
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'fix-check
|
||||||
|
(lambda _
|
||||||
|
(substitute* "data/Makefile.in"
|
||||||
|
;; Use a year current at the time the release was made, to
|
||||||
|
;; avoid the "This year 2023 is not included in era.y"
|
||||||
|
;; error.
|
||||||
|
(("`date '\\+%Y'`")
|
||||||
|
"2021"))))
|
||||||
|
(add-after 'unpack 'do-not-override-GI_TYPELIB_PATH
|
||||||
|
;; Do not override the GI_TYPELIB_PATH to avoid the pygobject
|
||||||
|
;; error: "ValueError: Namespace Gdk not available".
|
||||||
|
(lambda _
|
||||||
|
(substitute* "tests/test-build.sh"
|
||||||
|
(("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all)
|
||||||
|
(string-append all ":$GI_TYPELIB_PATH")))))
|
||||||
|
(add-before 'check 'prepare-for-tests
|
||||||
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
|
(when tests?
|
||||||
|
;; IBus requires write access to the HOME directory.
|
||||||
|
(setenv "HOME" "/tmp")
|
||||||
|
;; The single test is skipped if no actual display is found.
|
||||||
|
(system "Xvfb :1 &")
|
||||||
|
(setenv "DISPLAY" ":1"))))
|
||||||
(add-after 'install 'wrap-programs
|
(add-after 'install 'wrap-programs
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(for-each
|
(for-each
|
||||||
|
@ -376,7 +404,11 @@ (define-public ibus-anthy
|
||||||
`(,glib "bin")
|
`(,glib "bin")
|
||||||
intltool
|
intltool
|
||||||
pkg-config
|
pkg-config
|
||||||
python))
|
procps ;for ps
|
||||||
|
python
|
||||||
|
python-pycotap
|
||||||
|
util-linux ;for getopt
|
||||||
|
xorg-server-for-tests))
|
||||||
(inputs
|
(inputs
|
||||||
(list anthy
|
(list anthy
|
||||||
gtk+
|
gtk+
|
||||||
|
|
49
gnu/packages/patches/ibus-anthy-fix-tests.patch
Normal file
49
gnu/packages/patches/ibus-anthy-fix-tests.patch
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
Submitted upstream: https://github.com/ibus/ibus-anthy/pull/35
|
||||||
|
|
||||||
|
diff --git a/tests/test-build.sh b/tests/test-build.sh
|
||||||
|
index e83b78f..a0efe32 100755
|
||||||
|
--- a/tests/test-build.sh
|
||||||
|
+++ b/tests/test-build.sh
|
||||||
|
@@ -63,26 +63,27 @@ parse_args()
|
||||||
|
done;
|
||||||
|
}
|
||||||
|
|
||||||
|
+maybe_install_pycotap() {
|
||||||
|
+ # Check if pycotap is already available.
|
||||||
|
+ python3 -m pycotap >/dev/null && return 0
|
||||||
|
+
|
||||||
|
+ # Red Hat specific hint.
|
||||||
|
+ if test -f /etc/redhat-release ; then
|
||||||
|
+ if ! rpm -q --quiet python3-pycotap; then
|
||||||
|
+ echo "Please install python3-pycotap"
|
||||||
|
+ exit -1
|
||||||
|
+ fi
|
||||||
|
+ fi;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
init_environment()
|
||||||
|
{
|
||||||
|
if test x$FORCE_TEST != x ; then
|
||||||
|
RUN_ARGS="$RUN_ARGS --force";
|
||||||
|
fi;
|
||||||
|
- HAS_TAP=0;
|
||||||
|
- if test -f /etc/redhat-release ; then
|
||||||
|
- rpm -q --quiet python3-pycotap
|
||||||
|
- if test $? -ne 0 ; then
|
||||||
|
- echo "Not found python3-pycotap";
|
||||||
|
- exit -1;
|
||||||
|
- fi;
|
||||||
|
- HAS_TAP=1;
|
||||||
|
- fi;
|
||||||
|
- TAP_DIR=`python -m site --user-site`/pycotap;
|
||||||
|
- if test $HAS_TAP -ne 1 && \
|
||||||
|
- test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then
|
||||||
|
- echo "pip install pycotap --user";
|
||||||
|
- pip install pycotap --user;
|
||||||
|
- fi;
|
||||||
|
+
|
||||||
|
+ maybe_install_pycotap
|
||||||
|
+
|
||||||
|
if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then
|
||||||
|
echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE";
|
||||||
|
exit -1;
|
Loading…
Reference in a new issue