aboutsummaryrefslogtreecommitdiff
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
parentbf2c66b44e17c9749bbc1ef5e0330caf4c91ef4c (diff)
downloadguix-84a70d7c15314f01149ddc0728195c7b9f6309c7.tar.gz
guix-84a70d7c15314f01149ddc0728195c7b9f6309c7.zip
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>
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/emacs.scm25
-rw-r--r--gnu/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch125
3 files changed, 150 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index bfb114b3f1..0a1a5d077f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -56,6 +56,7 @@
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
# Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022 jgart <jgart@dismail.de>
+# Copyright © 2023 Zheng Junjie <873216071@qq.com>
#
# This file is part of GNU Guix.
#
@@ -1565,6 +1566,7 @@ dist_patch_DATA = \
%D%/packages/patches/musl-cross-locale.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m4-gnulib-libio.patch \
+ %D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nautilus-extension-search-path.patch \
%D%/packages/patches/ncompress-fix-softlinks.patch \
%D%/packages/patches/ncftp-reproducible.patch \
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.
diff --git a/gnu/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch b/gnu/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch
new file mode 100644
index 0000000000..38c311bee5
--- /dev/null
+++ b/gnu/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch
@@ -0,0 +1,125 @@
+backport from upstream.
+
+From b468fc95150b7ca0e766e7c385a60879e65322d4 Mon Sep 17 00:00:00 2001
+From: "K. Handa" <handa@gnu.org>
+Date: Tue, 23 Oct 2018 00:05:46 +0900
+Subject: Use pkg-config for freetype, use %p to print a pointer
+
+---
+ ChangeLog | 5 +++++
+ configure.ac | 48 +++++++++++++++++++-----------------------------
+ src/ChangeLog | 5 +++++
+ src/chartab.c | 4 ++--
+ 4 files changed, 31 insertions(+), 31 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index b069d89..9dfc0b0 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2018-10-22 K. Handa <handa@gnu.org>
++
++ * configure.ac: Do not use the program freetype-config, use
++ PKG_CHECK_MODULES for checking freetype2.
++
+ 2018-02-08 K. Handa <handa@gnu.org>
+
+ Version 1.8.0 released.
+diff --git a/configure.ac b/configure.ac
+index 7f8b08e..3516bad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -204,36 +204,26 @@ fi
+ AC_SUBST(OTF_LD_FLAGS)
+
+ dnl Check for Freetype2 usability.
+-AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
+-if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
+- FREETYPE_INC=`freetype-config --cflags`
+- save_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
+- AC_CHECK_HEADER(ft2build.h, HAVE_FREETYPE=yes,
+- HAVE_FREETYPE=no CPPFLAGS="$save_CPPFLAGS")
+- if test "x$HAVE_FREETYPE" = "xyes" ; then
+- save_LIBS="$LIBS"
+- LIBS="$LIBS `freetype-config --libs`"
+- AC_CHECK_LIB(freetype, FT_Init_FreeType, HAVE_FREETYPE=yes,
+- HAVE_FREETYPE=no)
+- LIBS="$save_LIBS"
+- if test "x$HAVE_FREETYPE" = "xyes"; then
+- FREETYPE_LD_FLAGS=`freetype-config --libs`
+- AC_DEFINE(HAVE_FREETYPE, 1,
+- [Define to 1 if you have FreeType library and header file.])
+- M17N_EXT_LIBS="$M17N_EXT_LIBS freetype"
+- AC_CHECK_HEADER(freetype/ftbdf.h, HAVE_FTBDF_H=yes, HAVE_FTBDF_H=no,
+- [#include <ft2build.h>
++PKG_CHECK_MODULES([FREETYPE], [freetype2], [HAVE_FREETYPE=yes],
++ [HAVE_FREETYPE=no])
++AS_IF([test "x$HAVE_FREETYPE" = "xyes"],
++ [CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS";
++ FREETYPE_LD_FLAGS=FREETYPE_LIBS;
++ AC_DEFINE([HAVE_FREETYPE], [1],
++ [Define to 1 if you have FreeType library and header file.])
++ M17N_EXT_LIBS="$M17N_EXT_LIBS freetype";
++ AC_CHECK_HEADER([freetype/ftbdf.h], [HAVE_FTBDF_H=yes], [HAVE_FTBDF_H=no],
++ [#include <ft2build.h>
+ #include FT_FREETYPE_H])
+- if test "x$HAVE_FTBDF_H" = "xyes"; then
+- AC_DEFINE(HAVE_FTBDF_H, 1,
+- [Define to 1 if you have freetype/ftbdf.h.])
+- fi
+- CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_FREETYPE"
+- fi
+- fi
+-fi
+-AC_SUBST(FREETYPE_LD_FLAGS)
++ AS_IF([test "x$HAVE_FTBDF_H" = "xyes"],
++ [AC_DEFINE([HAVE_FTBDF_H], [1],
++ [Define to 1 if you have freetype/ftbdf.h.])],
++ [])
++ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_FREETYPE"
++ ],
++ []
++ )
++AC_SUBST([FREETYPE_LD_FLAGS])
+
+ dnl Check for Xft2 usability.
+ save_CPPFLAGS="$CPPFLAGS"
+diff --git a/src/ChangeLog b/src/ChangeLog
+index ee28ea6..8cb91c1 100644
+--- a/src/ChangeLog
++++ b/src/ChangeLog
+@@ -1,3 +1,8 @@
++2018-10-22 K. Handa <handa@gnu.org>
++
++ * chartab.c (dump_sub_chartab): Use %p directive to print a
++ pointer value.
++
+ 2018-02-08 K. Handa <handa@gnu.org>
+
+ Version 1.8.0 released.
+diff --git a/src/chartab.c b/src/chartab.c
+index d58aa65..8aeb6d7 100644
+--- a/src/chartab.c
++++ b/src/chartab.c
+@@ -558,7 +558,7 @@ dump_sub_chartab (MSubCharTable *table, void *default_value,
+ fprintf (mdebug__output, "(default nil)");
+ }
+ else
+- fprintf (mdebug__output, "(default #x%X)", (unsigned) table->default_value);
++ fprintf (mdebug__output, "(default #x%p)", table->default_value);
+
+ default_value = table->default_value;
+ if (table->contents.tables)
+@@ -589,7 +589,7 @@ dump_sub_chartab (MSubCharTable *table, void *default_value,
+ fprintf (mdebug__output, "nil)");
+ }
+ else
+- fprintf (mdebug__output, " #xx%X)", (unsigned) default_value);
++ fprintf (mdebug__output, " #x%p)", default_value);
+ }
+ }
+ fprintf (mdebug__output, ")");
+--
+cgit v1.1
+