فهرست منبع

package/fcft: new package

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Adam Duskett 1 سال پیش
والد
کامیت
de5a82755d
5فایلهای تغییر یافته به همراه101 افزوده شده و 0 حذف شده
  1. 1 0
      DEVELOPERS
  2. 1 0
      package/Config.in
  3. 52 0
      package/fcft/Config.in
  4. 3 0
      package/fcft/fcft.hash
  5. 44 0
      package/fcft/fcft.mk

+ 1 - 0
DEVELOPERS

@@ -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/

+ 1 - 0
package/Config.in

@@ -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 - 0
package/fcft/Config.in

@@ -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 - 0
package/fcft/fcft.hash

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

+ 44 - 0
package/fcft/fcft.mk

@@ -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))