diff options
author | Z572 <873216071@qq.com> | 2023-03-06 13:57:35 +0800 |
---|---|---|
committer | 宋文武 <iyzsong@member.fsf.org> | 2023-03-17 18:33:38 +0800 |
commit | 84a70d7c15314f01149ddc0728195c7b9f6309c7 (patch) | |
tree | 4797cf6602f6683950b16915d1e24f5ae3faf382 | |
parent | bf2c66b44e17c9749bbc1ef5e0330caf4c91ef4c (diff) | |
download | guix-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.mk | 2 | ||||
-rw-r--r-- | gnu/packages/emacs.scm | 25 | ||||
-rw-r--r-- | gnu/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch | 125 |
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 + |