package/fcft: new package

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Adam Duskett 2023-12-18 12:39:50 -07:00 committed by Thomas Petazzoni
parent 996b786cfc
commit de5a82755d
5 changed files with 101 additions and 0 deletions

View File

@ -33,6 +33,7 @@ F: package/vulkan-tools/
N: Adam Duskett <adam.duskett@amarulasolutions.com>
F: package/depot-tools/
F: package/fcft/
F: package/flutter-engine/
F: package/flutter-gallery/
F: package/flutter-pi/

View File

@ -2225,6 +2225,7 @@ menu "Text and terminal handling"
source "package/cli11/Config.in"
source "package/docopt-cpp/Config.in"
source "package/enchant/Config.in"
source "package/fcft/Config.in"
source "package/fmt/Config.in"
source "package/fstrcmp/Config.in"
source "package/icu/Config.in"

52
package/fcft/Config.in Normal file
View File

@ -0,0 +1,52 @@
config BR2_PACKAGE_FCFT
bool "fcft"
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_TLLIST
help
A simple library for font loading and glyph rasterization
using FontConfig, FreeType and pixman.
https://codeberg.org/dnkl/fcft
if BR2_PACKAGE_FCFT
config BR2_PACKAGE_FCFT_GRAPHEME_SHAPING
bool "grapheme-shaping"
depends on BR2_INSTALL_LIBSTDCPP # harfbuzz
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz
select BR2_PACKAGE_HARFBUZZ
help
Enables shaping of individual grapheme clusters
comment "grapheme-shaping needs a toolchain w/ C++, gcc >= 4.9"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_PACKAGE_FCFT_RUN_SHAPING
bool "run-shaping"
depends on BR2_INSTALL_LIBSTDCPP # harfbuzz
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # harfbuzz
select BR2_PACKAGE_HARFBUZZ
select BR2_PACKAGE_UTF8PROC
help
Enables shaping of whole text runs.
comment "run-shaping needs a toolchain w/ C++, gcc >= 4.9"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
config BR2_PACKAGE_FCFT_SVG_SUPPORT
bool "svg support"
help
Enables svg support. This option increases the size of the
library by approximately 55KB.
endif # BR2_PACKAGE_FCFT
comment "fcft needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS

3
package/fcft/fcft.hash Normal file
View File

@ -0,0 +1,3 @@
# Locally computed
sha256 904f40d749d198d97c46c5a459cd3c53fe92f008cf1e3e61949f6cf3036a78b7 3.1.6.tar.gz
sha256 d534a23a31500a0ac958d9634b84f532bd73ff1aca1bb8f7debbcbebc16ff39a LICENSE

44
package/fcft/fcft.mk Normal file
View File

@ -0,0 +1,44 @@
################################################################################
#
# fcft
#
################################################################################
FCFT_VERSION = 3.1.6
FCFT_SOURCE = $(FCFT_VERSION).tar.gz
FCFT_SITE = https://codeberg.org/dnkl/fcft/archive
FCFT_LICENSE = MIT
FCFT_LICENSE_FILES = LICENSE
FCFT_INSTALL_STAGING = YES
FCFT_DEPENDENCIES = \
fontconfig \
freetype \
pixman \
tllist
FCFT_CONF_OPTS = \
-Ddocs=disabled \
-Dexamples=false
ifeq ($(BR2_PACKAGE_FCFT_GRAPHEME_SHAPING),y)
FCFT_DEPENDENCIES += harfbuzz
FCFT_CONF_OPTS += -Dgrapheme-shaping=enabled
else
FCFT_CONF_OPTS += -Dgrapheme-shaping=disabled
endif
ifeq ($(BR2_PACKAGE_FCFT_RUN_SHAPING),y)
FCFT_DEPENDENCIES += harfbuzz utf8proc
FCFT_CONF_OPTS += -Drun-shaping=enabled
else
FCFT_CONF_OPTS += -Drun-shaping=disabled
endif
ifeq ($(BR2_PACKAGE_FCFT_SVG_SUPPORT),y)
FCFT_CONF_OPTS += -Dsvg-backend='nanosvg'
else
FCFT_CONF_OPTS += -Dsvg-backend='none'
endif
$(eval $(meson-package))