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/files/, media-libs/freetype/
Date: Fri, 08 Dec 2017 20:54:59
Message-Id: 1512766487.a1d125da192cd01ecb4edc32252a65414ea8bce5.polynomial-c@gentoo
1 commit: a1d125da192cd01ecb4edc32252a65414ea8bce5
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Fri Dec 8 20:54:47 2017 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Fri Dec 8 20:54:47 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1d125da
7
8 media-libs/freetype: Removed old.
9
10 Package-Manager: Portage-2.3.17, Repoman-2.3.6
11
12 media-libs/freetype/Manifest | 3 -
13 .../freetype/files/freetype-2.7.1-glyph_name.patch | 31 -
14 .../freetype/files/freetype-2.7.1-pcf_fix.patch | 711 ---------------------
15 media-libs/freetype/freetype-2.7.1-r2.ebuild | 179 ------
16 4 files changed, 924 deletions(-)
17
18 diff --git a/media-libs/freetype/Manifest b/media-libs/freetype/Manifest
19 index 3dd4c756ec4..a7c25ccca18 100644
20 --- a/media-libs/freetype/Manifest
21 +++ b/media-libs/freetype/Manifest
22 @@ -1,9 +1,6 @@
23 -DIST freetype-2.7.1.tar.bz2 1825107 SHA256 3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88 SHA512 df39e2ef55f9090a66fecb6b5e9a5d296a043ddfd919d0ce3d7ea5132aa388bfbbeeaa6d6df6513956134b987e1c3a5eac6975c0c9631213af77457a623b49da WHIRLPOOL f1d506dae87b718131299e24c959ad0636bca9739fdd3dce1ad1e8009e7e16a11faede66d234f7071f3de86c83b275f09323804be77a2a4b3a785adba4b74ed6
24 DIST freetype-2.8.1.tar.bz2 1886443 SHA256 e5435f02e02d2b87bb8e4efdcaa14b1f78c9cf3ab1ed80f94b6382fb6acc7d78 SHA512 ca59e47f0fceeeb9b8032be2671072604d0c79094675df24187829c05e99757d0a48a0f8062d4d688e056f783aa8f6090d732ad116562e94784fccf1339eb823 WHIRLPOOL 4827e36cccf23323be8e5e55edd6692503747e90ff3764a497571c06338c711c0d2071ab06766ccb803152e4b00df4cefbee2768ad3660fbf6430f3622620893
25 DIST freetype-2.8.tar.bz2 1873526 SHA256 a3c603ed84c3c2495f9c9331fe6bba3bb0ee65e06ec331e0a0fb52158291b40b SHA512 3842c34bf6100a8c9b78258146b2ff35e9bb4c993937d3ef09982c1e2552dfd15f8849ddd8a1e84edf08b5a5fb918b68cf7b1584545c5900e22a00bfa1c89ff5 WHIRLPOOL 2fb845ede217b228c39e1e767ea5b21868bd3b02521ca48fe614d78f790c9dab5145cc6feb147725e8e44cd3aa716a14742ef4893b2f54e5b167efe9f4905386
26 -DIST freetype-doc-2.7.1.tar.bz2 2127460 SHA256 8e09cf22d1c98006fe3af160b7c3b7c847e4a3743963d6d89314d350b859dfb0 SHA512 acccc0cdacf277abb967aee3a09850f10aafe7719d01fc179fc660e8f3d596203d9a0ae74785e5c7e7ad744032d2209a547607edc43c8fde9d136de00cd59ff6 WHIRLPOOL f5d079472e22ba7ae1aa9c74f13279960f9c773be97def5039d5ac5473e1f1e691e4d94cf0e9183708e066faf2537b72777940996b61854e815ebe3d32ca71fd
27 DIST freetype-doc-2.8.1.tar.bz2 2128376 SHA256 e6251ab44adcb075c7ca4205163c43b6539cbe5265b8a24ec0afa07f8b9213f3 SHA512 386f3e2f123e60e697eb446d667bdcdf184d354a7a9a7bcc42767ea7964cd5a89e5ef42a234838c03e7ce926d3e92d763acb84983afdaf9f6977c028d55f2806 WHIRLPOOL 3197ea90412e32b5086b1f1d1ba80a069e73e021a1289423509ea36e0b13431be28af12666c619b498f5e50e07854e97cdf15383433a7ea0a1211470bca7dd1c
28 DIST freetype-doc-2.8.tar.bz2 2127740 SHA256 427ba04d11f450df4bac4c95fec247be1b835ccdcf85d8b081f3f39d31811154 SHA512 3a970a7dd6f0ba580c9f8084b271c11e6e87111ab9a5b6a3148eb1087e45ee18e998aa7e36a4311067a3b674cb784b1e827cf8c3a853e380078219be3eccce06 WHIRLPOOL 21863e784f993e301dceffb5b5cd20c94abaeec3e936cdcb0c54fe4e65a7cdb4768d890d7b97891f75ec3f3db7d47d2db52eda68cf6f776028cffac7b2e30696
29 -DIST ft2demos-2.7.1.tar.bz2 222288 SHA256 d3f8a0d5a3f0d58701133458a8c1d3f97f658869f3c904b1fda447ed3b290ecd SHA512 d3c5d81f302629c50b82696db0a83f17e3940fe38ecfddf5c56f63ff3f136f248b0458fe75337823cc080852f48a7326f4e5599240042ba1cb8984e05edd9823 WHIRLPOOL b1f8a1171fafa3147a3cd4c6dcc3237fe5b03240923e99acbd0f38da4129be443eb81178bb4df907bdcf3acf37248e59e012291b6a2ba66dc1d8a9e77a038f96
30 DIST ft2demos-2.8.1.tar.bz2 228934 SHA256 7e385c34fc91978e4db976cbb9e1cdc4d1ce611046f2a21ceb0737e9a60cefd9 SHA512 f3a3216448df7b9bebb875a69587f31d0548f4b7e1b1bd70b0f06b3c4a43b3f5ca99ac2fcfecb32909b16b32a466fff24d1a6407e5fd6c2145fd64d2a156429a WHIRLPOOL adc29f9e0dce4e897f450b06800dd6a36ba1a64a53972bb15d5bb10e4551334b0267006b257cbde909462c8c00444e8a8e7335e95092add1c90f786fd1b1baf7
31 DIST ft2demos-2.8.tar.bz2 225274 SHA256 2b6ce0d36bcb43fcc8aac07a0287982d855571ee271c3803c768e501f9c1a233 SHA512 dffdf6a493e8145c6513be34b57734a9a99c61f758a0e1ea691ef4284cee4c274ad7c3a8120a8ec425d86e33a70cd879d9db258e9c67b6a4db79c3243d4c9fb3 WHIRLPOOL 90f7d197912e968fe0443f67ae208ed4705b217e8d952c5063f476a30c3b585c6e6b55d01b174545b6972236e8f774d5674e2cad5d89c6e88b1c492be43512a4
32
33 diff --git a/media-libs/freetype/files/freetype-2.7.1-glyph_name.patch b/media-libs/freetype/files/freetype-2.7.1-glyph_name.patch
34 deleted file mode 100644
35 index 99c27a7a02f..00000000000
36 --- a/media-libs/freetype/files/freetype-2.7.1-glyph_name.patch
37 +++ /dev/null
38 @@ -1,31 +0,0 @@
39 -From a660e3de422731b94d4a134d27555430cbb6fb39 Mon Sep 17 00:00:00 2001
40 -From: Werner Lemberg <wl@×××.org>
41 -Date: Fri, 26 Aug 2016 00:23:27 +0200
42 -Subject: [PATCH] [type1] Fix heap buffer overflow.
43 -
44 -Reported as
45 -
46 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36
47 -
48 -* src/type1/t1load.c (parse_charstrings): Reject fonts that don't
49 -contain glyph names.
50 ----
51 -diff --git a/src/type1/t1load.c b/src/type1/t1load.c
52 -index c981adcf..f8bf3132 100644
53 ---- a/src/type1/t1load.c
54 -+++ b/src/type1/t1load.c
55 -@@ -1776,6 +1776,12 @@
56 - }
57 - }
58 -
59 -+ if ( !n )
60 -+ {
61 -+ error = FT_THROW( Invalid_File_Format );
62 -+ goto Fail;
63 -+ }
64 -+
65 - loader->num_glyphs = n;
66 -
67 - /* if /.notdef is found but does not occupy index 0, do our magic. */
68 ---
69 -2.12.0
70
71 diff --git a/media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch b/media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch
72 deleted file mode 100644
73 index 5b891218132..00000000000
74 --- a/media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch
75 +++ /dev/null
76 @@ -1,711 +0,0 @@
77 -From f837a50ec3a4f240d73f018f237f9f58631e2ba5 Mon Sep 17 00:00:00 2001
78 -From: Werner Lemberg <wl@×××.org>
79 -Date: Mon, 9 Jan 2017 10:49:03 +0100
80 -Subject: [pcf] Introduce a driver structure.
81 -
82 -To be filled later on with something useful.
83 -
84 -* src/pcf/pcf.h (PCF_Driver): New structure.
85 -
86 -* src/pcf/pcfdrivr.c (pcf_driver_init, pcf_driver_done): New dummy
87 -functions.
88 -(pcf_driver_class): Updated.
89 ----
90 - src/pcf/pcf.h | 7 +++++++
91 - src/pcf/pcfdrivr.c | 24 ++++++++++++++++++++----
92 - 3 files changed, 39 insertions(+), 4 deletions(-)
93 -
94 -diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
95 -index c726e5e..830cabe 100644
96 ---- a/src/pcf/pcf.h
97 -+++ b/src/pcf/pcf.h
98 -@@ -163,6 +163,13 @@ FT_BEGIN_HEADER
99 - } PCF_FaceRec, *PCF_Face;
100 -
101 -
102 -+ typedef struct PCF_DriverRec_
103 -+ {
104 -+ FT_DriverRec root;
105 -+
106 -+ } PCF_DriverRec, *PCF_Driver;
107 -+
108 -+
109 - /* macros for pcf font format */
110 -
111 - #define LSBFirst 0
112 -diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
113 -index 10d5c20..8f4a90d 100644
114 ---- a/src/pcf/pcfdrivr.c
115 -+++ b/src/pcf/pcfdrivr.c
116 -@@ -691,22 +691,38 @@ THE SOFTWARE.
117 - }
118 -
119 -
120 -+ FT_CALLBACK_DEF( FT_Error )
121 -+ pcf_driver_init( FT_Module module ) /* PCF_Driver */
122 -+ {
123 -+ FT_UNUSED( module );
124 -+
125 -+ return FT_Err_Ok;
126 -+ }
127 -+
128 -+
129 -+ FT_CALLBACK_DEF( void )
130 -+ pcf_driver_done( FT_Module module ) /* PCF_Driver */
131 -+ {
132 -+ FT_UNUSED( module );
133 -+ }
134 -+
135 -+
136 - FT_CALLBACK_TABLE_DEF
137 - const FT_Driver_ClassRec pcf_driver_class =
138 - {
139 - {
140 - FT_MODULE_FONT_DRIVER |
141 - FT_MODULE_DRIVER_NO_OUTLINES,
142 -- sizeof ( FT_DriverRec ),
143 -
144 -+ sizeof ( PCF_DriverRec ),
145 - "pcf",
146 - 0x10000L,
147 - 0x20000L,
148 -
149 -- NULL, /* module-specific interface */
150 -+ NULL, /* module-specific interface */
151 -
152 -- NULL, /* FT_Module_Constructor module_init */
153 -- NULL, /* FT_Module_Destructor module_done */
154 -+ pcf_driver_init, /* FT_Module_Constructor module_init */
155 -+ pcf_driver_done, /* FT_Module_Destructor module_done */
156 - pcf_driver_requester /* FT_Module_Requester get_interface */
157 - },
158 -
159 ---
160 -cgit v1.0
161 -
162 -From 08fd250e1af0aa16d18012d39462e6ca9bbc6e90 Mon Sep 17 00:00:00 2001
163 -From: Werner Lemberg <wl@×××.org>
164 -Date: Mon, 9 Jan 2017 11:30:32 +0100
165 -Subject: [pcf] Make long family names configurable.
166 -
167 -The change from 2016-09-29 was too radical (except for people using
168 -the openSuSE GNU/Linux distribution). To ameliorate the situation,
169 -PCF_CONFIG_OPTION_LONG_FAMILY_NAMES gets introduced which controls
170 -the feature; if set, a new PCF property option
171 -`no-long-family-names' can be used to switch this feature off.
172 -
173 -* include/freetype/config/ftoption.h, devel/ftoption.h
174 -(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): New option.
175 -
176 -* include/freetype/ftpcfdrv.h: New header file (only containing
177 -comments currently, used for building the documentation).
178 -
179 -* include/freetype/config/ftheader.h (FT_PCF_DRIVER_H): New macro.
180 -
181 -* src/pcf/pcf.h (PCF_Driver): Add `no_long_family_names' field.
182 -
183 -* src/pcf/pcfdrivr.c: Include FT_SERVICE_PROPERTIES_H and
184 -FT_PCF_DRIVER_H.
185 -(pcf_property_set, pcf_property_get): New functions.
186 -(pcf_service_properties): New service.
187 -(pcf_servives): Updated.
188 -(pcf_driver_init) [PCF_CONFIG_OPTION_LONG_FAMILY_NAMES]: Handle
189 -`no_long_family_names'.
190 -
191 -* src/pcf/pcfread.c (pcf_load_font): Handle `no_long_family_names'
192 -and PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
193 -
194 -* docs/CHANGES: Updated.
195 ----
196 - devel/ftoption.h | 31 +++++++++-
197 - docs/CHANGES | 16 ++++++
198 - include/freetype/config/ftheader.h | 13 +++++
199 - include/freetype/config/ftoption.h | 31 +++++++++-
200 - include/freetype/ftchapters.h | 1 +
201 - include/freetype/ftpcfdrv.h | 105 ++++++++++++++++++++++++++++++++++
202 - src/pcf/pcf.h | 2 +
203 - src/pcf/pcfdrivr.c | 114 +++++++++++++++++++++++++++++++++++++
204 - src/pcf/pcfread.c | 98 ++++++++++++++++++-------------
205 - 10 files changed, 400 insertions(+), 44 deletions(-)
206 - create mode 100644 include/freetype/ftpcfdrv.h
207 -
208 -diff --git a/devel/ftoption.h b/devel/ftoption.h
209 -index 3b63931..b8b0a8d 100644
210 ---- a/devel/ftoption.h
211 -+++ b/devel/ftoption.h
212 -@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
213 - /* to control the various font drivers and modules. The controllable */
214 - /* properties are listed in the section `Controlling FreeType Modules' */
215 - /* in the reference's table of contents; currently there are properties */
216 -- /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */
217 -- /* TrueType (file `ftttdrv.h'). */
218 -+ /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), */
219 -+ /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). */
220 - /* */
221 - /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
222 - /* multiple lines for better readability). */
223 -@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
224 - /*************************************************************************/
225 - /*************************************************************************/
226 - /**** ****/
227 -+ /**** P C F D R I V E R C O N F I G U R A T I O N ****/
228 -+ /**** ****/
229 -+ /*************************************************************************/
230 -+ /*************************************************************************/
231 -+
232 -+
233 -+ /*************************************************************************/
234 -+ /* */
235 -+ /* There are many PCF fonts just called `Fixed' which look completely */
236 -+ /* different, and which have nothing to do with each other. When */
237 -+ /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
238 -+ /* random, the style changes often if one changes the size and one */
239 -+ /* cannot select some fonts at all. This option makes the PCF module */
240 -+ /* prepend the foundry name (plus a space) to the family name. */
241 -+ /* */
242 -+ /* We also check whether we have `wide' characters; all put together, we */
243 -+ /* get family names like `Sony Fixed' or `Misc Fixed Wide'. */
244 -+ /* */
245 -+ /* If this option is activated, it can be controlled with the */
246 -+ /* `no-long-family-names' property of the pcf driver module. */
247 -+ /* */
248 -+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
249 -+
250 -+
251 -+ /*************************************************************************/
252 -+ /*************************************************************************/
253 -+ /**** ****/
254 - /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
255 - /**** ****/
256 - /*************************************************************************/
257 -diff --git a/docs/CHANGES b/docs/CHANGES
258 -index cb3b327..3823395 100644
259 ---- a/docs/CHANGES
260 -+++ b/docs/CHANGES
261 -@@ -1,4 +1,20 @@
262 -
263 -+CHANGES BETWEEN 2.7.1 and 2.7.2
264 -+
265 -+ I. IMPORTANT CHANGES
266 -+
267 -+ - The PCF change to show more `colourful' family names (introduced
268 -+ in version 2.7.1) was too radical; it can now be configured with
269 -+ PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If
270 -+ activated, it can be switched off at run time with the new pcf
271 -+ property `no-long-family-names'. If the `FREETYPE_PROPERTIES'
272 -+ environment variable is available, you can say
273 -+
274 -+ FREETYPE_PROPERTIES=pcf:no-long-family-names=1
275 -+
276 -+
277 -+======================================================================
278 -+
279 - CHANGES BETWEEN 2.7 and 2.7.1
280 -
281 - I. IMPORTANT CHANGES
282 -diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h
283 -index 950d36c..d491af5 100644
284 ---- a/include/freetype/config/ftheader.h
285 -+++ b/include/freetype/config/ftheader.h
286 -@@ -357,6 +357,19 @@
287 - /*************************************************************************
288 - *
289 - * @macro:
290 -+ * FT_PCF_DRIVER_H
291 -+ *
292 -+ * @description:
293 -+ * A macro used in #include statements to name the file containing
294 -+ * structures and macros related to the PCF driver module.
295 -+ *
296 -+ */
297 -+#define FT_PCF_DRIVER_H <freetype/ftpcfdrv.h>
298 -+
299 -+
300 -+ /*************************************************************************
301 -+ *
302 -+ * @macro:
303 - * FT_TYPE1_TABLES_H
304 - *
305 - * @description:
306 -diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
307 -index f5bc540..5676074 100644
308 ---- a/include/freetype/config/ftoption.h
309 -+++ b/include/freetype/config/ftoption.h
310 -@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
311 - /* to control the various font drivers and modules. The controllable */
312 - /* properties are listed in the section `Controlling FreeType Modules' */
313 - /* in the reference's table of contents; currently there are properties */
314 -- /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */
315 -- /* TrueType (file `ftttdrv.h'). */
316 -+ /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), */
317 -+ /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). */
318 - /* */
319 - /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
320 - /* multiple lines for better readability). */
321 -@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
322 - /*************************************************************************/
323 - /*************************************************************************/
324 - /**** ****/
325 -+ /**** P C F D R I V E R C O N F I G U R A T I O N ****/
326 -+ /**** ****/
327 -+ /*************************************************************************/
328 -+ /*************************************************************************/
329 -+
330 -+
331 -+ /*************************************************************************/
332 -+ /* */
333 -+ /* There are many PCF fonts just called `Fixed' which look completely */
334 -+ /* different, and which have nothing to do with each other. When */
335 -+ /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
336 -+ /* random, the style changes often if one changes the size and one */
337 -+ /* cannot select some fonts at all. This option makes the PCF module */
338 -+ /* prepend the foundry name (plus a space) to the family name. */
339 -+ /* */
340 -+ /* We also check whether we have `wide' characters; all put together, we */
341 -+ /* get family names like `Sony Fixed' or `Misc Fixed Wide'. */
342 -+ /* */
343 -+ /* If this option is activated, it can be controlled with the */
344 -+ /* `no-long-family-names' property of the pcf driver module. */
345 -+ /* */
346 -+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
347 -+
348 -+
349 -+ /*************************************************************************/
350 -+ /*************************************************************************/
351 -+ /**** ****/
352 - /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
353 - /**** ****/
354 - /*************************************************************************/
355 -diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h
356 -index ab43895..a0a121b 100644
357 ---- a/include/freetype/ftchapters.h
358 -+++ b/include/freetype/ftchapters.h
359 -@@ -77,6 +77,7 @@
360 - /* auto_hinter */
361 - /* cff_driver */
362 - /* tt_driver */
363 -+/* pcf_driver */
364 - /* */
365 - /***************************************************************************/
366 -
367 -diff --git a/include/freetype/ftpcfdrv.h b/include/freetype/ftpcfdrv.h
368 -new file mode 100644
369 -index 0000000..6622c93
370 ---- /dev/null
371 -+++ b/include/freetype/ftpcfdrv.h
372 -@@ -0,0 +1,105 @@
373 -+/***************************************************************************/
374 -+/* */
375 -+/* ftpcfdrv.h */
376 -+/* */
377 -+/* FreeType API for controlling the PCF driver (specification only). */
378 -+/* */
379 -+/* Copyright 2017 by */
380 -+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
381 -+/* */
382 -+/* This file is part of the FreeType project, and may only be used, */
383 -+/* modified, and distributed under the terms of the FreeType project */
384 -+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
385 -+/* this file you indicate that you have read the license and */
386 -+/* understand and accept it fully. */
387 -+/* */
388 -+/***************************************************************************/
389 -+
390 -+
391 -+#ifndef FTPCFDRV_H_
392 -+#define FTPCFDRV_H_
393 -+
394 -+#include <ft2build.h>
395 -+#include FT_FREETYPE_H
396 -+
397 -+#ifdef FREETYPE_H
398 -+#error "freetype.h of FreeType 1 has been loaded!"
399 -+#error "Please fix the directory search order for header files"
400 -+#error "so that freetype.h of FreeType 2 is found first."
401 -+#endif
402 -+
403 -+
404 -+FT_BEGIN_HEADER
405 -+
406 -+
407 -+ /**************************************************************************
408 -+ *
409 -+ * @section:
410 -+ * pcf_driver
411 -+ *
412 -+ * @title:
413 -+ * The PCF driver
414 -+ *
415 -+ * @abstract:
416 -+ * Controlling the PCF driver module.
417 -+ *
418 -+ * @description:
419 -+ * While FreeType's PCF driver doesn't expose API functions by itself,
420 -+ * it is possible to control its behaviour with @FT_Property_Set and
421 -+ * @FT_Property_Get. Right now, there is a single property
422 -+ * `no-long-family-names' available if FreeType is compiled with
423 -+ * PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
424 -+ *
425 -+ * The PCF driver's module name is `pcf'.
426 -+ *
427 -+ */
428 -+
429 -+
430 -+ /**************************************************************************
431 -+ *
432 -+ * @property:
433 -+ * no-long-family-names
434 -+ *
435 -+ * @description:
436 -+ * If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES is active while compiling
437 -+ * FreeType, the PCF driver constructs long family names.
438 -+ *
439 -+ * There are many PCF fonts just called `Fixed' which look completely
440 -+ * different, and which have nothing to do with each other. When
441 -+ * selecting `Fixed' in KDE or Gnome one gets results that appear rather
442 -+ * random, the style changes often if one changes the size and one
443 -+ * cannot select some fonts at all. The improve this situation, the PCF
444 -+ * module prepends the foundry name (plus a space) to the family name.
445 -+ * It also checks whether there are `wide' characters; all put together,
446 -+ * family names like `Sony Fixed' or `Misc Fixed Wide' are constructed.
447 -+ *
448 -+ * If `no-long-family-names' is set, this feature gets switched off.
449 -+ *
450 -+ * {
451 -+ * FT_Library library;
452 -+ * FT_Bool no_long_family_names = TRUE;
453 -+ *
454 -+ *
455 -+ * FT_Init_FreeType( &library );
456 -+ *
457 -+ * FT_Property_Set( library, "pcf",
458 -+ * "no-long-family-names",
459 -+ * &no_long_family_names );
460 -+ * }
461 -+ *
462 -+ * @note:
463 -+ * This property can be used with @FT_Property_Get also.
464 -+ *
465 -+ * This property can be set via the `FREETYPE_PROPERTIES' environment
466 -+ * variable (using values 1 and 0 for `on' and `off', respectively).
467 -+ *
468 -+ */
469 -+
470 -+
471 -+FT_END_HEADER
472 -+
473 -+
474 -+#endif /* FTPCFDRV_H_ */
475 -+
476 -+
477 -+/* END */
478 -diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
479 -index 830cabe..f0390cb 100644
480 ---- a/src/pcf/pcf.h
481 -+++ b/src/pcf/pcf.h
482 -@@ -167,6 +167,8 @@ FT_BEGIN_HEADER
483 - {
484 - FT_DriverRec root;
485 -
486 -+ FT_Bool no_long_family_names;
487 -+
488 - } PCF_DriverRec, *PCF_Driver;
489 -
490 -
491 -diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
492 -index 8f4a90d..bc65423 100644
493 ---- a/src/pcf/pcfdrivr.c
494 -+++ b/src/pcf/pcfdrivr.c
495 -@@ -49,6 +49,8 @@ THE SOFTWARE.
496 -
497 - #include FT_SERVICE_BDF_H
498 - #include FT_SERVICE_FONT_FORMAT_H
499 -+#include FT_SERVICE_PROPERTIES_H
500 -+#include FT_PCF_DRIVER_H
501 -
502 -
503 - /*************************************************************************/
504 -@@ -667,6 +669,110 @@ THE SOFTWARE.
505 - };
506 -
507 -
508 -+ /*
509 -+ * PROPERTY SERVICE
510 -+ *
511 -+ */
512 -+ static FT_Error
513 -+ pcf_property_set( FT_Module module, /* PCF_Driver */
514 -+ const char* property_name,
515 -+ const void* value,
516 -+ FT_Bool value_is_string )
517 -+ {
518 -+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
519 -+
520 -+ FT_Error error = FT_Err_Ok;
521 -+ PCF_Driver driver = (PCF_Driver)module;
522 -+
523 -+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
524 -+ FT_UNUSED( value_is_string );
525 -+#endif
526 -+
527 -+
528 -+ if ( !ft_strcmp( property_name, "no-long-family-names" ) )
529 -+ {
530 -+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
531 -+ if ( value_is_string )
532 -+ {
533 -+ const char* s = (const char*)value;
534 -+ long lfn = ft_strtol( s, NULL, 10 );
535 -+
536 -+
537 -+ if ( lfn == 0 )
538 -+ driver->no_long_family_names = 0;
539 -+ else if ( lfn == 1 )
540 -+ driver->no_long_family_names = 1;
541 -+ else
542 -+ return FT_THROW( Invalid_Argument );
543 -+ }
544 -+ else
545 -+#endif
546 -+ {
547 -+ FT_Bool* no_long_family_names = (FT_Bool*)value;
548 -+
549 -+
550 -+ driver->no_long_family_names = *no_long_family_names;
551 -+ }
552 -+
553 -+ return error;
554 -+ }
555 -+
556 -+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
557 -+
558 -+ FT_UNUSED( module );
559 -+ FT_UNUSED( value );
560 -+ FT_UNUSED( value_is_string );
561 -+
562 -+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
563 -+
564 -+ FT_TRACE0(( "pcf_property_set: missing property `%s'\n",
565 -+ property_name ));
566 -+ return FT_THROW( Missing_Property );
567 -+ }
568 -+
569 -+
570 -+ static FT_Error
571 -+ pcf_property_get( FT_Module module, /* PCF_Driver */
572 -+ const char* property_name,
573 -+ const void* value )
574 -+ {
575 -+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
576 -+
577 -+ FT_Error error = FT_Err_Ok;
578 -+ PCF_Driver driver = (PCF_Driver)module;
579 -+
580 -+
581 -+ if ( !ft_strcmp( property_name, "no-long-family-names" ) )
582 -+ {
583 -+ FT_Bool no_long_family_names = driver->no_long_family_names;
584 -+ FT_Bool* val = (FT_Bool*)value;
585 -+
586 -+
587 -+ *val = no_long_family_names;
588 -+
589 -+ return error;
590 -+ }
591 -+
592 -+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
593 -+
594 -+ FT_UNUSED( module );
595 -+ FT_UNUSED( value );
596 -+
597 -+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
598 -+
599 -+ FT_TRACE0(( "pcf_property_get: missing property `%s'\n",
600 -+ property_name ));
601 -+ return FT_THROW( Missing_Property );
602 -+ }
603 -+
604 -+
605 -+ FT_DEFINE_SERVICE_PROPERTIESREC(
606 -+ pcf_service_properties,
607 -+
608 -+ (FT_Properties_SetFunc)pcf_property_set, /* set_property */
609 -+ (FT_Properties_GetFunc)pcf_property_get ) /* get_property */
610 -+
611 -+
612 - /*
613 - *
614 - * SERVICE LIST
615 -@@ -677,6 +783,7 @@ THE SOFTWARE.
616 - {
617 - { FT_SERVICE_ID_BDF, &pcf_service_bdf },
618 - { FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_PCF },
619 -+ { FT_SERVICE_ID_PROPERTIES, &pcf_service_properties },
620 - { NULL, NULL }
621 - };
622 -
623 -@@ -694,7 +801,14 @@ THE SOFTWARE.
624 - FT_CALLBACK_DEF( FT_Error )
625 - pcf_driver_init( FT_Module module ) /* PCF_Driver */
626 - {
627 -+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
628 -+ PCF_Driver driver = (PCF_Driver)module;
629 -+
630 -+
631 -+ driver->no_long_family_names = 0;
632 -+#else
633 - FT_UNUSED( module );
634 -+#endif
635 -
636 - return FT_Err_Ok;
637 - }
638 -diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
639 -index 38ba110..3eacf2b 100644
640 ---- a/src/pcf/pcfread.c
641 -+++ b/src/pcf/pcfread.c
642 -@@ -1393,57 +1393,75 @@ THE SOFTWARE.
643 - prop = pcf_find_property( face, "FAMILY_NAME" );
644 - if ( prop && prop->isString )
645 - {
646 -- /* Prepend the foundry name plus a space to the family name. */
647 -- /* There are many fonts just called `Fixed' which look completely */
648 -- /* different, and which have nothing to do with each other. When */
649 -- /* selecting `Fixed' in KDE or Gnome one gets results that appear */
650 -- /* rather random, the style changes often if one changes the size */
651 -- /* and one cannot select some fonts at all. */
652 -- /* */
653 -- /* We also check whether we have `wide' characters; all put */
654 -- /* together, we get family names like `Sony Fixed' or `Misc Fixed */
655 -- /* Wide'. */
656 -- PCF_Property foundry_prop, point_size_prop, average_width_prop;
657 --
658 -- int l = ft_strlen( prop->value.atom ) + 1;
659 -- int wide = 0;
660 --
661 --
662 -- foundry_prop = pcf_find_property( face, "FOUNDRY" );
663 -- point_size_prop = pcf_find_property( face, "POINT_SIZE" );
664 -- average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
665 --
666 -- if ( point_size_prop && average_width_prop )
667 -+
668 -+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
669 -+
670 -+ PCF_Driver driver = (PCF_Driver)FT_FACE_DRIVER( face );
671 -+
672 -+
673 -+ if ( !driver->no_long_family_names )
674 - {
675 -- if ( average_width_prop->value.l >= point_size_prop->value.l )
676 -+ /* Prepend the foundry name plus a space to the family name. */
677 -+ /* There are many fonts just called `Fixed' which look */
678 -+ /* completely different, and which have nothing to do with each */
679 -+ /* other. When selecting `Fixed' in KDE or Gnome one gets */
680 -+ /* results that appear rather random, the style changes often if */
681 -+ /* one changes the size and one cannot select some fonts at all. */
682 -+ /* */
683 -+ /* We also check whether we have `wide' characters; all put */
684 -+ /* together, we get family names like `Sony Fixed' or `Misc */
685 -+ /* Fixed Wide'. */
686 -+
687 -+ PCF_Property foundry_prop, point_size_prop, average_width_prop;
688 -+
689 -+ int l = ft_strlen( prop->value.atom ) + 1;
690 -+ int wide = 0;
691 -+
692 -+
693 -+ foundry_prop = pcf_find_property( face, "FOUNDRY" );
694 -+ point_size_prop = pcf_find_property( face, "POINT_SIZE" );
695 -+ average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
696 -+
697 -+ if ( point_size_prop && average_width_prop )
698 - {
699 -- /* This font is at least square shaped or even wider */
700 -- wide = 1;
701 -- l += ft_strlen( " Wide" );
702 -+ if ( average_width_prop->value.l >= point_size_prop->value.l )
703 -+ {
704 -+ /* This font is at least square shaped or even wider */
705 -+ wide = 1;
706 -+ l += ft_strlen( " Wide" );
707 -+ }
708 - }
709 -- }
710 -
711 -- if ( foundry_prop && foundry_prop->isString )
712 -- {
713 -- l += ft_strlen( foundry_prop->value.atom ) + 1;
714 -+ if ( foundry_prop && foundry_prop->isString )
715 -+ {
716 -+ l += ft_strlen( foundry_prop->value.atom ) + 1;
717 -
718 -- if ( FT_NEW_ARRAY( root->family_name, l ) )
719 -- goto Exit;
720 -+ if ( FT_NEW_ARRAY( root->family_name, l ) )
721 -+ goto Exit;
722 -+
723 -+ ft_strcpy( root->family_name, foundry_prop->value.atom );
724 -+ ft_strcat( root->family_name, " " );
725 -+ ft_strcat( root->family_name, prop->value.atom );
726 -+ }
727 -+ else
728 -+ {
729 -+ if ( FT_NEW_ARRAY( root->family_name, l ) )
730 -+ goto Exit;
731 -
732 -- ft_strcpy( root->family_name, foundry_prop->value.atom );
733 -- ft_strcat( root->family_name, " " );
734 -- ft_strcat( root->family_name, prop->value.atom );
735 -+ ft_strcpy( root->family_name, prop->value.atom );
736 -+ }
737 -+
738 -+ if ( wide )
739 -+ ft_strcat( root->family_name, " Wide" );
740 - }
741 - else
742 -+
743 -+#endif /* PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
744 -+
745 - {
746 -- if ( FT_NEW_ARRAY( root->family_name, l ) )
747 -+ if ( FT_STRDUP( root->family_name, prop->value.atom ) )
748 - goto Exit;
749 --
750 -- ft_strcpy( root->family_name, prop->value.atom );
751 - }
752 --
753 -- if ( wide )
754 -- ft_strcat( root->family_name, " Wide" );
755 - }
756 - else
757 - root->family_name = NULL;
758 ---
759 -cgit v1.0
760 -
761 -From 7ccca6aec167c2c30c569765ece808f0eee023a6 Mon Sep 17 00:00:00 2001
762 -From: Werner Lemberg <wl@×××.org>
763 -Date: Mon, 9 Jan 2017 19:54:44 +0100
764 -Subject: [pcf] Disable long family names by default.
765 -
766 -* include/freetype/config/ftoption.h
767 -(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): Comment out.
768 ----
769 - include/freetype/config/ftoption.h | 2 +-
770 - 2 files changed, 8 insertions(+), 1 deletion(-)
771 -
772 -diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
773 -index 5676074..37a0d00 100644
774 ---- a/include/freetype/config/ftoption.h
775 -+++ b/include/freetype/config/ftoption.h
776 -@@ -856,7 +856,7 @@ FT_BEGIN_HEADER
777 - /* If this option is activated, it can be controlled with the */
778 - /* `no-long-family-names' property of the pcf driver module. */
779 - /* */
780 --#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
781 -+/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
782 -
783 -
784 - /*************************************************************************/
785 ---
786 -cgit v1.0
787 -
788
789 diff --git a/media-libs/freetype/freetype-2.7.1-r2.ebuild b/media-libs/freetype/freetype-2.7.1-r2.ebuild
790 deleted file mode 100644
791 index 5afefe4915d..00000000000
792 --- a/media-libs/freetype/freetype-2.7.1-r2.ebuild
793 +++ /dev/null
794 @@ -1,179 +0,0 @@
795 -# Copyright 1999-2017 Gentoo Foundation
796 -# Distributed under the terms of the GNU General Public License v2
797 -
798 -EAPI=6
799 -
800 -inherit flag-o-matic libtool multilib multilib-build multilib-minimal toolchain-funcs
801 -
802 -INFINALITY_PATCH="03-infinality-2.6.3-2016.03.26.patch"
803 -
804 -DESCRIPTION="A high-quality and portable font engine"
805 -HOMEPAGE="http://www.freetype.org/"
806 -SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2
807 - mirror://nongnu/freetype/${P/_/}.tar.bz2
808 - utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.bz2
809 - mirror://nongnu/freetype/ft2demos-${PV}.tar.bz2 )
810 - doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.bz2
811 - mirror://nongnu/freetype/${PN}-doc-${PV}.tar.bz2 )"
812 -
813 -LICENSE="|| ( FTL GPL-2+ )"
814 -SLOT="2"
815 -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"
816 -IUSE="X +adobe-cff bindist bzip2 +cleartype_hinting debug doc fontforge harfbuzz
817 - infinality png static-libs utils"
818 -RESTRICT="!bindist? ( bindist )" # bug 541408
819 -
820 -CDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
821 - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
822 - harfbuzz? ( >=media-libs/harfbuzz-0.9.19[truetype,${MULTILIB_USEDEP}] )
823 - png? ( >=media-libs/libpng-1.2.51:=[${MULTILIB_USEDEP}] )
824 - utils? (
825 - X? (
826 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
827 - >=x11-libs/libXau-1.0.7-r1[${MULTILIB_USEDEP}]
828 - >=x11-libs/libXdmcp-1.1.1-r1[${MULTILIB_USEDEP}]
829 - )
830 - )"
831 -DEPEND="${CDEPEND}
832 - virtual/pkgconfig"
833 -RDEPEND="${CDEPEND}
834 - abi_x86_32? ( utils? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] ) )"
835 -PDEPEND="infinality? ( media-libs/fontconfig-infinality )"
836 -
837 -PATCHES=(
838 - # This is the same as the 01 patch from infinality
839 - "${FILESDIR}"/${PN}-2.7-enable-valid.patch
840 -
841 - "${FILESDIR}"/${PN}-2.4.11-sizeof-types.patch # 459966
842 -
843 - # patches from upstream (can be removed with the next version bump)
844 - "${FILESDIR}"/${P}-pcf_fix.patch #606688
845 - "${FILESDIR}"/${P}-glyph_name.patch #612192
846 -)
847 -
848 -src_prepare() {
849 - enable_option() {
850 - sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \
851 - include/${PN}/config/ftoption.h \
852 - || die "unable to enable option $1"
853 - }
854 -
855 - disable_option() {
856 - sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \
857 - include/${PN}/config/ftoption.h \
858 - || die "unable to disable option $1"
859 - }
860 -
861 - default
862 -
863 - # Will be the new default for >=freetype-2.7.0
864 - disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2"
865 -
866 - if use infinality && use cleartype_hinting; then
867 - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )"
868 - elif use infinality; then
869 - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1"
870 - elif use cleartype_hinting; then
871 - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2"
872 - fi
873 -
874 - if ! use bindist; then
875 - # See http://freetype.org/patents.html
876 - # ClearType is covered by several Microsoft patents in the US
877 - enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING
878 - fi
879 -
880 - if ! use adobe-cff; then
881 - enable_option CFF_CONFIG_OPTION_OLD_ENGINE
882 - fi
883 -
884 - if use debug; then
885 - enable_option FT_DEBUG_LEVEL_TRACE
886 - enable_option FT_DEBUG_MEMORY
887 - fi
888 -
889 - if use utils; then
890 - cd "${WORKDIR}/ft2demos-${PV}" || die
891 - # Disable tests needing X11 when USE="-X". (bug #177597)
892 - if ! use X; then
893 - sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die
894 - fi
895 - cd "${S}" || die
896 - fi
897 -
898 - # we need non-/bin/sh to run configure
899 - if [[ -n ${CONFIG_SHELL} ]] ; then
900 - sed -i -e "1s:^#![[:space:]]*/bin/sh:#!$CONFIG_SHELL:" \
901 - "${S}"/builds/unix/configure || die
902 - fi
903 -
904 - elibtoolize --patch-only
905 -}
906 -
907 -multilib_src_configure() {
908 - append-flags -fno-strict-aliasing
909 - type -P gmake &> /dev/null && export GNUMAKE=gmake
910 -
911 - local myeconfargs=(
912 - --enable-biarch-config
913 - --enable-shared
914 - $(use_with bzip2)
915 - $(use_with harfbuzz)
916 - $(use_with png)
917 - $(use_enable static-libs static)
918 -
919 - # avoid using libpng-config
920 - LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)"
921 - LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)"
922 - )
923 -
924 - ECONF_SOURCE="${S}" \
925 - econf "${myeconfargs[@]}"
926 -}
927 -
928 -multilib_src_compile() {
929 - default
930 -
931 - if multilib_is_native_abi && use utils; then
932 - einfo "Building utils"
933 - # fix for Prefix, bug #339334
934 - emake \
935 - X11_PATH="${EPREFIX}/usr/$(get_libdir)" \
936 - FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}"
937 - fi
938 -}
939 -
940 -multilib_src_install() {
941 - default
942 -
943 - if multilib_is_native_abi && use utils; then
944 - einfo "Installing utils"
945 - rm "${WORKDIR}"/ft2demos-${PV}/bin/README || die
946 - local ft2demo
947 - for ft2demo in ../ft2demos-${PV}/bin/*; do
948 - ./libtool --mode=install $(type -P install) -m 755 "$ft2demo" \
949 - "${ED}"/usr/bin || die
950 - done
951 - fi
952 -}
953 -
954 -multilib_src_install_all() {
955 - if use fontforge; then
956 - # Probably fontforge needs less but this way makes things simplier...
957 - einfo "Installing internal headers required for fontforge"
958 - local header
959 - find src/truetype include/freetype/internal -name '*.h' | \
960 - while read header; do
961 - mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
962 - cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die
963 - done
964 - fi
965 -
966 - dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO}
967 - if use doc ; then
968 - docinto html
969 - dodoc -r docs/*
970 - fi
971 -
972 - prune_libtool_files --all
973 -}