summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
authorZ572 <873216071@qq.com>2023-03-06 13:57:35 +0800
committer宋文武 <iyzsong@member.fsf.org>2023-03-17 18:33:38 +0800
commit84a70d7c15314f01149ddc0728195c7b9f6309c7 (patch)
tree4797cf6602f6683950b16915d1e24f5ae3faf382 /gnu/packages/emacs.scm
parentbf2c66b44e17c9749bbc1ef5e0330caf4c91ef4c (diff)
downloadguix-84a70d7c15314f01149ddc0728195c7b9f6309c7.tar.gz
gnu: m17n-lib: Fix cross-compile.
* gnu/packages/emacs.scm (m17n-lib)
[source]: Add m17n-lib-1.8.0-use-pkg-config-for-freetype.patch.
[native-inputs]: When cross-compile add pkg-config, libtool, gettext-minimal,
autoconf, automake.
[arguments]: When cross-compile, add phase to fix rpl_malloc undefined references.
* gnu/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm25
1 files changed, 23 insertions, 2 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e0574f5726..a27b364a05 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -664,8 +664,16 @@ This package contains the library database.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "0jp61y09xqj10mclpip48qlfhniw8gwy8b28cbzxy8hq8pkwmfkq"))))
+         "0jp61y09xqj10mclpip48qlfhniw8gwy8b28cbzxy8hq8pkwmfkq"))
+       (patches (search-patches "m17n-lib-1.8.0-use-pkg-config-for-freetype.patch"))))
     (build-system gnu-build-system)
+    (native-inputs
+     (if (%current-target-system)
+         (list pkg-config
+               libtool
+               gettext-minimal
+               autoconf automake)
+         '()))
     (inputs
      (list fribidi
            gd
@@ -674,7 +682,20 @@ This package contains the library database.")
            libxml2
            m17n-db))
     (arguments
-     `(#:parallel-build? #f))
+     `(#:parallel-build? #f
+       ,@(if (%current-target-system)
+             '(#:phases
+               (modify-phases %standard-phases
+                 ;; AC_FUNC_MALLOC and AC_FUNC_REALLOC usually unneeded
+                 ;; see https://lists.gnu.org/archive/html/autoconf/2003-02/msg00017.html
+                 (add-after 'unpack 'fix-rpl_malloc
+                   (lambda _
+                     (substitute* "configure.ac"
+                       (("AC_FUNC_MALLOC") "")
+                       (("AC_FUNC_REALLOC") ""))
+                     ;; let bootstrap phase run.
+                     (delete-file "./configure")))))
+             '())))
     ;; With `guix lint' the home-page URI returns a small page saying
     ;; that your browser does not handle frames. This triggers the "URI
     ;; returns suspiciously small file" warning.