From c23ade9bf8cf53a713981b7885a55ff1c537d8b7 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sun, 20 Jun 2021 14:46:05 +0300 Subject: [PATCH] aedi: add freetype-config --- aedi/target/library_tier2.py | 7 ++ patch/freetype-config | 211 +++++++++++++++++++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100755 patch/freetype-config diff --git a/aedi/target/library_tier2.py b/aedi/target/library_tier2.py index 4e194b13..8d5cd50f 100644 --- a/aedi/target/library_tier2.py +++ b/aedi/target/library_tier2.py @@ -70,6 +70,13 @@ class FreeTypeTarget(CMakeStaticDependencyTarget): def detect(self, state: BuildState) -> bool: return os.path.exists(state.source + 'include/freetype/freetype.h') + def post_build(self, state: BuildState): + super().post_build(state) + + bin_path = state.install_path + 'bin' + os.makedirs(bin_path) + shutil.copy(state.patch_path + 'freetype-config', bin_path) + class LzmaTarget(CMakeStaticDependencyTarget): def __init__(self, name='lzma'): diff --git a/patch/freetype-config b/patch/freetype-config new file mode 100755 index 00000000..73938e4d --- /dev/null +++ b/patch/freetype-config @@ -0,0 +1,211 @@ +#! /bin/sh +# +# Copyright (C) 2000-2020 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + +LC_ALL=C +export LC_ALL + + +# if `pkg-config' is available, use values from `freetype2.pc' +pkg-config --atleast-pkgconfig-version 0.24 >/dev/null 2>&1 +if test $? -eq 0 ; then + # note that option `--variable' is not affected by the + # PKG_CONFIG_SYSROOT_DIR environment variable + if test "x$SYSROOT" != "x" ; then + PKG_CONFIG_SYSROOT_DIR="$SYSROOT" + export PKG_CONFIG_SYSROOT_DIR + fi + + prefix=`pkg-config --variable prefix freetype2` + exec_prefix=`pkg-config --variable exec_prefix freetype2` + + includedir=`pkg-config --variable includedir freetype2` + libdir=`pkg-config --variable libdir freetype2` + + version=`pkg-config --modversion freetype2` + + cflags=`pkg-config --cflags freetype2` + dynamic_libs=`pkg-config --libs freetype2` + static_libs=`pkg-config --static --libs freetype2` +else + prefix="$(cd "${0%/*}/.."; pwd)" + exec_prefix=${prefix} + + includedir=${prefix}/include + libdir=${exec_prefix}/lib + + version=23.4.17 + + cflags="-I${SYSROOT}$includedir/freetype2" + dynamic_libs="-lfreetype" + static_libs="-lfreetype -lz -lbz2 -lpng16" + if test "${SYSROOT}$libdir" != "/usr/lib" && + test "${SYSROOT}$libdir" != "/usr/lib64" ; then + libs_L="-L${SYSROOT}$libdir" + fi +fi + +orig_prefix=$prefix +orig_exec_prefix=$exec_prefix + +orig_includedir=$includedir +orig_libdir=$libdir + +include_suffix=`echo $includedir | sed "s|$prefix||"` +lib_suffix=`echo $libdir | sed "s|$exec_prefix||"` + + +usage() +{ + cat <&2 +fi + + +while test $# -gt 0 ; do + case "$1" in + -*=*) + optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` + ;; + *) + optarg= + ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + local_prefix=yes + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + local_prefix=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo_version=yes + break + ;; + --ftversion) + echo_ft_version=yes + ;; + --cflags) + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + --libtool) + echo_libtool=yes + ;; + --static) + show_static=yes + ;; + --help) + usage 0 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + + +if test "$local_prefix" = "yes" ; then + if test "$exec_prefix_set" != "yes" ; then + exec_prefix=$prefix + fi +fi + +if test "$local_prefix" = "yes" ; then + includedir=${prefix}${include_suffix} + if test "$exec_prefix_set" = "yes" ; then + libdir=${exec_prefix}${lib_suffix} + else + libdir=${prefix}${lib_suffix} + fi +fi + + +if test "$echo_version" = "yes" ; then + echo $version +fi + +if test "$echo_prefix" = "yes" ; then + echo ${SYSROOT}$prefix +fi + +if test "$echo_exec_prefix" = "yes" ; then + echo ${SYSROOT}$exec_prefix +fi + +if test "$echo_ft_version" = "yes" ; then + major=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \ + | grep FREETYPE_MAJOR \ + | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'` + minor=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \ + | grep FREETYPE_MINOR \ + | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'` + patch=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \ + | grep FREETYPE_PATCH \ + | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'` + echo $major.$minor.$patch +fi + +if test "$echo_cflags" = "yes" ; then + echo $cflags | sed "s|$orig_includedir/freetype2|$includedir/freetype2|" +fi + +if test "$echo_libs" = "yes" ; then + if test "$show_static" = "yes" ; then + libs="$libs_L $static_libs" + else + libs="$libs_L $dynamic_libs" + fi + echo $libs | sed "s|$orig_libdir|$libdir|" +fi + +if test "$echo_libtool" = "yes" ; then + echo ${SYSROOT}$libdir/libfreetype.la +fi + +# EOF