gnu: ghostscript: Fix build with FreeType 2.10.4.

This fixes a build failure from 79b31767d0.

* gnu/packages/patches/ghostscript-freetype-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/ghostscript.scm (ghostscript)[source](patches): Add it.
This commit is contained in:
Marius Bakke 2020-12-08 22:18:30 +01:00
parent 18f10c0b12
commit 9337c16cb6
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
3 changed files with 38 additions and 1 deletions

View file

@ -1055,6 +1055,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghc-monad-par-fix-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-html-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-latex-test.patch \
%D%/packages/patches/ghostscript-freetype-compat.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \

View file

@ -170,7 +170,8 @@ (define-public ghostscript
(sha256
(base32
"0z1w42y2jmcpl2m1l3z0sfii6zmvzcwcgzn6bydklia6ig7jli2p"))
(patches (search-patches "ghostscript-no-header-creationdate.patch"
(patches (search-patches "ghostscript-freetype-compat.patch"
"ghostscript-no-header-creationdate.patch"
"ghostscript-no-header-id.patch"
"ghostscript-no-header-uuid.patch"))
(modules '((guix build utils)))

View file

@ -0,0 +1,35 @@
Fix build with FreeType 2.10.3 and newer.
Taken from upstream:
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=41ef9a0bc36b9db7115fbe9623f989bfb47bbade
diff --git a/base/fapi_ft.c b/base/fapi_ft.c
--- a/base/fapi_ft.c
+++ b/base/fapi_ft.c
@@ -125,7 +125,7 @@ static void
delete_inc_int_info(gs_fapi_server * a_server,
FT_IncrementalRec * a_inc_int_info);
-FT_CALLBACK_DEF(void *)
+static void *
FF_alloc(FT_Memory memory, long size)
{
gs_memory_t *mem = (gs_memory_t *) memory->user;
@@ -133,7 +133,7 @@ FF_alloc(FT_Memory memory, long size)
return (gs_malloc(mem, size, 1, "FF_alloc"));
}
-FT_CALLBACK_DEF(void *)
+static void *
FF_realloc(FT_Memory memory, long cur_size, long new_size, void *block)
{
gs_memory_t *mem = (gs_memory_t *) memory->user;
@@ -153,7 +153,7 @@ FT_CALLBACK_DEF(void *)
return (tmp);
}
-FT_CALLBACK_DEF(void)
+static void
FF_free(FT_Memory memory, void *block)
{
gs_memory_t *mem = (gs_memory_t *) memory->user;