summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-02-07 11:45:40 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-14 15:11:31 -0400
commit2d3a33589d123f3137cf10ad3635a80cc05776af (patch)
treee938b26efa3134cecace6bee5378a4168cf2a312
parentfcd80d3089370efd23484087c98260819d6fb437 (diff)
downloadguix-2d3a33589d123f3137cf10ad3635a80cc05776af.tar.gz
gnu: ibus-minimal: Move Python support to ibus.
This reduces the size of ibus-minimal from 1446.7 MiB to 1222.3 MiB.

* gnu/packages/ibus.scm (ibus-minimal): Remove "--enable-python-library" flag.
[phases] {wrap-with-additional-paths}: Do not wrap GUIX_PYTHONPATH.
[inputs]: Move python-pygobject, python and python-dbus to...
(ibus) [inputs]: ... here.
[arguments]: Add --enable-python-library configure flag and override
wrap-with-additional-paths phase.
-rw-r--r--gnu/packages/ibus.scm38
1 files changed, 25 insertions, 13 deletions
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 7d52c5889e..0328103d19 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
 ;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -91,8 +91,7 @@
     (outputs '("out" "doc"))
     (arguments
      (list
-      #:configure-flags #~(list "--enable-python-library"
-                                "--enable-gtk-doc"
+      #:configure-flags #~(list "--enable-gtk-doc"
                                 "--enable-memconf"
                                 (string-append
                                  "--with-unicode-emoji-dir="
@@ -186,10 +185,8 @@
                (string-append #$output:doc "/share/gtk-doc"))))
           (add-after 'wrap-program 'wrap-with-additional-paths
             (lambda* (#:key outputs #:allow-other-keys)
-              ;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and
-              ;; GI_TYPELIB_PATH.
+              ;; Make sure 'ibus-setup' runs with the correct GI_TYPELIB_PATH.
               (wrap-program (search-input-file outputs "bin/ibus-setup")
-                `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
                 `("GI_TYPELIB_PATH" ":" prefix
                   (,(getenv "GI_TYPELIB_PATH")
                    ,(string-append #$output "/lib/girepository-1.0")))))))))
@@ -206,9 +203,6 @@
            libx11
            libxkbcommon
            libxtst
-           python-pygobject
-           python
-           python-dbus
            setxkbmap
            ucd
            unicode-cldr-common
@@ -244,11 +238,29 @@ may also simplify input method development.")
 
 (define-public ibus
   (package/inherit ibus-minimal
-    (arguments (substitute-keyword-arguments (package-arguments ibus-minimal)
-                 ((#:configure-flags flags)
-                  #~(cons* "--enable-gtk4" #$flags))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments ibus-minimal)
+       ((#:configure-flags flags)
+        #~(cons* "--enable-gtk4"
+                 "--enable-python-library"
+                 #$flags))
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'wrap-with-additional-paths
+              (lambda* (#:key outputs #:allow-other-keys)
+                ;; Make sure 'ibus-setup' runs with the correct
+                ;; GUIX_PYTHONPATH and GI_TYPELIB_PATH.
+                (wrap-program (search-input-file outputs "bin/ibus-setup")
+                  `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
+                  `("GI_TYPELIB_PATH" ":" prefix
+                    (,(getenv "GI_TYPELIB_PATH")
+                     ,(string-append #$output "/lib/girepository-1.0"))))))))))
     (inputs (modify-inputs (package-inputs ibus-minimal)
-              (prepend gtk pango-next)))
+              (prepend gtk
+                       pango-next
+                       python
+                       python-dbus
+                       python-pygobject)))
     (properties (alist-delete 'hidden? (package-properties ibus-minimal)))))
 
 (define-public ibus-libpinyin