Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/freetype/
Date: Thu, 03 May 2018 08:17:47
Message-Id: 1525335452.dca8820fcc35c85196b9681f7011d80e98bd8a21.polynomial-c@gentoo
1 commit: dca8820fcc35c85196b9681f7011d80e98bd8a21
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 3 08:12:05 2018 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Thu May 3 08:17:32 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dca8820f
7
8 media-libs/freetype: Security bump to version 2.9.1 (CVE-2018-6942)
9
10 Package-Manager: Portage-2.3.31, Repoman-2.3.9
11
12 media-libs/freetype/Manifest | 3 +
13 media-libs/freetype/freetype-2.9.1.ebuild | 226 ++++++++++++++++++++++++++++++
14 2 files changed, 229 insertions(+)
15
16 diff --git a/media-libs/freetype/Manifest b/media-libs/freetype/Manifest
17 index f5e5d1b54cf..712657bee2a 100644
18 --- a/media-libs/freetype/Manifest
19 +++ b/media-libs/freetype/Manifest
20 @@ -1,9 +1,12 @@
21 DIST freetype-2.8.1.tar.bz2 1886443 BLAKE2B d53aa77ae9cdc9ca404187e1fdc66be0a766f3f91a591bbbada0a374dd1862c4a8ebfc4be0bb0e823fb45df1e79941c1dd037734b87212a5a5fd97d9a1ca285f SHA512 ca59e47f0fceeeb9b8032be2671072604d0c79094675df24187829c05e99757d0a48a0f8062d4d688e056f783aa8f6090d732ad116562e94784fccf1339eb823
22 DIST freetype-2.8.tar.bz2 1873526 BLAKE2B c2336a3774cee0334bd342f4323524063a982c8a46dc5623a420be1a0ccb76ed5adc710673ea2401b0013f80a5c22bbc07e2adb4e842a0763ee1b0afc3cedb82 SHA512 3842c34bf6100a8c9b78258146b2ff35e9bb4c993937d3ef09982c1e2552dfd15f8849ddd8a1e84edf08b5a5fb918b68cf7b1584545c5900e22a00bfa1c89ff5
23 +DIST freetype-2.9.1.tar.bz2 1926385 BLAKE2B f165d638e0f49749a2640aabba96aca20441c76028cc18bb2482fd620a29dd368bc55ea020c1e74fa6effe9fed3c59a53c7fdf2dd6021f445032b7007201948e SHA512 856766e1f3f4c7dc8afb2b5ee991138c8b642c6a6e5e007cd2bc04ae58bde827f082557cf41bf541d97e8485f7fd064d10390d1ee597f19d1daed6c152e27708
24 DIST freetype-2.9.tar.bz2 1915013 BLAKE2B 6474230507a0bcf9408846cf45d8e0c69314783e38ed71de6ce69031da9b418fe513056068768e4b350a93dd13dadfe8363d72b1d20d5347d5ce1d30d9d9fe08 SHA512 28465f3453baf9a187529432118389de8f1b85273c9fb787d2c8f0feee8ab64b387ddd936b4e67ec58dcf71e33884e7e25f01169b737824221ab143839a9161a
25 DIST freetype-doc-2.8.1.tar.bz2 2128376 BLAKE2B b552010341c359666974c4208fe436b4414e73b59d17b2adedb9bc747ff857788bffddc98e53a5f5212ab70792211c754a5a80093bc1e6a7ae894d499a7b3da9 SHA512 386f3e2f123e60e697eb446d667bdcdf184d354a7a9a7bcc42767ea7964cd5a89e5ef42a234838c03e7ce926d3e92d763acb84983afdaf9f6977c028d55f2806
26 DIST freetype-doc-2.8.tar.bz2 2127740 BLAKE2B 891b43a7a6b0eae4a0f91110367b47c1c0ebd05a2d1a309669415f98fa08736738504b243d315a100a385074888382c6767f0741dd79814f5783cd215a716ca5 SHA512 3a970a7dd6f0ba580c9f8084b271c11e6e87111ab9a5b6a3148eb1087e45ee18e998aa7e36a4311067a3b674cb784b1e827cf8c3a853e380078219be3eccce06
27 +DIST freetype-doc-2.9.1.tar.bz2 2130292 BLAKE2B 667032fa447fbc28c0f753df3ade7a07a4f8d4d26cdd00fed2fa0e8098e9d6a083572608b7d06446ea91baa932e3c6d18beb1f86f6b549a8cd2c07a2df567da0 SHA512 1668f02f67e6e047df04e5e2fccb564cd9af780ec9b3c4878109868302a83eaec7b627390ff82c3e875122400e6f20fc690936a1e4964dfa65143e5309fa22d4
28 DIST freetype-doc-2.9.tar.bz2 2128135 BLAKE2B a192237e9f2cd0b14cf081ba09d58d6e42793d7c8034815d9d8a11a7abf5775bc9181f960405c7f2b12c6994329f8caee3c3ae62cc8b08fbbc3fd285f76922b8 SHA512 0ffd38541f8fd0ae6efb97025bb585209580b964d632e15c66944bc2549e2b0e6c375a141df5061621e8c32eeaed017834530169addc4daa2e83399f88efde2f
29 DIST ft2demos-2.8.1.tar.bz2 228934 BLAKE2B a8ff102ec9e526791a83bed42eb5fc289b96f030ebcdbe5bdb4508676d81074ff16120664adeaf95e9d04004e2aba5c86a2b3f5410133344d1ebaf5d4c33cb46 SHA512 f3a3216448df7b9bebb875a69587f31d0548f4b7e1b1bd70b0f06b3c4a43b3f5ca99ac2fcfecb32909b16b32a466fff24d1a6407e5fd6c2145fd64d2a156429a
30 DIST ft2demos-2.8.tar.bz2 225274 BLAKE2B b8b02b8b03b84709b7d274d1c8dff323051051ceb3f77762f2fad51ec7a21d34cdbc35a6e828d1755b374d05801d11b0f9968361a34efbb6a6239769b8cd730a SHA512 dffdf6a493e8145c6513be34b57734a9a99c61f758a0e1ea691ef4284cee4c274ad7c3a8120a8ec425d86e33a70cd879d9db258e9c67b6a4db79c3243d4c9fb3
31 +DIST ft2demos-2.9.1.tar.bz2 233462 BLAKE2B c689942b222b2c600b5ec3963791621ae87acefb9b01caa5dc35af52525d03e3a1094e48c0789d5eaabbce787bddd7c3055e12454e54ea3c7fae92bca47614de SHA512 38bee59184b20c2eb983deaa5c1f241e31c1b4793e47dc06b1b419601489cfece3b11fde4cf4fb6c5af12254ad0c1ce9a1547885c208e8e715655e9c48f22a46
32 DIST ft2demos-2.9.tar.bz2 230926 BLAKE2B 8c8e02101243468d52953aeeee7ad985a5aa3fabc82c19a3404ce301348fd32e5f89aa56798613658d5d29a8c3a6c7d4a70eae038ef6095005f8c10354b3f288 SHA512 3dfaf97619d585d6e4db20002c69f9c46cb8991c4faf86d9d92884a80001235ef01010148156cb4879d7869e6121fc27ef03c13288af011df26fe85c3fb7e6a1
33
34 diff --git a/media-libs/freetype/freetype-2.9.1.ebuild b/media-libs/freetype/freetype-2.9.1.ebuild
35 new file mode 100644
36 index 00000000000..b5c2fb86dea
37 --- /dev/null
38 +++ b/media-libs/freetype/freetype-2.9.1.ebuild
39 @@ -0,0 +1,226 @@
40 +# Copyright 1999-2018 Gentoo Foundation
41 +# Distributed under the terms of the GNU General Public License v2
42 +
43 +EAPI=6
44 +
45 +inherit flag-o-matic libtool multilib multilib-build multilib-minimal toolchain-funcs
46 +
47 +DESCRIPTION="A high-quality and portable font engine"
48 +HOMEPAGE="https://www.freetype.org/"
49 +IUSE="X +adobe-cff bindist bzip2 +cleartype_hinting debug fontforge harfbuzz infinality png static-libs utils"
50 +
51 +if [[ "${PV}" != 9999 ]] ; then
52 + SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2
53 + mirror://nongnu/freetype/${P/_/}.tar.bz2
54 + utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.bz2
55 + mirror://nongnu/freetype/ft2demos-${PV}.tar.bz2 )
56 + doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.bz2
57 + mirror://nongnu/freetype/${PN}-doc-${PV}.tar.bz2 )"
58 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-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"
59 + IUSE+=" doc"
60 +else
61 + inherit autotools git-r3
62 +fi
63 +
64 +LICENSE="|| ( FTL GPL-2+ )"
65 +SLOT="2"
66 +RESTRICT="!bindist? ( bindist )" # bug 541408
67 +
68 +RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
69 + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
70 + harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] )
71 + png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] )
72 + utils? (
73 + X? (
74 + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
75 + >=x11-libs/libXau-1.0.7-r1[${MULTILIB_USEDEP}]
76 + >=x11-libs/libXdmcp-1.1.1-r1[${MULTILIB_USEDEP}]
77 + )
78 + )"
79 +DEPEND="${RDEPEND}
80 + virtual/pkgconfig"
81 +PDEPEND="infinality? ( media-libs/fontconfig-infinality )"
82 +
83 +PATCHES=(
84 + # This is the same as the 01 patch from infinality
85 + "${FILESDIR}"/${PN}-2.7-enable-valid.patch
86 +
87 + "${FILESDIR}"/${PN}-2.4.11-sizeof-types.patch # 459966
88 +)
89 +
90 +_egit_repo_handler() {
91 + if [[ "${PV}" == 9999 ]] ; then
92 + local phase="${1}"
93 + case ${phase} in
94 + fetch|unpack)
95 + :;
96 + ;;
97 + *)
98 + die "Please use this function with either \"fetch\" or \"unpack\""
99 + ;;
100 + esac
101 +
102 + local EGIT_REPO_URI
103 + EGIT_REPO_URI="https://git.savannah.gnu.org/r/freetype/freetype2.git"
104 + git-r3_src_${phase}
105 + if use utils ; then
106 + EGIT_REPO_URI="https://git.savannah.gnu.org/r/freetype/freetype2-demos.git"
107 + local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}"
108 + git-r3_src_${phase}
109 + fi
110 + else
111 + default
112 + fi
113 +}
114 +
115 +src_fetch() {
116 + _egit_repo_handler fetch
117 +}
118 +
119 +src_unpack() {
120 + _egit_repo_handler unpack
121 +}
122 +
123 +src_prepare() {
124 + if [[ "${PV}" == 9999 ]] ; then
125 + # inspired by shipped autogen.sh script
126 + eval $(sed -nf version.sed include/freetype/freetype.h)
127 + pushd builds/unix &>/dev/null || die
128 + sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \
129 + < configure.raw > configure.ac || die
130 + # eautoheader produces broken ftconfig.in
131 + eautoheader() { return 0 ; }
132 + AT_M4DIR="." eautoreconf
133 + unset freetype_major freetype_minor freetype_patch
134 + popd &>/dev/null || die
135 + fi
136 +
137 + default
138 +
139 + enable_option() {
140 + sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \
141 + include/${PN}/config/ftoption.h \
142 + || die "unable to enable option $1"
143 + }
144 +
145 + disable_option() {
146 + sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \
147 + include/${PN}/config/ftoption.h \
148 + || die "unable to disable option $1"
149 + }
150 +
151 + # Will be the new default for >=freetype-2.7.0
152 + disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2"
153 +
154 + if use infinality && use cleartype_hinting; then
155 + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )"
156 + elif use infinality; then
157 + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1"
158 + elif use cleartype_hinting; then
159 + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2"
160 + fi
161 +
162 + # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1"
163 + # via environment (new since v2.8)
164 + enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
165 +
166 + if ! use bindist; then
167 + # See http://freetype.org/patents.html
168 + # ClearType is covered by several Microsoft patents in the US
169 + enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING
170 + fi
171 +
172 + if ! use adobe-cff; then
173 + enable_option CFF_CONFIG_OPTION_OLD_ENGINE
174 + fi
175 +
176 + if use debug; then
177 + enable_option FT_DEBUG_LEVEL_TRACE
178 + enable_option FT_DEBUG_MEMORY
179 + fi
180 +
181 + if use utils; then
182 + cd "${WORKDIR}/ft2demos-${PV}" || die
183 + # Disable tests needing X11 when USE="-X". (bug #177597)
184 + if ! use X; then
185 + sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die
186 + fi
187 + cd "${S}" || die
188 + fi
189 +
190 + # we need non-/bin/sh to run configure
191 + if [[ -n ${CONFIG_SHELL} ]] ; then
192 + sed -i -e "1s:^#![[:space:]]*/bin/sh:#!$CONFIG_SHELL:" \
193 + "${S}"/builds/unix/configure || die
194 + fi
195 +
196 + elibtoolize --patch-only
197 +}
198 +
199 +multilib_src_configure() {
200 + append-flags -fno-strict-aliasing
201 + type -P gmake &> /dev/null && export GNUMAKE=gmake
202 +
203 + local myeconfargs=(
204 + --disable-freetype-config
205 + --enable-biarch-config
206 + --enable-shared
207 + $(use_with bzip2)
208 + $(use_with harfbuzz)
209 + $(use_with png)
210 + $(use_enable static-libs static)
211 +
212 + # avoid using libpng-config
213 + LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)"
214 + LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)"
215 + )
216 +
217 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
218 +}
219 +
220 +multilib_src_compile() {
221 + default
222 +
223 + if multilib_is_native_abi && use utils; then
224 + einfo "Building utils"
225 + # fix for Prefix, bug #339334
226 + emake \
227 + X11_PATH="${EPREFIX}/usr/$(get_libdir)" \
228 + FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}"
229 + fi
230 +}
231 +
232 +multilib_src_install() {
233 + default
234 +
235 + if multilib_is_native_abi && use utils; then
236 + einfo "Installing utils"
237 + rm "${WORKDIR}"/ft2demos-${PV}/bin/README || die
238 + local ft2demo
239 + for ft2demo in ../ft2demos-${PV}/bin/*; do
240 + ./libtool --mode=install $(type -P install) -m 755 "$ft2demo" \
241 + "${ED%/}"/usr/bin || die
242 + done
243 + fi
244 +}
245 +
246 +multilib_src_install_all() {
247 + if use fontforge; then
248 + # Probably fontforge needs less but this way makes things simplier...
249 + einfo "Installing internal headers required for fontforge"
250 + local header
251 + find src/truetype include/freetype/internal -name '*.h' | \
252 + while read header; do
253 + mkdir -p "${ED%/}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
254 + cp ${header} "${ED%/}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
255 + done
256 + fi
257 +
258 + dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO}
259 + if [[ "${PV}" != 9999 ]] && use doc ; then
260 + docinto html
261 + dodoc -r docs/*
262 + fi
263 +
264 + find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
265 +}