diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-06-14 08:06:21 -0400 |
|---|---|---|
| committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-06-14 11:05:30 -0400 |
| commit | 4e60cbe5bbcf425442952de0e8eb6410e9304d1d (patch) | |
| tree | 9b4dee1d2cf8e077d68e6b9bcd35d544ef74ba31 /gnu/packages/ibus.scm | |
| parent | 6bbfcc359a111c257d4a9ea788027baddf4e7d64 (diff) | |
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.
Diffstat (limited to 'gnu/packages/ibus.scm')
| -rw-r--r-- | gnu/packages/ibus.scm | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index d880956c566..e9294fab1ee 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm | |||
| @@ -59,10 +59,12 @@ | |||
| 59 | #:use-module (gnu packages gstreamer) | 59 | #:use-module (gnu packages gstreamer) |
| 60 | #:use-module (gnu packages gtk) | 60 | #:use-module (gnu packages gtk) |
| 61 | #:use-module (gnu packages iso-codes) | 61 | #:use-module (gnu packages iso-codes) |
| 62 | #:use-module (gnu packages linux) | ||
| 62 | #:use-module (gnu packages logging) | 63 | #:use-module (gnu packages logging) |
| 63 | #:use-module (gnu packages perl) | 64 | #:use-module (gnu packages perl) |
| 64 | #:use-module (gnu packages pkg-config) | 65 | #:use-module (gnu packages pkg-config) |
| 65 | #:use-module (gnu packages python) | 66 | #:use-module (gnu packages python) |
| 67 | #:use-module (gnu packages python-check) | ||
| 66 | #:use-module (gnu packages python-xyz) | 68 | #:use-module (gnu packages python-xyz) |
| 67 | #:use-module (gnu packages python-web) | 69 | #:use-module (gnu packages python-web) |
| 68 | #:use-module (gnu packages serialization) | 70 | #:use-module (gnu packages serialization) |
| @@ -348,18 +350,44 @@ Chinese pinyin input methods.") | |||
| 348 | version "/ibus-anthy-" version ".tar.gz")) | 350 | version "/ibus-anthy-" version ".tar.gz")) |
| 349 | (sha256 | 351 | (sha256 |
| 350 | (base32 | 352 | (base32 |
| 351 | "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")))) | 353 | "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")) |
| 354 | (patches (search-patches "ibus-anthy-fix-tests.patch")))) | ||
| 352 | (build-system gnu-build-system) | 355 | (build-system gnu-build-system) |
| 353 | (arguments | 356 | (arguments |
| 354 | (list | 357 | (list |
| 358 | ;; The test suite hangs (see: | ||
| 359 | ;; https://github.com/ibus/ibus-anthy/issues/28). | ||
| 360 | #:tests? #f | ||
| 355 | #:configure-flags | 361 | #:configure-flags |
| 356 | ;; Use absolute exec path in the anthy.xml. | 362 | ;; Use absolute exec path in the anthy.xml. |
| 357 | #~(list (string-append "--libexecdir=" #$output "/libexec")) | 363 | #~(list (string-append "--libexecdir=" #$output "/libexec")) |
| 358 | ;; The test suite fails (see: | 364 | ;; The test suite fails (see: |
| 359 | ;; https://github.com/ibus/ibus-anthy/issues/28). | 365 | ;; https://github.com/ibus/ibus-anthy/issues/28). |
| 360 | #:tests? #f | ||
| 361 | #:phases | 366 | #:phases |
| 362 | #~(modify-phases %standard-phases | 367 | #~(modify-phases %standard-phases |
| 368 | (add-after 'unpack 'fix-check | ||
| 369 | (lambda _ | ||
| 370 | (substitute* "data/Makefile.in" | ||
| 371 | ;; Use a year current at the time the release was made, to | ||
| 372 | ;; avoid the "This year 2023 is not included in era.y" | ||
| 373 | ;; error. | ||
| 374 | (("`date '\\+%Y'`") | ||
| 375 | "2021")))) | ||
| 376 | (add-after 'unpack 'do-not-override-GI_TYPELIB_PATH | ||
| 377 | ;; Do not override the GI_TYPELIB_PATH to avoid the pygobject | ||
| 378 | ;; error: "ValueError: Namespace Gdk not available". | ||
| 379 | (lambda _ | ||
| 380 | (substitute* "tests/test-build.sh" | ||
| 381 | (("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all) | ||
| 382 | (string-append all ":$GI_TYPELIB_PATH"))))) | ||
| 383 | (add-before 'check 'prepare-for-tests | ||
| 384 | (lambda* (#:key tests? #:allow-other-keys) | ||
| 385 | (when tests? | ||
| 386 | ;; IBus requires write access to the HOME directory. | ||
| 387 | (setenv "HOME" "/tmp") | ||
| 388 | ;; The single test is skipped if no actual display is found. | ||
| 389 | (system "Xvfb :1 &") | ||
| 390 | (setenv "DISPLAY" ":1")))) | ||
| 363 | (add-after 'install 'wrap-programs | 391 | (add-after 'install 'wrap-programs |
| 364 | (lambda* (#:key inputs #:allow-other-keys) | 392 | (lambda* (#:key inputs #:allow-other-keys) |
| 365 | (for-each | 393 | (for-each |
| @@ -376,7 +404,11 @@ Chinese pinyin input methods.") | |||
| 376 | `(,glib "bin") | 404 | `(,glib "bin") |
| 377 | intltool | 405 | intltool |
| 378 | pkg-config | 406 | pkg-config |
| 379 | python)) | 407 | procps ;for ps |
| 408 | python | ||
| 409 | python-pycotap | ||
| 410 | util-linux ;for getopt | ||
| 411 | xorg-server-for-tests)) | ||
| 380 | (inputs | 412 | (inputs |
| 381 | (list anthy | 413 | (list anthy |
| 382 | gtk+ | 414 | gtk+ |
