linux-qubasis

linux oasis port as a qubes template

git clone https://9o.is/git/linux-qubasis.git

commit dcd96c8a3d07641179b97fa57159c7e211d95bb1
parent 0abfff12cd154239f15e9554c5167afb0a235e90
Author: Jul <jul@9o.is>
Date:   Thu, 27 Nov 2025 10:57:47 -0500

add fontconfig

Diffstat:
Apkg/fontconfig/config.h | 143+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/fontconfig/fcobjshash.h | 332+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/fontconfig/gen.sh | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/fontconfig/patch/0001-Remove-unnecessary-use-of-long-double-constants.patch | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpkg/gen.sh | 1+
5 files changed, 616 insertions(+), 0 deletions(-)

diff --git a/pkg/fontconfig/config.h b/pkg/fontconfig/config.h @@ -0,0 +1,143 @@ +#define FC_CACHEDIR "/var/cache/fontconfig" +#define FC_NO_MT /* we don't use fontconfig in multi-threaded programs */ +#define FC_TEMPLATEDIR "/share/fontconfig/conf.avail" +#define FONTCONFIG_PATH "/etc/fonts" + +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#define ALIGNOF_DOUBLE 8 +#define ALIGNOF_VOID_P 8 +/* #undef ENABLE_LIBXML2 */ +/* #undef ENABLE_NLS */ +#define FC_ADD_FONTS "yes" +/* #undef FC_ARCHITECTURE */ +#define FC_DEFAULT_FONTS "/share/fonts" +#define FC_GPERF_SIZE_T size_t +#define FLEXIBLE_ARRAY_MEMBER /**/ +#define GETTEXT_PACKAGE "fontconfig" +/* #undef HAVE_CFLOCALECOPYCURRENT */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ +/* #undef HAVE_DCGETTEXT */ +#define HAVE_DIRENT_H 1 +#define HAVE_DLFCN_H 1 +/* #undef HAVE_DOPRNT */ +#define HAVE_FCNTL_H 1 +#define HAVE_FSTATFS 1 +#define HAVE_FSTATVFS 1 +#define HAVE_FT_DONE_MM_VAR 1 +#define HAVE_FT_GET_BDF_PROPERTY 1 +#define HAVE_FT_GET_PS_FONT_INFO 1 +#define HAVE_FT_GET_X11_FONT_FORMAT 1 +#define HAVE_FT_HAS_PS_GLYPH_NAMES 1 +/* #undef HAVE_GETEXECNAME */ +#define HAVE_GETOPT 1 +#define HAVE_GETOPT_LONG 1 +#define HAVE_GETPAGESIZE 1 +/* #undef HAVE_GETPROGNAME */ +/* #undef HAVE_GETTEXT */ +/* #undef HAVE_ICONV */ +#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LINK 1 +#define HAVE_LRAND48 1 +#define HAVE_LSTAT 1 +#define HAVE_MEMORY_H 1 +#define HAVE_MKDTEMP 1 +#define HAVE_MKOSTEMP 1 +#define HAVE_MKSTEMP 1 +#define HAVE_MMAP 1 +/* #undef HAVE_NDIR_H */ +#define HAVE_POSIX_FADVISE 1 +#define HAVE_PTHREAD 1 +#define HAVE_PTHREAD_PRIO_INHERIT 1 +#define HAVE_RAND 1 +#define HAVE_RANDOM 1 +/* #undef HAVE_RANDOM_R */ +#define HAVE_RAND_R 1 +#define HAVE_READLINK 1 +/* #undef HAVE_SCHED_H */ +/* #undef HAVE_SCHED_YIELD */ +/* #undef HAVE_SOLARIS_ATOMIC_OPS */ +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRERROR 1 +#define HAVE_STRERROR_R 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRUCT_DIRENT_D_TYPE 1 +#define HAVE_STRUCT_STATFS_F_FLAGS 1 +/* #undef HAVE_STRUCT_STATFS_F_FSTYPENAME */ +/* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */ +/* #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME */ +#define HAVE_STRUCT_STAT_ST_MTIM 1 +/* #undef HAVE_SYS_DIR_H */ +#define HAVE_SYS_MOUNT_H 1 +/* #undef HAVE_SYS_NDIR_H */ +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_STATFS_H 1 +#define HAVE_SYS_STATVFS_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_VFS_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_VPRINTF 1 +/* Can use #warning in C files */ +#define HAVE_WARNING_CPP_DIRECTIVE 1 +/* #undef HAVE_XMLPARSE_H */ +#define HAVE_XML_SETDOCTYPEDECLHANDLER 1 +/* #undef HAVE__MKTEMP_S */ +#define LT_OBJDIR ".libs/" +#define PACKAGE "fontconfig" +#define PACKAGE_BUGREPORT "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new" +#define PACKAGE_NAME "fontconfig" +#define PACKAGE_STRING "fontconfig 2.13.1" +#define PACKAGE_TARNAME "fontconfig" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "2.13.1" +/* #undef PTHREAD_CREATE_JOINABLE */ +/* #undef SIZEOF_CHAR */ +/* #undef SIZEOF_INT */ +/* #undef SIZEOF_LONG */ +/* #undef SIZEOF_SHORT */ +/* #undef SIZEOF_VOIDP */ +#define SIZEOF_VOID_P 8 +#define STDC_HEADERS 1 +#define USE_ICONV 0 +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +#define VERSION "2.13.1" +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif +/* #undef _FILE_OFFSET_BITS */ +/* #undef _LARGE_FILES */ +/* #undef _MINIX */ +/* #undef _POSIX_1_SOURCE */ +/* #undef _POSIX_SOURCE */ +/* #undef const */ +#ifndef __cplusplus +/* #undef inline */ +#endif +/* #undef pid_t */ +#include "config-fixups.h" diff --git a/pkg/fontconfig/fcobjshash.h b/pkg/fontconfig/fcobjshash.h @@ -0,0 +1,332 @@ +/* ANSI-C code produced by gperf version 3.1 */ +/* Command-line: gperf --pic -m 100 fcobjshash.gperf */ +/* Computed positions: -k'2-3' */ + +#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ + && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ + && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ + && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ + && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ + && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ + && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ + && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ + && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ + && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ + && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ + && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ + && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ + && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ + && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ + && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ + && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ + && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ + && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ + && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ + && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ + && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ + && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) +/* The character set is not based on ISO-646. */ +#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>." +#endif + +#line 1 "fcobjshash.gperf" + +#line 13 "fcobjshash.gperf" +struct FcObjectTypeInfo { +int name; +int id; +}; +#include <string.h> +/* maximum key range = 65, duplicates = 0 */ + +#ifdef __GNUC__ +__inline +#else +#ifdef __cplusplus +inline +#endif +#endif +static unsigned int +FcObjectTypeHash (register const char *str, register size_t len) +{ + static const unsigned char asso_values[] = + { + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 9, 21, 18, + 33, 21, 69, 6, 36, 0, 69, 69, 0, 24, + 9, 0, 21, 69, 33, 15, 18, 0, 69, 69, + 0, 21, 6, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69 + }; + return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[1]]; +} + +struct FcObjectTypeNamePool_t + { + char FcObjectTypeNamePool_str4[sizeof("file")]; + char FcObjectTypeNamePool_str5[sizeof("color")]; + char FcObjectTypeNamePool_str7[sizeof("foundry")]; + char FcObjectTypeNamePool_str8[sizeof("fullname")]; + char FcObjectTypeNamePool_str9[sizeof("pixelsize")]; + char FcObjectTypeNamePool_str10[sizeof("size")]; + char FcObjectTypeNamePool_str12[sizeof("fullnamelang")]; + char FcObjectTypeNamePool_str13[sizeof("globaladvance")]; + char FcObjectTypeNamePool_str14[sizeof("slant")]; + char FcObjectTypeNamePool_str16[sizeof("hinting")]; + char FcObjectTypeNamePool_str17[sizeof("minspace")]; + char FcObjectTypeNamePool_str18[sizeof("hintstyle")]; + char FcObjectTypeNamePool_str19[sizeof("fontformat")]; + char FcObjectTypeNamePool_str20[sizeof("fontversion")]; + char FcObjectTypeNamePool_str21[sizeof("fontfeatures")]; + char FcObjectTypeNamePool_str22[sizeof("lang")]; + char FcObjectTypeNamePool_str23[sizeof("fontvariations")]; + char FcObjectTypeNamePool_str24[sizeof("dpi")]; + char FcObjectTypeNamePool_str25[sizeof("outline")]; + char FcObjectTypeNamePool_str26[sizeof("autohint")]; + char FcObjectTypeNamePool_str27[sizeof("weight")]; + char FcObjectTypeNamePool_str28[sizeof("hash")]; + char FcObjectTypeNamePool_str29[sizeof("postscriptname")]; + char FcObjectTypeNamePool_str31[sizeof("rgba")]; + char FcObjectTypeNamePool_str32[sizeof("scale")]; + char FcObjectTypeNamePool_str33[sizeof("matrix")]; + char FcObjectTypeNamePool_str34[sizeof("rasterizer")]; + char FcObjectTypeNamePool_str35[sizeof("scalable")]; + char FcObjectTypeNamePool_str36[sizeof("antialias")]; + char FcObjectTypeNamePool_str37[sizeof("spacing")]; + char FcObjectTypeNamePool_str38[sizeof("width")]; + char FcObjectTypeNamePool_str39[sizeof("family")]; + char FcObjectTypeNamePool_str40[sizeof("capability")]; + char FcObjectTypeNamePool_str41[sizeof("namelang")]; + char FcObjectTypeNamePool_str42[sizeof("aspect")]; + char FcObjectTypeNamePool_str43[sizeof("familylang")]; + char FcObjectTypeNamePool_str44[sizeof("style")]; + char FcObjectTypeNamePool_str46[sizeof("prgname")]; + char FcObjectTypeNamePool_str47[sizeof("index")]; + char FcObjectTypeNamePool_str48[sizeof("stylelang")]; + char FcObjectTypeNamePool_str49[sizeof("decorative")]; + char FcObjectTypeNamePool_str50[sizeof("variable")]; + char FcObjectTypeNamePool_str51[sizeof("symbol")]; + char FcObjectTypeNamePool_str52[sizeof("charset")]; + char FcObjectTypeNamePool_str53[sizeof("embolden")]; + char FcObjectTypeNamePool_str54[sizeof("charwidth")]; + char FcObjectTypeNamePool_str55[sizeof("charheight")]; + char FcObjectTypeNamePool_str59[sizeof("embeddedbitmap")]; + char FcObjectTypeNamePool_str60[sizeof("lcdfilter")]; + char FcObjectTypeNamePool_str68[sizeof("verticallayout")]; + }; +static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents = + { + "file", + "color", + "foundry", + "fullname", + "pixelsize", + "size", + "fullnamelang", + "globaladvance", + "slant", + "hinting", + "minspace", + "hintstyle", + "fontformat", + "fontversion", + "fontfeatures", + "lang", + "fontvariations", + "dpi", + "outline", + "autohint", + "weight", + "hash", + "postscriptname", + "rgba", + "scale", + "matrix", + "rasterizer", + "scalable", + "antialias", + "spacing", + "width", + "family", + "capability", + "namelang", + "aspect", + "familylang", + "style", + "prgname", + "index", + "stylelang", + "decorative", + "variable", + "symbol", + "charset", + "embolden", + "charwidth", + "charheight", + "embeddedbitmap", + "lcdfilter", + "verticallayout" + }; +#define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents) +const struct FcObjectTypeInfo * +FcObjectTypeLookup (register const char *str, register size_t len) +{ + enum + { + TOTAL_KEYWORDS = 50, + MIN_WORD_LENGTH = 3, + MAX_WORD_LENGTH = 14, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 68 + }; + + static const struct FcObjectTypeInfo wordlist[] = + { + {-1}, {-1}, {-1}, {-1}, +#line 38 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT}, +#line 64 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT}, + {-1}, +#line 31 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT}, +#line 22 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT}, +#line 29 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT}, +#line 27 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_SIZE_OBJECT}, + {-1}, +#line 23 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT}, +#line 37 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT}, +#line 24 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_SLANT_OBJECT}, + {-1}, +#line 34 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINTING_OBJECT}, +#line 46 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_MINSPACE_OBJECT}, +#line 33 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_HINT_STYLE_OBJECT}, +#line 54 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONTFORMAT_OBJECT}, +#line 52 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_FONTVERSION_OBJECT}, +#line 60 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_FONT_FEATURES_OBJECT}, +#line 51 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_LANG_OBJECT}, +#line 66 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_FONT_VARIATIONS_OBJECT}, +#line 43 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_DPI_OBJECT}, +#line 41 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_OUTLINE_OBJECT}, +#line 36 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_AUTOHINT_OBJECT}, +#line 25 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_WEIGHT_OBJECT}, +#line 62 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_HASH_OBJECT}, +#line 63 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_POSTSCRIPT_NAME_OBJECT}, + {-1}, +#line 44 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_RGBA_OBJECT}, +#line 45 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_SCALE_OBJECT}, +#line 49 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_MATRIX_OBJECT}, +#line 40 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_RASTERIZER_OBJECT}, +#line 42 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_SCALABLE_OBJECT}, +#line 32 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_ANTIALIAS_OBJECT}, +#line 30 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_SPACING_OBJECT}, +#line 26 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_WIDTH_OBJECT}, +#line 18 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_FAMILY_OBJECT}, +#line 53 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_CAPABILITY_OBJECT}, +#line 59 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_NAMELANG_OBJECT}, +#line 28 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_ASPECT_OBJECT}, +#line 19 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_FAMILYLANG_OBJECT}, +#line 20 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_STYLE_OBJECT}, + {-1}, +#line 61 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_PRGNAME_OBJECT}, +#line 39 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_INDEX_OBJECT}, +#line 21 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_STYLELANG_OBJECT}, +#line 57 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_DECORATIVE_OBJECT}, +#line 67 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_VARIABLE_OBJECT}, +#line 65 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_SYMBOL_OBJECT}, +#line 50 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CHARSET_OBJECT}, +#line 55 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_EMBOLDEN_OBJECT}, +#line 47 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str54,FC_CHARWIDTH_OBJECT}, +#line 48 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_CHAR_HEIGHT_OBJECT}, + {-1}, {-1}, {-1}, +#line 56 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_EMBEDDED_BITMAP_OBJECT}, +#line 58 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str60,FC_LCD_FILTER_OBJECT}, + {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, +#line 35 "fcobjshash.gperf" + {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str68,FC_VERTICAL_LAYOUT_OBJECT} + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + register unsigned int key = FcObjectTypeHash (str, len); + + if (key <= MAX_HASH_VALUE) + { + register int o = wordlist[key].name; + if (o >= 0) + { + register const char *s = o + FcObjectTypeNamePool; + + if (*str == *s && !strcmp (str + 1, s + 1)) + return &wordlist[key]; + } + } + } + return 0; +} diff --git a/pkg/fontconfig/gen.sh b/pkg/fontconfig/gen.sh @@ -0,0 +1,74 @@ +curl https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.1.tar.gz \ + 9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f + +cflags " + -DHAVE_CONFIG_H + -I$dir + -I$outdir + -I$srcdir + -isystem $pkgdir/freetype/include + -isystem $pkgdir/expat/include + -isystem $pkgdir/util-linux/include + -Wno-unused-parameter + -Wno-missing-field-initializers + -Wno-sign-compare +" + +dep " + expat/headers + freetype/headers + util-linux/headers + $outdir/fcftalias.h + $outdir/fcftaliastail.h + $outdir/fcalias.h + $outdir/fcaliastail.h +" + +include --src-prefix fontconfig --prefix fontconfig " + fontconfig.h + fcfreetype.h +" + +rule makealias '$srcdir/src/makealias $srcdir/src $out $in' +bind description 'MAKEALIAS $out' + +makealias 'fcftalias.h fcftaliastail.h' fontconfig/fcfreetype.h +makealias 'fcalias.h fcaliastail.h' " + fontconfig/fontconfig.h + fontconfig/fcprivate.h + src/fcdeprecate.h +" + +lib libfontconfig.a --src-prefix src " + fcatomic.c + fccache.c + fccfg.c + fccharset.c + fccompat.c + fcdbg.c + fcdefault.c + fcdir.c + fcformat.c + fcfreetype.c + fcfs.c + fchash.c + fcinit.c + fclang.c + fclist.c + fcmatch.c + fcmatrix.c + fcname.c + fcobjs.c + fcpat.c + fcptrlist.c + fcrange.c + fcserialize.c + fcstat.c + fcstr.c + fcweight.c + fcxml.c + ftglue.c + $pkgdir/expat/libexpat.a.d + $pkgdir/freetype/libfreetype.a.d + $pkgdir/util-linux/libuuid.a.d +" diff --git a/pkg/fontconfig/patch/0001-Remove-unnecessary-use-of-long-double-constants.patch b/pkg/fontconfig/patch/0001-Remove-unnecessary-use-of-long-double-constants.patch @@ -0,0 +1,66 @@ +From e74cd485038256cb170a102413d76ecaac61cf5b Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Mon, 6 Sep 2021 18:29:49 -0700 +Subject: [PATCH] Remove unnecessary use of long double constants + +These constants are immediately converted to double so there is no +reason to make them long double. +--- + src/fcdefault.c | 2 +- + src/fcfreetype.c | 4 ++-- + src/fcxml.c | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/fcdefault.c b/src/fcdefault.c +index f3addca..be00c48 100644 +--- a/src/fcdefault.c ++++ b/src/fcdefault.c +@@ -263,7 +263,7 @@ FcDefaultSubstitute (FcPattern *pattern) + if (FcPatternObjectGetRange (pattern, FC_SIZE_OBJECT, 0, &r) == FcResultMatch && FcRangeGetDouble (r, &b, &e)) + size = (b + e) * .5; + else +- size = 12.0L; ++ size = 12.0; + } + if (FcPatternObjectGetDouble (pattern, FC_SCALE_OBJECT, 0, &scale) != FcResultMatch) + scale = 1.0; +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index 07978cf..0845232 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -1811,8 +1811,8 @@ FcFreeTypeQueryFaceInternal (const FT_Face face, + FcRange *r; + + /* usLowerPointSize and usUpperPointSize is actually twips */ +- lower_size = os2->usLowerOpticalPointSize / 20.0L; +- upper_size = os2->usUpperOpticalPointSize / 20.0L; ++ lower_size = os2->usLowerOpticalPointSize / 20.0; ++ upper_size = os2->usUpperOpticalPointSize / 20.0; + + if (lower_size == upper_size) + { +diff --git a/src/fcxml.c b/src/fcxml.c +index 7797502..f6516ae 100644 +--- a/src/fcxml.c ++++ b/src/fcxml.c +@@ -1493,7 +1493,7 @@ FcParseRange (FcConfigParse *parse) + FcRange *r; + FcChar32 n[2] = {0, 0}; + int count = 1; +- double d[2] = {0.0L, 0.0L}; ++ double d[2] = {0.0, 0.0}; + FcBool dflag = FcFalse; + + while ((vstack = FcVStackPeek (parse))) +@@ -1519,7 +1519,7 @@ FcParseRange (FcConfigParse *parse) + default: + FcConfigMessage (parse, FcSevereError, "invalid element in range"); + if (dflag) +- d[count] = 0.0L; ++ d[count] = 0.0; + else + n[count] = 0; + break; +-- +2.32.0 + diff --git a/pkg/gen.sh b/pkg/gen.sh @@ -20,6 +20,7 @@ pkg byacc pkg bzip2 pkg e2fsprogs pkg expat +pkg fontconfig pkg freetype pkg fspec-sync pkg fzy