1 |
commit: e4daed4fe031fd865aff115e76de58e411985273 |
2 |
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 13 23:37:17 2020 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 13 23:50:21 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4daed4f |
7 |
|
8 |
media-gfx/fontforge: remove old |
9 |
|
10 |
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> |
11 |
|
12 |
media-gfx/fontforge/Manifest | 2 - |
13 |
.../fontforge/files/20170731-PyMem_Free.patch | 197 --------------------- |
14 |
.../files/20170731-gethex-unaligned.patch | 22 --- |
15 |
.../20170731-startnoui-FindOrMakeEncoding.patch | 22 --- |
16 |
media-gfx/fontforge/files/20170731-tilepath.patch | 16 -- |
17 |
media-gfx/fontforge/fontforge-20170731-r5.ebuild | 122 ------------- |
18 |
media-gfx/fontforge/fontforge-20190801.ebuild | 104 ----------- |
19 |
7 files changed, 485 deletions(-) |
20 |
|
21 |
diff --git a/media-gfx/fontforge/Manifest b/media-gfx/fontforge/Manifest |
22 |
index 663096d134c..d5e98998867 100644 |
23 |
--- a/media-gfx/fontforge/Manifest |
24 |
+++ b/media-gfx/fontforge/Manifest |
25 |
@@ -1,3 +1 @@ |
26 |
-DIST fontforge-20190801.tar.gz 20766334 BLAKE2B c3206e77da4a966b9e513c41c90e19522f3d1aad990cd3035d7c8a8cc009239811743c12c02df3b02fd91fa5a7738913dba43df14523a738a2232cd2d1a91700 SHA512 78f3e1e94e38e26dcf52c6a0e038753033dc47052b7492f0ac0aaf1b8962e4e4bbf07c2550ef6014ea7290a6429bf669acb0691735efe0aee368480b4b7e6236 |
27 |
DIST fontforge-20200314.tar.xz 13850076 BLAKE2B 5e6ae3b7940a5b3b08811abdfc9d151f231e6d457b219eb0c666e1b831db815b696f345eda0d4d423b7e340f56fca67205734ae19903b3815381080d34b5e95c SHA512 09f5dc93f87ca63668d72d108690604489d6b3cec7eedff1c07ad6d1ce5eae442ab60e79e71ae8b99e9808f3551011788025a86ffc3a9738518d99761d849975 |
28 |
-DIST fontforge-dist-20170731.tar.xz 13985256 BLAKE2B 7bc49a3b7747de419e4fafb445062873cf9bf56aa73fd7499509b787a1c0fd6c47b0b5d7bfeb2a69d9237f9f66f989af968b0d00e9d5e57030906394f042f29c SHA512 26f7a40714460716a24dd0229fdb027f3766bcc48db64b8993436ddcb6277898f9f3b67ad4fc0be515b2b38e01370d1c7d9ee3c6ece1be862b7d8c9882411f11 |
29 |
|
30 |
diff --git a/media-gfx/fontforge/files/20170731-PyMem_Free.patch b/media-gfx/fontforge/files/20170731-PyMem_Free.patch |
31 |
deleted file mode 100644 |
32 |
index 48301dabb2f..00000000000 |
33 |
--- a/media-gfx/fontforge/files/20170731-PyMem_Free.patch |
34 |
+++ /dev/null |
35 |
@@ -1,197 +0,0 @@ |
36 |
-From b6089f11bd7534c9aa38b875ef1e830fc3b898b4 Mon Sep 17 00:00:00 2001 |
37 |
-From: Jeremy Tan <jtanx@×××××××.com> |
38 |
-Date: Wed, 13 Sep 2017 17:22:18 +0800 |
39 |
-Subject: [PATCH] python: Use PyMem_Free wherever PyArg_ParseTuple+es is used |
40 |
- |
41 |
-https://docs.python.org/2.0/ext/parseTuple.html |
42 |
- |
43 |
-diff --git a/fontforge/python.c b/fontforge/python.c |
44 |
-index 5d6820c40..c6d7aca2b 100644 |
45 |
---- a/fontforge/python.c |
46 |
-+++ b/fontforge/python.c |
47 |
-@@ -607,7 +607,13 @@ return( NULL ); |
48 |
- } |
49 |
- } |
50 |
- |
51 |
-- if ( !SetPrefs((char *) prefname,&val,NULL)) { |
52 |
-+ bool succeeded = SetPrefs((char *) prefname,&val,NULL); |
53 |
-+ if (val.type == v_str && val.u.sval) { |
54 |
-+ PyMem_Free(val.u.sval); |
55 |
-+ val.u.sval = NULL; |
56 |
-+ } |
57 |
-+ |
58 |
-+ if (!succeeded) { |
59 |
- PyErr_Format(PyExc_NameError, "Unknown preference item in SetPrefs: %s", prefname ); |
60 |
- return( NULL ); |
61 |
- } |
62 |
-@@ -728,7 +734,7 @@ static PyObject *PyFF_UnicodeFromName(PyObject *UNUSED(self), PyObject *args) { |
63 |
- return( NULL ); |
64 |
- |
65 |
- ret = Py_BuildValue("i", UniFromName((char *) name, ui_none,&custom)); |
66 |
-- free(name); |
67 |
-+ PyMem_Free(name); |
68 |
- return( ret ); |
69 |
- } |
70 |
- |
71 |
-@@ -1361,12 +1367,14 @@ Py_RETURN_NONE; /* Well, that was pointless */ |
72 |
- if ( import==Py_None ) |
73 |
- import=NULL; |
74 |
- else if ( !PyCallable_Check(import) ) { |
75 |
-+ PyMem_Free(name); |
76 |
- PyErr_Format(PyExc_TypeError, "First argument is not callable" ); |
77 |
- return( NULL ); |
78 |
- } |
79 |
- if ( export==Py_None ) |
80 |
- export=NULL; |
81 |
- else if ( !PyCallable_Check(export) ) { |
82 |
-+ PyMem_Free(name); |
83 |
- PyErr_Format(PyExc_TypeError, "Second argument is not callable" ); |
84 |
- return( NULL ); |
85 |
- } |
86 |
-@@ -1472,7 +1480,7 @@ static PyObject *PyFF_logError(PyObject *UNUSED(self), PyObject *args) { |
87 |
- if ( !PyArg_ParseTuple(args,"es","UTF-8", &msg) ) |
88 |
- return( NULL ); |
89 |
- LogError(msg); |
90 |
-- free(msg); |
91 |
-+ PyMem_Free(msg); |
92 |
- Py_RETURN_NONE; |
93 |
- } |
94 |
- |
95 |
-@@ -1486,6 +1494,8 @@ static PyObject *PyFF_postError(PyObject *UNUSED(self), PyObject *args) { |
96 |
- return( NULL ); |
97 |
- if( showPythonErrors ) |
98 |
- ff_post_error(title,msg); /* Prints to stderr if no ui */ |
99 |
-+ PyMem_Free(title); |
100 |
-+ PyMem_Free(msg); |
101 |
- Py_RETURN_NONE; |
102 |
- } |
103 |
- |
104 |
-@@ -1494,6 +1504,8 @@ static PyObject *PyFF_postNotice(PyObject *UNUSED(self), PyObject *args) { |
105 |
- if ( !PyArg_ParseTuple(args,"eses","UTF-8", &title, "UTF-8", &msg) ) |
106 |
- return( NULL ); |
107 |
- ff_post_notice(title,msg); /* Prints to stderr if no ui */ |
108 |
-+ PyMem_Free(title); |
109 |
-+ PyMem_Free(msg); |
110 |
- Py_RETURN_NONE; |
111 |
- } |
112 |
- |
113 |
-@@ -1511,8 +1523,8 @@ return( NULL ); |
114 |
- return( NULL ); |
115 |
- |
116 |
- ret = ff_open_filename(title,def,filter); |
117 |
-- free(title); |
118 |
-- free(def); |
119 |
-+ PyMem_Free(title); |
120 |
-+ PyMem_Free(def); |
121 |
- if ( ret==NULL ) |
122 |
- Py_RETURN_NONE; |
123 |
- reto = DECODE_UTF8(ret,strlen(ret),NULL); |
124 |
-@@ -1534,8 +1546,8 @@ return( NULL ); |
125 |
- return( NULL ); |
126 |
- |
127 |
- ret = ff_save_filename(title,def,filter); |
128 |
-- free(title); |
129 |
-- free(def); |
130 |
-+ PyMem_Free(title); |
131 |
-+ PyMem_Free(def); |
132 |
- if ( ret==NULL ) |
133 |
- Py_RETURN_NONE; |
134 |
- reto = DECODE_UTF8(ret,strlen(ret),NULL); |
135 |
-@@ -1558,8 +1570,8 @@ return( NULL ); |
136 |
- return( NULL ); |
137 |
- if ( !PySequence_Check(answero) || STRING_CHECK(answero)) { |
138 |
- PyErr_Format(PyExc_TypeError, "Expected a tuple of strings for the third argument"); |
139 |
-- free(title); |
140 |
-- free(quest); |
141 |
-+ PyMem_Free(title); |
142 |
-+ PyMem_Free(quest); |
143 |
- return( NULL ); |
144 |
- } |
145 |
- cnt = PySequence_Size(answero); |
146 |
-@@ -1568,16 +1580,16 @@ return( NULL ); |
147 |
- cancel = cnt-1; |
148 |
- if ( cancel<0 || cancel>=cnt || def<0 || def>=cnt ) { |
149 |
- PyErr_Format(PyExc_ValueError, "Value out of bounds for 4th or 5th argument"); |
150 |
-- free(title); |
151 |
-- free(quest); |
152 |
-+ PyMem_Free(title); |
153 |
-+ PyMem_Free(quest); |
154 |
- free(answers); |
155 |
- return( NULL ); |
156 |
- } |
157 |
- for ( i=0; i<cnt; ++i ) { |
158 |
- PyObject *utf8_name = PYBYTES_UTF8(PySequence_GetItem(answero,i)); |
159 |
- if ( utf8_name==NULL ) { |
160 |
-- free(title); |
161 |
-- free(quest); |
162 |
-+ PyMem_Free(title); |
163 |
-+ PyMem_Free(quest); |
164 |
- FreeStringArray( i, answers ); |
165 |
- return( NULL ); |
166 |
- } |
167 |
-@@ -1587,8 +1599,8 @@ return( NULL ); |
168 |
- answers[cnt] = NULL; |
169 |
- |
170 |
- ret = ff_ask(title,(const char **) answers,def,cancel,quest); |
171 |
-- free(title); |
172 |
-- free(quest); |
173 |
-+ PyMem_Free(title); |
174 |
-+ PyMem_Free(quest); |
175 |
- FreeStringArray( cnt, answers ); |
176 |
- return( Py_BuildValue("i",ret)); |
177 |
- } |
178 |
-@@ -1608,23 +1620,23 @@ return( NULL ); |
179 |
- return( NULL ); |
180 |
- if ( !PySequence_Check(answero) || STRING_CHECK(answero)) { |
181 |
- PyErr_Format(PyExc_TypeError, "Expected a tuple of strings for the third argument"); |
182 |
-- free(title); |
183 |
-- free(quest); |
184 |
-+ PyMem_Free(title); |
185 |
-+ PyMem_Free(quest); |
186 |
- return( NULL ); |
187 |
- } |
188 |
- cnt = PySequence_Size(answero); |
189 |
- answers = calloc(cnt+1, sizeof(char *)); |
190 |
- if ( def<0 || def>=cnt ) { |
191 |
- PyErr_Format(PyExc_ValueError, "Value out of bounds for 4th argument"); |
192 |
-- free(title); |
193 |
-- free(quest); |
194 |
-+ PyMem_Free(title); |
195 |
-+ PyMem_Free(quest); |
196 |
- return( NULL ); |
197 |
- } |
198 |
- for ( i=0; i<cnt; ++i ) { |
199 |
- PyObject *utf8_name = PYBYTES_UTF8(PySequence_GetItem(answero,i)); |
200 |
- if ( utf8_name==NULL ) { |
201 |
-- free(title); |
202 |
-- free(quest); |
203 |
-+ PyMem_Free(title); |
204 |
-+ PyMem_Free(quest); |
205 |
- FreeStringArray( i, answers ); |
206 |
- return( NULL ); |
207 |
- } |
208 |
-@@ -1634,8 +1646,8 @@ return( NULL ); |
209 |
- answers[cnt] = NULL; |
210 |
- |
211 |
- ret = ff_choose(title,(const char **) answers,cnt,def,quest); |
212 |
-- free(title); |
213 |
-- free(quest); |
214 |
-+ PyMem_Free(title); |
215 |
-+ PyMem_Free(quest); |
216 |
- FreeStringArray( cnt, answers ); |
217 |
- return( Py_BuildValue("i",ret)); |
218 |
- } |
219 |
-@@ -1654,8 +1666,8 @@ return( NULL ); |
220 |
- return( NULL ); |
221 |
- |
222 |
- ret = ff_ask_string(title,def,quest); |
223 |
-- free(title); |
224 |
-- free(quest); |
225 |
-+ PyMem_Free(title); |
226 |
-+ PyMem_Free(quest); |
227 |
- free(def); |
228 |
- if ( ret==NULL ) |
229 |
- Py_RETURN_NONE; |
230 |
--- |
231 |
-2.17.0 |
232 |
- |
233 |
|
234 |
diff --git a/media-gfx/fontforge/files/20170731-gethex-unaligned.patch b/media-gfx/fontforge/files/20170731-gethex-unaligned.patch |
235 |
deleted file mode 100644 |
236 |
index 812f7a44472..00000000000 |
237 |
--- a/media-gfx/fontforge/files/20170731-gethex-unaligned.patch |
238 |
+++ /dev/null |
239 |
@@ -1,22 +0,0 @@ |
240 |
-fix unaligned access in gethex() |
241 |
- |
242 |
---- a/fontforge/sfd.c |
243 |
-+++ b/fontforge/sfd.c |
244 |
-@@ -3393,6 +3393,7 @@ |
245 |
- static int gethex(FILE *sfd, uint32 *val) { |
246 |
- char tokbuf[100]; int ch; |
247 |
- char *pt=tokbuf, *end = tokbuf+100-2; |
248 |
-+ uint32 u; |
249 |
- |
250 |
- while ( isspace(ch = nlgetc(sfd))); |
251 |
- if ( ch=='#' ) |
252 |
-@@ -3416,7 +3417,8 @@ |
253 |
- } |
254 |
- *pt='\0'; |
255 |
- ungetc(ch,sfd); |
256 |
-- *val = strtoul(tokbuf,NULL,16); |
257 |
-+ u = strtoul(tokbuf,NULL,16); |
258 |
-+ memcpy(val, &u, sizeof(u)); |
259 |
- return( pt!=tokbuf?1:ch==EOF?-1: 0 ); |
260 |
- } |
261 |
- |
262 |
|
263 |
diff --git a/media-gfx/fontforge/files/20170731-startnoui-FindOrMakeEncoding.patch b/media-gfx/fontforge/files/20170731-startnoui-FindOrMakeEncoding.patch |
264 |
deleted file mode 100644 |
265 |
index 30731b904f2..00000000000 |
266 |
--- a/media-gfx/fontforge/files/20170731-startnoui-FindOrMakeEncoding.patch |
267 |
+++ /dev/null |
268 |
@@ -1,22 +0,0 @@ |
269 |
-From 72572a68d306712c040ca741f0655b190326a509 Mon Sep 17 00:00:00 2001 |
270 |
-From: Jeremy Tan <jtanx@×××××××.com> |
271 |
-Date: Sat, 9 Sep 2017 08:03:57 +0800 |
272 |
-Subject: [PATCH] startnoui.c: Include header that defines FindOrMakeEncoding |
273 |
- |
274 |
-Failure to include this was causing an implicit pointer to int conversion |
275 |
-which results in an invalid pointer address on 64-bit builds. |
276 |
- |
277 |
-Fixes #3145. |
278 |
- |
279 |
-diff --git a/fontforgeexe/startnoui.c b/fontforgeexe/startnoui.c |
280 |
-index ab8388539..7a188b7a2 100644 |
281 |
---- a/fontforgeexe/startnoui.c |
282 |
-+++ b/fontforgeexe/startnoui.c |
283 |
-@@ -27,6 +27,7 @@ |
284 |
- #include "fontforgevw.h" |
285 |
- #include "scripting.h" |
286 |
- #include "start.h" |
287 |
-+#include "encoding.h" |
288 |
- |
289 |
- #ifndef _NO_LIBUNICODENAMES |
290 |
- #include <libunicodenames.h> /* need to open a database when we start */ |
291 |
|
292 |
diff --git a/media-gfx/fontforge/files/20170731-tilepath.patch b/media-gfx/fontforge/files/20170731-tilepath.patch |
293 |
deleted file mode 100644 |
294 |
index c14d81dc430..00000000000 |
295 |
--- a/media-gfx/fontforge/files/20170731-tilepath.patch |
296 |
+++ /dev/null |
297 |
@@ -1,16 +0,0 @@ |
298 |
-Fix implicit declarations |
299 |
- |
300 |
-Fixed upstream in a larger refactor. |
301 |
- |
302 |
---- a/fontforgeexe/tilepath.c |
303 |
-+++ b/fontforgeexe/tilepath.c |
304 |
-@@ -24,7 +24,9 @@ |
305 |
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
306 |
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
307 |
- */ |
308 |
-+#include "cvundoes.h" |
309 |
- #include "fontforgeui.h" |
310 |
-+#include "fvfonts.h" |
311 |
- #include "splineutil.h" |
312 |
- #include "splineutil2.h" |
313 |
- #include <math.h> |
314 |
|
315 |
diff --git a/media-gfx/fontforge/fontforge-20170731-r5.ebuild b/media-gfx/fontforge/fontforge-20170731-r5.ebuild |
316 |
deleted file mode 100644 |
317 |
index 3717888256a..00000000000 |
318 |
--- a/media-gfx/fontforge/fontforge-20170731-r5.ebuild |
319 |
+++ /dev/null |
320 |
@@ -1,122 +0,0 @@ |
321 |
-# Copyright 1999-2020 Gentoo Authors |
322 |
-# Distributed under the terms of the GNU General Public License v2 |
323 |
- |
324 |
-EAPI=6 |
325 |
- |
326 |
-PYTHON_COMPAT=( python3_6 ) |
327 |
- |
328 |
-inherit gnome2-utils python-single-r1 xdg-utils |
329 |
- |
330 |
-DESCRIPTION="postscript font editor and converter" |
331 |
-HOMEPAGE="http://fontforge.github.io/" |
332 |
-SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/fontforge-dist-${PV}.tar.xz" |
333 |
- |
334 |
-LICENSE="BSD GPL-3+" |
335 |
-SLOT="0" |
336 |
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" |
337 |
-IUSE="cairo truetype-debugger gif gtk jpeg png +python readline test tiff svg unicode X" |
338 |
- |
339 |
-RESTRICT="!test? ( test )" |
340 |
- |
341 |
-REQUIRED_USE=" |
342 |
- cairo? ( png ) |
343 |
- python? ( ${PYTHON_REQUIRED_USE} ) |
344 |
- test? ( png python ) |
345 |
-" |
346 |
- |
347 |
-RDEPEND=" |
348 |
- dev-libs/glib |
349 |
- dev-libs/libltdl:0 |
350 |
- dev-libs/libxml2:2= |
351 |
- >=media-libs/freetype-2.3.7:2= |
352 |
- cairo? ( |
353 |
- >=x11-libs/cairo-1.6:0= |
354 |
- x11-libs/pango:0= |
355 |
- ) |
356 |
- gif? ( media-libs/giflib:0= ) |
357 |
- jpeg? ( virtual/jpeg:0 ) |
358 |
- png? ( media-libs/libpng:0= ) |
359 |
- tiff? ( media-libs/tiff:0= ) |
360 |
- truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] ) |
361 |
- gtk? ( x11-libs/gtk+:2= ) |
362 |
- python? ( ${PYTHON_DEPS} ) |
363 |
- readline? ( sys-libs/readline:0= ) |
364 |
- unicode? ( media-libs/libuninameslist:0= ) |
365 |
- X? ( |
366 |
- x11-libs/libX11:0= |
367 |
- x11-libs/libXi:0= |
368 |
- >=x11-libs/pango-1.10:0=[X] |
369 |
- ) |
370 |
-" |
371 |
-DEPEND="${RDEPEND} |
372 |
- sys-devel/gettext |
373 |
- virtual/pkgconfig |
374 |
- X? ( x11-base/xorg-proto ) |
375 |
-" |
376 |
- |
377 |
-# Needs keywording on many arches. |
378 |
-# zeromq? ( |
379 |
-# >=net-libs/czmq-2.2.0:0= |
380 |
-# >=net-libs/zeromq-4.0.4:0= |
381 |
-# ) |
382 |
- |
383 |
-S="${WORKDIR}/fontforge-2.0.${PV}" |
384 |
- |
385 |
-PATCHES=( |
386 |
- "${FILESDIR}"/20170731-startnoui-FindOrMakeEncoding.patch |
387 |
- "${FILESDIR}"/20170731-tilepath.patch |
388 |
- "${FILESDIR}"/20170731-gethex-unaligned.patch |
389 |
- "${FILESDIR}"/20170731-PyMem_Free.patch |
390 |
- "${FILESDIR}"/CVE-2020-5395.patch |
391 |
-) |
392 |
- |
393 |
-pkg_setup() { |
394 |
- use python && python-single-r1_pkg_setup |
395 |
-} |
396 |
- |
397 |
-src_configure() { |
398 |
- local myeconfargs=( |
399 |
- --disable-static |
400 |
- $(use_enable truetype-debugger freetype-debugger "${EPREFIX}/usr/include/freetype2/internal4fontforge") |
401 |
- $(use_enable gtk gtk2-use) |
402 |
- $(use_enable python python-extension) |
403 |
- $(use_enable python python-scripting) |
404 |
- --enable-tile-path |
405 |
- --enable-gb12345 |
406 |
- $(use_with cairo) |
407 |
- $(use_with gif giflib) |
408 |
- $(use_with jpeg libjpeg) |
409 |
- $(use_with png libpng) |
410 |
- $(use_with readline libreadline) |
411 |
- --without-libspiro |
412 |
- $(use_with tiff libtiff) |
413 |
- $(use_with unicode libuninameslist) |
414 |
- #$(use_with zeromq libzmq) |
415 |
- --without-libzmq |
416 |
- $(use_with X x) |
417 |
- ) |
418 |
- econf "${myeconfargs[@]}" |
419 |
-} |
420 |
- |
421 |
-src_compile() { |
422 |
- # Build system deps are broken |
423 |
- emake -C plugins |
424 |
- emake |
425 |
-} |
426 |
- |
427 |
-src_install() { |
428 |
- default |
429 |
- find "${D}" -name '*.la' -delete || die |
430 |
-} |
431 |
- |
432 |
-pkg_postrm() { |
433 |
- gnome2_icon_cache_update |
434 |
- xdg_desktop_database_update |
435 |
- xdg_mimeinfo_database_update |
436 |
-} |
437 |
- |
438 |
-pkg_postinst() { |
439 |
- gnome2_icon_cache_update |
440 |
- xdg_desktop_database_update |
441 |
- xdg_mimeinfo_database_update |
442 |
-} |
443 |
|
444 |
diff --git a/media-gfx/fontforge/fontforge-20190801.ebuild b/media-gfx/fontforge/fontforge-20190801.ebuild |
445 |
deleted file mode 100644 |
446 |
index 74590785e86..00000000000 |
447 |
--- a/media-gfx/fontforge/fontforge-20190801.ebuild |
448 |
+++ /dev/null |
449 |
@@ -1,104 +0,0 @@ |
450 |
-# Copyright 2004-2020 Gentoo Authors |
451 |
-# Distributed under the terms of the GNU General Public License v2 |
452 |
- |
453 |
-EAPI=7 |
454 |
- |
455 |
-PYTHON_COMPAT=( python3_{6,7} ) |
456 |
- |
457 |
-inherit python-single-r1 xdg |
458 |
- |
459 |
-DESCRIPTION="postscript font editor and converter" |
460 |
-HOMEPAGE="http://fontforge.github.io/" |
461 |
-SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/fontforge-${PV}.tar.gz" |
462 |
- |
463 |
-LICENSE="BSD GPL-3+" |
464 |
-SLOT="0" |
465 |
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" |
466 |
-IUSE="cairo truetype-debugger gif gtk jpeg png +python readline test tiff svg unicode X" |
467 |
- |
468 |
-RESTRICT="!test? ( test )" |
469 |
- |
470 |
-REQUIRED_USE=" |
471 |
- cairo? ( png ) |
472 |
- gtk? ( cairo ) |
473 |
- python? ( ${PYTHON_REQUIRED_USE} ) |
474 |
-" |
475 |
- |
476 |
-RDEPEND=" |
477 |
- dev-libs/glib |
478 |
- dev-libs/libltdl:0 |
479 |
- dev-libs/libxml2:2= |
480 |
- >=media-libs/freetype-2.3.7:2= |
481 |
- cairo? ( |
482 |
- >=x11-libs/cairo-1.6:0= |
483 |
- x11-libs/pango:0= |
484 |
- ) |
485 |
- gif? ( media-libs/giflib:0= ) |
486 |
- jpeg? ( virtual/jpeg:0 ) |
487 |
- png? ( media-libs/libpng:0= ) |
488 |
- tiff? ( media-libs/tiff:0= ) |
489 |
- truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] ) |
490 |
- gtk? ( >=x11-libs/gtk+-3.10:3 ) |
491 |
- python? ( ${PYTHON_DEPS} ) |
492 |
- readline? ( sys-libs/readline:0= ) |
493 |
- unicode? ( media-libs/libuninameslist:0= ) |
494 |
- X? ( |
495 |
- x11-libs/libX11:0= |
496 |
- x11-libs/libXi:0= |
497 |
- >=x11-libs/pango-1.10:0=[X] |
498 |
- ) |
499 |
-" |
500 |
-DEPEND="${RDEPEND} |
501 |
- X? ( x11-base/xorg-proto ) |
502 |
-" |
503 |
-BDEPEND=" |
504 |
- sys-devel/gettext |
505 |
- virtual/pkgconfig |
506 |
-" |
507 |
- |
508 |
-# Needs keywording on many arches. |
509 |
-# zeromq? ( |
510 |
-# >=net-libs/czmq-2.2.0:0= |
511 |
-# >=net-libs/zeromq-4.0.4:0= |
512 |
-# ) |
513 |
- |
514 |
-PATCHES=( |
515 |
- "${FILESDIR}"/20170731-gethex-unaligned.patch |
516 |
- "${FILESDIR}"/CVE-2020-5395.patch |
517 |
-) |
518 |
- |
519 |
-pkg_setup() { |
520 |
- use python && python-single-r1_pkg_setup |
521 |
-} |
522 |
- |
523 |
-src_configure() { |
524 |
- local myeconfargs=( |
525 |
- --disable-static |
526 |
- $(use_enable truetype-debugger freetype-debugger "${EPREFIX}/usr/include/freetype2/internal4fontforge") |
527 |
- $(use_enable python python-extension) |
528 |
- $(use_enable python python-scripting) |
529 |
- --enable-tile-path |
530 |
- $(use_with cairo) |
531 |
- $(use_with gif giflib) |
532 |
- $(use_with jpeg libjpeg) |
533 |
- $(use_with png libpng) |
534 |
- $(use_with readline libreadline) |
535 |
- --without-libspiro |
536 |
- $(use_with tiff libtiff) |
537 |
- $(use_with unicode libuninameslist) |
538 |
- $(use_with X x) |
539 |
- ) |
540 |
- if use gtk; then |
541 |
- # broken AC_ARG_ENABLE usage |
542 |
- # https://bugs.gentoo.org/681550 |
543 |
- myeconfargs+=( --enable-gdk=gdk3 ) |
544 |
- fi |
545 |
- econf "${myeconfargs[@]}" |
546 |
-} |
547 |
- |
548 |
-src_install() { |
549 |
- emake DESTDIR="${D}" install |
550 |
- docompress -x /usr/share/doc/${PF}/html |
551 |
- einstalldocs |
552 |
- find "${ED}" -name '*.la' -type f -delete || die |
553 |
-} |