mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-10 15:46:48 -04:00
build: use patch rather than sed in fontconfig package
This commit is contained in:
parent
335bd7f8bc
commit
865cb23a48
3 changed files with 92 additions and 6 deletions
|
@ -4,23 +4,23 @@ $(package)_download_path=https://www.freedesktop.org/software/fontconfig/release
|
|||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
|
||||
$(package)_dependencies=freetype expat
|
||||
$(package)_patches=remove_char_width_usage.patch gperf_header_regen.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-docs --disable-static --disable-libxml2 --disable-iconv
|
||||
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/remove_char_width_usage.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/gperf_header_regen.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig
|
||||
# have broken makefiles which needlessly attempt to re-generate headers with gperf.
|
||||
# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation.
|
||||
# This can be removed once the upstream build is fixed.
|
||||
define $(package)_build_cmds
|
||||
sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \
|
||||
sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
|
|
24
depends/patches/fontconfig/gperf_header_regen.patch
Normal file
24
depends/patches/fontconfig/gperf_header_regen.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
commit 7b6eb33ecd88768b28c67ce5d2d68a7eed5936b6
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 25 14:34:53 2020 +0800
|
||||
|
||||
Remove rule that causes inadvertant header regeneration
|
||||
|
||||
Otherwise the makefile will needlessly attempt to re-generate the
|
||||
headers with gperf. This can be dropped once the upstream build is fixed.
|
||||
|
||||
See #10851.
|
||||
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index f4626ad..4ae1b00 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -903,7 +903,7 @@ fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
|
||||
' - > $@.tmp && \
|
||||
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
|
||||
|
||||
-fcobjshash.h: fcobjshash.gperf
|
||||
+fcobjshash.h:
|
||||
$(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
|
||||
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
|
||||
|
62
depends/patches/fontconfig/remove_char_width_usage.patch
Normal file
62
depends/patches/fontconfig/remove_char_width_usage.patch
Normal file
|
@ -0,0 +1,62 @@
|
|||
commit 28165a9b078583dc8e9e5c344510e37582284cef
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Mon Aug 17 20:35:42 2020 +0800
|
||||
|
||||
Remove usage of CHAR_WIDTH
|
||||
|
||||
CHAR_WIDTH which is reserved and clashes with glibc 2.25+
|
||||
|
||||
See #10851.
|
||||
|
||||
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
|
||||
index 5c72b22..843c532 100644
|
||||
--- a/fontconfig/fontconfig.h
|
||||
+++ b/fontconfig/fontconfig.h
|
||||
@@ -128,7 +128,7 @@ typedef int FcBool;
|
||||
#define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
|
||||
|
||||
/* Adjust outline rasterizer */
|
||||
-#define FC_CHAR_WIDTH "charwidth" /* Int */
|
||||
+#define FC_CHARWIDTH "charwidth" /* Int */
|
||||
#define FC_CHAR_HEIGHT "charheight"/* Int */
|
||||
#define FC_MATRIX "matrix" /* FcMatrix */
|
||||
|
||||
diff --git a/src/fcobjs.h b/src/fcobjs.h
|
||||
index 1fc4f65..d27864b 100644
|
||||
--- a/src/fcobjs.h
|
||||
+++ b/src/fcobjs.h
|
||||
@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL)
|
||||
FC_OBJECT (RGBA, FcTypeInteger, NULL)
|
||||
FC_OBJECT (SCALE, FcTypeDouble, NULL)
|
||||
FC_OBJECT (MINSPACE, FcTypeBool, NULL)
|
||||
-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
|
||||
+FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
|
||||
FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
|
||||
FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
|
||||
FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
|
||||
diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
|
||||
index 80a0237..eb4ad84 100644
|
||||
--- a/src/fcobjshash.gperf
|
||||
+++ b/src/fcobjshash.gperf
|
||||
@@ -44,7 +44,7 @@ int id;
|
||||
"rgba",FC_RGBA_OBJECT
|
||||
"scale",FC_SCALE_OBJECT
|
||||
"minspace",FC_MINSPACE_OBJECT
|
||||
-"charwidth",FC_CHAR_WIDTH_OBJECT
|
||||
+"charwidth",FC_CHARWIDTH_OBJECT
|
||||
"charheight",FC_CHAR_HEIGHT_OBJECT
|
||||
"matrix",FC_MATRIX_OBJECT
|
||||
"charset",FC_CHARSET_OBJECT
|
||||
diff --git a/src/fcobjshash.h b/src/fcobjshash.h
|
||||
index 5a4d1ea..4e66bb0 100644
|
||||
--- a/src/fcobjshash.h
|
||||
+++ b/src/fcobjshash.h
|
||||
@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char *str, register unsigned int len)
|
||||
{(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
|
||||
{-1},
|
||||
#line 47 "fcobjshash.gperf"
|
||||
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
|
||||
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
|
||||
#line 48 "fcobjshash.gperf"
|
||||
{(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
|
||||
#line 55 "fcobjshash.gperf"
|
Loading…
Add table
Reference in a new issue