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 |
-} |