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>
This commit is contained in:
Z572 2023-03-06 13:57:35 +08:00 committed by 宋文武
parent bf2c66b44e
commit 84a70d7c15
No known key found for this signature in database
GPG Key ID: D415BF253B515976
3 changed files with 150 additions and 2 deletions

View File

@ -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 \

View File

@ -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.

View File

@ -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