summaryrefslogtreecommitdiff
path: root/media-libs/freetype
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/freetype')
-rw-r--r--media-libs/freetype/Manifest3
-rw-r--r--media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch26
-rw-r--r--media-libs/freetype/freetype-2.11.0-r1.ebuild249
3 files changed, 278 insertions, 0 deletions
diff --git a/media-libs/freetype/Manifest b/media-libs/freetype/Manifest
index 7e1cdd3ca6a2..4b819e6f3fd9 100644
--- a/media-libs/freetype/Manifest
+++ b/media-libs/freetype/Manifest
@@ -1,14 +1,17 @@
AUX freetype-2.10.3-sizeof-types.patch 1038 BLAKE2B bb49e7d4195346b67f37c16f9f31e3d5b658398afa7209c5d7c89dbbf90c98385d0827960545b83573425c6be8e4615311f76d93e40ff6237977bfe160639587 SHA512 64e3cc7820bd0b8816ad34108fa174da90f2a0b8f96a3c94425900ba5f5eb8b01074fdfa3bee699815d7eb74ec44cf043239a932a228c2971557fad0caec912f
AUX freetype-2.10.4-dont_hardcode_libtool.patch 1312 BLAKE2B 7cd7d9f5284a54a9667243ce1e2f16104f75b117b9b27367ccd2ceaf4c643829b3f1a031d51b6008d9300a31322634602cf281f09d56ecbfbf143b466894c4a4 SHA512 85f66eed284fe804857e1d651cbfc75cfcc4bad2126681dc36873cd9f9561c9d6c31fee39bc333e8ac936f491708e4b7b9d62de4b75015ac9a1f78b3c8647ec1
AUX freetype-2.10.4-slibtool_build_fix.patch 1262 BLAKE2B b2e3fc0565f5b90c00628d44ec3d1633c3ccce0df3effabaf9e36636b78067d03c899c86a100e11df27ca299daf4afdc815924430b04a42bcabb4104d7f4a8b7 SHA512 5fd4fce61c4f1f78fc6e19477e89b8f989ad17a50ff48c49841f6a7499e0843525a489e622db8064799749b53e62f0177bbfde519fe03813eedd7ca6e752f238
+AUX freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch 681 BLAKE2B addd6b85be20b48b92af7f21dafab7014fae110163ed7d6a9341d958505d46a76dc131a54b1c954f3157737429b3b4a87ea0c7c621bfb3cb8f4f101ae2ce9398 SHA512 36060458da10c1afeaf3303010235e2b9adfd0273a7b8c0c0b5e4d4c30a3eac79485919613de892a1b0f2637d5f98fd5314477e833b78819421f134d6cdf40a3
AUX ft2demos-2.10.4-install_target.patch 1647 BLAKE2B 4409123fbb089c1312ff90ebbb32c70f3a0025d96b705dd6be24bdf33fa0b1956e512549c39e5b378c2a6f4a4cb8e7708c096c786fbf0bcc3e037f691f9aad21 SHA512 5d77f5892f7ce4ab1bc3dcbfb04cd86f2fc54e347c2b3ce7e701995b0f75efc0164797b18454b645a0cc1cc8b0f41816b5bca19d786a66f3bc145fa0ca2cd8b1
DIST freetype-2.10.4.tar.xz 2416620 BLAKE2B 9852378536e873514baae3c024b9b30dcd78a36c2189dcbdb0562c56ccf871a5795896950ea129f2e0f12181095c92715216747e8a8396d6d03efac82a5a10ea SHA512 827cda734aa6b537a8bcb247549b72bc1e082a5b32ab8d3cccb7cc26d5f6ee087c19ce34544fa388a1eb4ecaf97600dbabc3e10e950f2ba692617fee7081518f
+DIST freetype-2.11.0-COLR_v1_clipbox.patch.xz 3940 BLAKE2B 45b84b1070a9a9e1e13058ce7200555f4f9e26df4fe25eab4a644869df86f267cc91bfcf2ab10a9f0673be51504f05eec730300dee13ca34bb6f8afdc32ee354 SHA512 bf0cc00b3f27cb3408881cec46654be57b96b099cfd3df06e33b94aa47f35a7c9499a9935837be0f652d4f17ab2b6c78bc1fcef328754cde64f0b139d00ceb29
DIST freetype-2.11.0.tar.xz 2256640 BLAKE2B ed14b566b8ac31a85dde4c8d26dd8b001f6a2cb506cfafd550b31bb90a3f592376d6f9f6bbe1b6c21e27e4ad23d0eafa7ea886211174b978e101fb6a77261324 SHA512 bf1991f3c382832586be1d21ae73c20840ee8546807ba60d0eb0215134545656c0c8de488f27357d4a4f6497d7cb540998cda98ec59061a3e640036fb209147d
DIST freetype-doc-2.10.4.tar.xz 2079084 BLAKE2B a051c425250f8af1cd0e83b15d6e5692b1ee5ff00317467cef648dcc7ea1f88ad6cde0fe2d53e5c45220723bb935e6527dbba124ef8739e6ebe372bc06ec78b7 SHA512 171da6c6a172869e9bec0da67cb1abdb0fdb124870f13b751b4e9b1b5e342fb2af38cb606db1c3dcf18076a077e694b7b8dd055dd7f4ab49afe7e1d61b4f9ba8
DIST freetype-doc-2.11.0.tar.xz 2070604 BLAKE2B a45fa2e97574868fc4f08c646cb815152dde462538a32fddfc5ddccb32343286765f3952b9fc8b66204dfeb62470d4fada1a2338c377efa1c716ab9c5885fd60 SHA512 5bddaec4f237a9f6e63dbed5f65d0b5ffe0a414ea2d6e1c3bb1142baf5535cee7e7c282b6af8c630e772ffc196b8c4bf8e18bc21a72749a09b6af388287c7301
DIST ft2demos-2.10.4.tar.xz 236712 BLAKE2B 76883bfc09c42b6092b0b512aff66b4585ac83793da787e688ad8446fceac1ce315014bde03d4271fc5a1b7bd1d3250255f5faced92beade6e4ed78c896db80d SHA512 d2afc19e5fabbee5205fcc992f6c19bab03485b7af4f55bb2d2dd0a4a9492a3f593540862ca116b54cf161b240d7966cb31a9793578d164fc418449e339e2fa8
DIST ft2demos-2.11.0.tar.xz 257316 BLAKE2B fa59eeeba502733db940965a1affe8fc9ecefd68d3d31dd8c8a94b769310d53975403f7a7c4c6ca6f381b10f9b3057698bd09fff9adafa26981192478d3ca602 SHA512 9c5727bf479afafc1c765a131875b88b0e656d1db986f95c021b0386f5c4cc6135db7584a5d553363dcf52dfc9c9199cd1f3da2cc6644f58de85848b058fd531
EBUILD freetype-2.10.4.ebuild 6685 BLAKE2B ff901fcd11233f9c6a985704ff2296d86331618e02097274edc12fa792d9a11de530eb6f761514b4d03e11b00d42c993c73b3936a9b9bfa0cab15c9eea36f501 SHA512 e991118b3868791a4dd4cac750d4a31935766a97cc4998a0561f0a296f54e8bae7da7057226642e83cf61199dbaa463c17f97422edd73f30a65ad9dafd9ce750
+EBUILD freetype-2.11.0-r1.ebuild 7319 BLAKE2B 352479df39ea4606123cfa2e8072832ffd13abb8668bc4921ea917398e7c95aa1599087dfe63867c8cf3ee521fa3319872e33ffc28d613593647eca30b700cab SHA512 ac813d232321653217ada7b9341c13283d9831b06a6b68f6c99f1e351f1cbadcaa498a54c50c4be16fe7c62c2be4b165e1602b25d4bbad972d75cb149e60cfd9
EBUILD freetype-2.11.0.ebuild 7145 BLAKE2B f07030afe12ba89b7a67cf9a38e01968f814dcd14411c0917dfee7fec3fb1349b733446ee6f7a279efba38237b39b4293470b3e30a44553bb03411807a726ace SHA512 18d39d3e1eb0e5cc4af16baf26880a30125bc6516fa71d4df16e27291f89591ecbf7659368e7c80ba4d0d352f721d6c456cde3c2147686031bd7017b638d9e33
EBUILD freetype-9999.ebuild 7149 BLAKE2B d9698283807a6799874f8a091e1defce0493d4595b59fe4b9eae558523bcdea09576342dbb5ea4c8c67982a74391e9ac2aa6c6d39f3ae29db752cbf12e5214d5 SHA512 faf5616c0a855be291e1613cc0c2082bda0092e106c053989a333c4b7d3ed2ef7d41094e7e174f516aed831e0701e378ba3bacebbd0a95022bed000b0b1fdc30
MISC metadata.xml 1613 BLAKE2B 93afe7641d11f06f2b6c87348498fe292b50f1b6240019532bc8639bf2b70c0511014c720e3fc7fe0e0f033bb4449745df0a489597750e4d99695798bbbdf2b1 SHA512 ee0c14554af76884f8efced54d2dd7b0dcb90c3aeb8e6ed638956a79d840bc825c32af49230f56e7659bdfc4cfe761068c0ebf31ee3cd28f79078cd5738e052e
diff --git a/media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch b/media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch
new file mode 100644
index 000000000000..f602866f591a
--- /dev/null
+++ b/media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch
@@ -0,0 +1,26 @@
+From fed5521016227bf8cc4475f66450a9963568d162 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Mon, 9 Aug 2021 19:27:34 +0200
+Subject: [PATCH] * src/sfnt/ttcolr.c (tt_face_get_color_glyph_clipbox): Minor
+ fix.
+
+---
+ src/sfnt/ttcolr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c
+index 2f3e8846d..68807127f 100644
+--- a/src/sfnt/ttcolr.c
++++ b/src/sfnt/ttcolr.c
+@@ -863,7 +863,7 @@
+
+ format = FT_NEXT_BYTE( p1 );
+
+- if ( format < 0 || format > 1 )
++ if ( format > 1 )
+ return 0;
+
+ /* `face->root.size->metrics.x_scale` and `y_scale` are factors */
+--
+GitLab
+
diff --git a/media-libs/freetype/freetype-2.11.0-r1.ebuild b/media-libs/freetype/freetype-2.11.0-r1.ebuild
new file mode 100644
index 000000000000..818649d695a7
--- /dev/null
+++ b/media-libs/freetype/freetype-2.11.0-r1.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs
+
+DESCRIPTION="High-quality and portable font engine"
+HOMEPAGE="https://www.freetype.org/"
+IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs utils"
+
+if [[ "${PV}" != 9999 ]] ; then
+ SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz
+ mirror://nongnu/freetype/${P/_/}.tar.xz
+ utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz
+ mirror://nongnu/freetype/ft2demos-${PV}.tar.xz )
+ doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz
+ mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )"
+ SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${P}-COLR_v1_clipbox.patch.xz"
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+ IUSE+=" doc"
+else
+ inherit autotools git-r3
+fi
+
+LICENSE="|| ( FTL GPL-2+ )"
+SLOT="2"
+
+RDEPEND="
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] )
+ png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] )
+ utils? (
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXau-1.0.7-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libXdmcp-1.1.1-r1[${MULTILIB_USEDEP}]
+ )
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.10.3-sizeof-types.patch # 459966
+ "${WORKDIR}"/${P}-COLR_v1_clipbox.patch
+ "${FILESDIR}"/${P}-COLR_v1_clipbox_minor_fix.patch
+)
+
+_egit_repo_handler() {
+ if [[ "${PV}" == 9999 ]] ; then
+ local phase="${1}"
+ case ${phase} in
+ fetch|unpack)
+ :;
+ ;;
+ *)
+ die "Please use this function with either \"fetch\" or \"unpack\""
+ ;;
+ esac
+
+ local EGIT_REPO_URI
+ EGIT_REPO_URI="https://git.sv.nongnu.org/r/freetype/freetype2.git"
+ git-r3_src_${phase}
+ if use utils ; then
+ EGIT_REPO_URI="https://git.sv.nongnu.org/r/freetype/freetype2-demos.git"
+ local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}"
+ git-r3_src_${phase}
+ fi
+ else
+ default
+ fi
+}
+
+src_fetch() {
+ _egit_repo_handler ${EBUILD_PHASE}
+}
+
+src_unpack() {
+ _egit_repo_handler ${EBUILD_PHASE}
+
+ if [[ "${PV}" == 9999 ]] ; then
+ # Need to copy stuff from dlg subproject (#758902)
+ local dlg_inc_dir="${S}/subprojects/dlg/include/dlg"
+ local dlg_src_dir="${S}/subprojects/dlg/src/dlg"
+ local dlg_dest_dir="${S}/include"
+ mkdir -p "${dlg_dest_dir}/dlg" || die
+ cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die
+ cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die
+ fi
+}
+
+src_prepare() {
+ if [[ "${PV}" == 9999 ]] ; then
+ # Do NOT automagically mess with submodules!!!
+ sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die
+ # inspired by shipped autogen.sh script
+ eval $(sed -n \
+ -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \
+ -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \
+ -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \
+ include/freetype/freetype.h || die)
+ FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}"
+ [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}"
+ pushd builds/unix &>/dev/null || die
+ sed -e "s;@VERSION@;${FREETYPE};" \
+ < configure.raw > configure.ac || die
+ # eautoheader produces broken ftconfig.in
+ AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf
+ unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE
+ popd &>/dev/null || die
+ fi
+
+ default
+
+ # This is the same as the 01 patch from infinality
+ sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die
+
+ enable_option() {
+ sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \
+ include/${PN}/config/ftoption.h \
+ || die "unable to enable option $1"
+ }
+
+ disable_option() {
+ sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \
+ include/${PN}/config/ftoption.h \
+ || die "unable to disable option $1"
+ }
+
+ # Will be the new default for >=freetype-2.7.0
+ disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2"
+
+ if use infinality && use cleartype-hinting ; then
+ enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )"
+ elif use infinality ; then
+ enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1"
+ elif use cleartype-hinting ; then
+ enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2"
+ fi
+
+ # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1"
+ # via environment (new since v2.8)
+ enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+
+ # See https://freetype.org/patents.html (expired!)
+ enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+
+ if ! use adobe-cff ; then
+ enable_option CFF_CONFIG_OPTION_OLD_ENGINE
+ fi
+
+ if use debug ; then
+ enable_option FT_DEBUG_LEVEL_TRACE
+ enable_option FT_DEBUG_MEMORY
+ fi
+
+ if use utils ; then
+ cd "${WORKDIR}/ft2demos-${PV}" || die
+ # Disable tests needing X11 when USE="-X". (bug #177597)
+ if ! use X ; then
+ sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die
+ fi
+ cd "${S}" || die
+ fi
+
+ # we need non-/bin/sh to run configure
+ if [[ -n ${CONFIG_SHELL} ]] ; then
+ sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \
+ "${S}"/builds/unix/configure || die
+ fi
+
+ elibtoolize --patch-only
+}
+
+multilib_src_configure() {
+ append-flags -fno-strict-aliasing
+ type -P gmake &> /dev/null && export GNUMAKE=gmake
+
+ local myeconfargs=(
+ --disable-freetype-config
+ --enable-biarch-config
+ --enable-shared
+ $(use_with brotli)
+ $(use_with bzip2)
+ $(use_with harfbuzz)
+ $(use_with png)
+ $(use_enable static-libs static)
+
+ # avoid using libpng-config
+ LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)"
+ LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)"
+ )
+
+ case ${CHOST} in
+ mingw*|*-mingw*) ;;
+ # Workaround windows mis-detection: bug #654712
+ # Have to do it for both ${CHOST}-windres and windres
+ *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;;
+ esac
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use utils ; then
+ einfo "Building utils"
+ # fix for Prefix, bug #339334
+ emake \
+ X11_PATH="${EPREFIX}/usr/$(get_libdir)" \
+ FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}"
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use utils ; then
+ einfo "Installing utils"
+ emake DESTDIR="${D}" FT2DEMOS=1 \
+ TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install
+ fi
+}
+
+multilib_src_install_all() {
+ if use fontforge ; then
+ # Probably fontforge needs less but this way makes things simplier...
+ einfo "Installing internal headers required for fontforge"
+ local header
+ find src/truetype include/freetype/internal -name '*.h' | \
+ while read header ; do
+ mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
+ cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
+ done
+ fi
+
+ dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO}
+ if [[ "${PV}" != 9999 ]] && use doc ; then
+ docinto html
+ dodoc -r docs/*
+ fi
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}