From 2c4546adc0bcf78c07d372591cbf38fef22deee2 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Sat, 13 May 2017 23:37:58 +0200 Subject: media-libs/freetype: Security bump to version 2.8 (bug #616730). Package-Manager: Portage-2.3.5, Repoman-2.3.2 --- media-libs/freetype/Manifest | 3 + media-libs/freetype/freetype-2.8.ebuild | 181 +++++++++++++++++++++++++++++++ media-libs/freetype/freetype-9999.ebuild | 4 + 3 files changed, 188 insertions(+) create mode 100644 media-libs/freetype/freetype-2.8.ebuild (limited to 'media-libs/freetype') diff --git a/media-libs/freetype/Manifest b/media-libs/freetype/Manifest index 572086be052b..5f9e2cc31901 100644 --- a/media-libs/freetype/Manifest +++ b/media-libs/freetype/Manifest @@ -2,9 +2,12 @@ DIST 03-infinality-2.6.3-2016.03.26.patch.xz 28104 SHA256 330540ead509aaeba38852 DIST freetype-2.6.3.tar.bz2 1753083 SHA256 371e707aa522acf5b15ce93f11183c725b8ed1ee8546d7b3af549863045863a2 SHA512 e1f9018835fc88beeb4479537b59f866c52393ae18d24a1e0710a464cf948ab02b35c2c6043bc20c1db3a04871ee4eb0bb1d210550c0ea2780c8b1aea98fbf0d WHIRLPOOL e17e87fe7b821730da13b1a54073fd0314025e3e15a41b10b5ece2731c8152c4d8dbe1fb7f26593794d70f15f6dfd70582678d48a8f068cec865f821eb3847a0 DIST freetype-2.6.5.tar.bz2 1779603 SHA256 e20a6e1400798fd5e3d831dd821b61c35b1f9a6465d6b18a53a9df4cf441acf0 SHA512 d60f057e12992b4dccd7d5e232bda5c344e6ed0d74362032fbbc52526bac42d600fe0aa04c6442a9502a27a88f5d5155fb42e723531127400ccfce0d1911487f WHIRLPOOL 3cfbbe407ee024ff939469aa2b82b764fe89b1ba4fc7edcdd537e9ad81b3ea6a8fe807e2d5fdb80ec47de2f66cf3f28b5e45320c84a84ea446acbf6c2966cccb DIST freetype-2.7.1.tar.bz2 1825107 SHA256 3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88 SHA512 df39e2ef55f9090a66fecb6b5e9a5d296a043ddfd919d0ce3d7ea5132aa388bfbbeeaa6d6df6513956134b987e1c3a5eac6975c0c9631213af77457a623b49da WHIRLPOOL f1d506dae87b718131299e24c959ad0636bca9739fdd3dce1ad1e8009e7e16a11faede66d234f7071f3de86c83b275f09323804be77a2a4b3a785adba4b74ed6 +DIST freetype-2.8.tar.bz2 1873526 SHA256 a3c603ed84c3c2495f9c9331fe6bba3bb0ee65e06ec331e0a0fb52158291b40b SHA512 3842c34bf6100a8c9b78258146b2ff35e9bb4c993937d3ef09982c1e2552dfd15f8849ddd8a1e84edf08b5a5fb918b68cf7b1584545c5900e22a00bfa1c89ff5 WHIRLPOOL 2fb845ede217b228c39e1e767ea5b21868bd3b02521ca48fe614d78f790c9dab5145cc6feb147725e8e44cd3aa716a14742ef4893b2f54e5b167efe9f4905386 DIST freetype-doc-2.6.3.tar.bz2 5367900 SHA256 28b7cb0b1ff3962d386c54cdffd3891d2126292f57b4ea9ad0467f07cf68de7d SHA512 7731d96543f73ace8afc4b5ff2148c32a8dacbf01a976a6870705f73b45dfe1429ffa94406cdfc83b163b039c4d375c0c553a7d7aaad659a87079f357e6599cc WHIRLPOOL 71b01f8d5daf8e93efab5453f198d1790365fd010b5a137f4f34e93f6bc03a6a644900b92b8263973248954895c73e70cad64fe50b09bb4042627182299a5a1c DIST freetype-doc-2.6.5.tar.bz2 1932398 SHA256 cb9cd73c3a713138e690a634608ec7b64ff645f9a71ac6645804b18e38be49e9 SHA512 1d2affa07f34c6486f1738141b428256f1d44bc0d166c74e9884caeeecdf3204164542e9bbc1c0eba6ff605f41d6022068546da64aee7859b72636bcd72fff00 WHIRLPOOL 90499d7ffdfe079dc058974e9d89a18a35c011244ea6d6003e8f445af579430910331fad2c6c7f4cc5ff318cf8582d8b30a32f878a4b8e4e5723e1b02025a396 DIST freetype-doc-2.7.1.tar.bz2 2127460 SHA256 8e09cf22d1c98006fe3af160b7c3b7c847e4a3743963d6d89314d350b859dfb0 SHA512 acccc0cdacf277abb967aee3a09850f10aafe7719d01fc179fc660e8f3d596203d9a0ae74785e5c7e7ad744032d2209a547607edc43c8fde9d136de00cd59ff6 WHIRLPOOL f5d079472e22ba7ae1aa9c74f13279960f9c773be97def5039d5ac5473e1f1e691e4d94cf0e9183708e066faf2537b72777940996b61854e815ebe3d32ca71fd +DIST freetype-doc-2.8.tar.bz2 2127740 SHA256 427ba04d11f450df4bac4c95fec247be1b835ccdcf85d8b081f3f39d31811154 SHA512 3a970a7dd6f0ba580c9f8084b271c11e6e87111ab9a5b6a3148eb1087e45ee18e998aa7e36a4311067a3b674cb784b1e827cf8c3a853e380078219be3eccce06 WHIRLPOOL 21863e784f993e301dceffb5b5cd20c94abaeec3e936cdcb0c54fe4e65a7cdb4768d890d7b97891f75ec3f3db7d47d2db52eda68cf6f776028cffac7b2e30696 DIST ft2demos-2.6.3.tar.bz2 193412 SHA256 b076ac52465e912d035f111ede78b88bf3dd186f91a56a54ff83ffdf862e84e4 SHA512 1f23f9ab0bd59a06b8fd223bcc335ffba064477abee74d33308ddc28eb41e4ccf3728a52c36d4cab3995be695b56e1e099c2889f04e0835ba242b2938c5d2e78 WHIRLPOOL 1246985eca92e2e4d1b618d633602fc4114a69c1a8d715c51a5e96c17b3119fb3a254a577c876ad8ba9e2871bf59f4bd67f6721a706b3706a0a532728723f6a4 DIST ft2demos-2.6.5.tar.bz2 216722 SHA256 568a8f3a6301189a881d2f7ec95da280d20c862de94d81815341870e380b00e6 SHA512 1b950254588835c4f797a3cf45034af714676e6b2a8415ee8fa860bab7e284c3833675efc84167a90bed29dc0dc2079b22a513cfb6642ba9b5cbc84f1bc4d30d WHIRLPOOL 64780f2ca5c1fe64f1e25f18297c7761bca7b4e9defa0ef823376037f99f5c270f875efd8052f372af3b6cf0f104db91cacad957691df89818404a17ff3d8fb3 DIST ft2demos-2.7.1.tar.bz2 222288 SHA256 d3f8a0d5a3f0d58701133458a8c1d3f97f658869f3c904b1fda447ed3b290ecd SHA512 d3c5d81f302629c50b82696db0a83f17e3940fe38ecfddf5c56f63ff3f136f248b0458fe75337823cc080852f48a7326f4e5599240042ba1cb8984e05edd9823 WHIRLPOOL b1f8a1171fafa3147a3cd4c6dcc3237fe5b03240923e99acbd0f38da4129be443eb81178bb4df907bdcf3acf37248e59e012291b6a2ba66dc1d8a9e77a038f96 +DIST ft2demos-2.8.tar.bz2 225274 SHA256 2b6ce0d36bcb43fcc8aac07a0287982d855571ee271c3803c768e501f9c1a233 SHA512 dffdf6a493e8145c6513be34b57734a9a99c61f758a0e1ea691ef4284cee4c274ad7c3a8120a8ec425d86e33a70cd879d9db258e9c67b6a4db79c3243d4c9fb3 WHIRLPOOL 90f7d197912e968fe0443f67ae208ed4705b217e8d952c5063f476a30c3b585c6e6b55d01b174545b6972236e8f774d5674e2cad5d89c6e88b1c492be43512a4 diff --git a/media-libs/freetype/freetype-2.8.ebuild b/media-libs/freetype/freetype-2.8.ebuild new file mode 100644 index 000000000000..7592ac935258 --- /dev/null +++ b/media-libs/freetype/freetype-2.8.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic libtool multilib multilib-build multilib-minimal toolchain-funcs + +INFINALITY_PATCH="03-infinality-2.6.3-2016.03.26.patch" + +DESCRIPTION="A high-quality and portable font engine" +HOMEPAGE="http://www.freetype.org/" +SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2 + mirror://nongnu/freetype/${P/_/}.tar.bz2 + utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.bz2 + mirror://nongnu/freetype/ft2demos-${PV}.tar.bz2 ) + doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.bz2 + mirror://nongnu/freetype/${PN}-doc-${PV}.tar.bz2 )" + +LICENSE="|| ( FTL GPL-2+ )" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="X +adobe-cff bindist bzip2 +cleartype_hinting debug doc fontforge harfbuzz + infinality png static-libs utils" +RESTRICT="!bindist? ( bindist )" # bug 541408 + +CDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + harfbuzz? ( >=media-libs/harfbuzz-0.9.19[truetype,${MULTILIB_USEDEP}] ) + png? ( >=media-libs/libpng-1.2.51:=[${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="${CDEPEND} + virtual/pkgconfig" +RDEPEND="${CDEPEND} + abi_x86_32? ( utils? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] ) )" +PDEPEND="infinality? ( media-libs/fontconfig-infinality )" + +PATCHES=( + # This is the same as the 01 patch from infinality + "${FILESDIR}"/${PN}-2.7-enable-valid.patch + + "${FILESDIR}"/${PN}-2.4.11-sizeof-types.patch # 459966 + + # patches from upstream (can be removed with the next version bump) +) + +src_prepare() { + 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" + } + + default + + # 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 + + if ! use bindist; then + # See http://freetype.org/patents.html + # ClearType is covered by several Microsoft patents in the US + enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING + fi + + 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=( + --enable-biarch-config + --enable-shared + $(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)" + ) + + 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" + rm "${WORKDIR}"/ft2demos-${PV}/bin/README || die + local ft2demo + for ft2demo in ../ft2demos-${PV}/bin/*; do + ./libtool --mode=install $(type -P install) -m 755 "$ft2demo" \ + "${ED}"/usr/bin || die + done + 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 use doc ; then + docinto html + dodoc -r docs/* + fi + + prune_libtool_files --all +} diff --git a/media-libs/freetype/freetype-9999.ebuild b/media-libs/freetype/freetype-9999.ebuild index f8fc940e77af..ab1fec804cfc 100644 --- a/media-libs/freetype/freetype-9999.ebuild +++ b/media-libs/freetype/freetype-9999.ebuild @@ -121,6 +121,10 @@ src_prepare() { 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 + if ! use bindist; then # See http://freetype.org/patents.html # ClearType is covered by several Microsoft patents in the US -- cgit v1.2.3-65-gdbad