public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2016-03-16  2:24 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2016-03-16  2:24 UTC (permalink / raw
  To: gentoo-commits

commit:     8faf66e996ac4780611a3ddfd794dd5417f1a6c6
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 16 02:22:47 2016 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Mar 16 02:22:47 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8faf66e9

media-gfx/fontforge: Fix undefined reference

Bug: https://bugs.gentoo.org/572456

Package-Manager: portage-2.2.28_p60

 .../fontforge/files/fontforge-dummy-spiro.patch    | 25 ++++++++++++++++++++++
 media-gfx/fontforge/fontforge-20150824.ebuild      |  3 ++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/media-gfx/fontforge/files/fontforge-dummy-spiro.patch b/media-gfx/fontforge/files/fontforge-dummy-spiro.patch
new file mode 100644
index 0000000..d2e73d5
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-dummy-spiro.patch
@@ -0,0 +1,25 @@
+From 63def02823e631cd73b763541a87d7c480be799e Mon Sep 17 00:00:00 2001
+From: Jeremy Tan <jtanx@outlook.com>
+Date: Mon, 14 Mar 2016 12:25:45 +0800
+Subject: [PATCH] Spiros: Add dummy _SpiroCP2SplineSet when compiling without
+ Spiros.
+
+---
+ fontforge/spiro.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/fontforge/spiro.c b/fontforge/spiro.c
+index 629339a..bb2f36f 100644
+--- a/fontforge/spiro.c
++++ b/fontforge/spiro.c
+@@ -35,6 +35,10 @@
+ 
+ static int has_spiro = false;
+ 
++static SplineSet *_SpiroCP2SplineSet(spiro_cp *spiros) {
++	return NULL;
++}
++
+ SplineSet *SpiroCP2SplineSet(spiro_cp *spiros) {
+     return( NULL );
+ }

diff --git a/media-gfx/fontforge/fontforge-20150824.ebuild b/media-gfx/fontforge/fontforge-20150824.ebuild
index 629ebc3..dadd184 100644
--- a/media-gfx/fontforge/fontforge-20150824.ebuild
+++ b/media-gfx/fontforge/fontforge-20150824.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -63,6 +63,7 @@ pkg_setup() {
 }
 
 src_prepare() {
+	epatch "${FILESDIR}"/fontforge-dummy-spiro.patch
 	epatch_user
 }
 


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2017-12-09 16:57 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2017-12-09 16:57 UTC (permalink / raw
  To: gentoo-commits

commit:     3f532db1541c8f454b1ecdfabf534785d7c6d91f
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  9 16:56:46 2017 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Dec  9 16:57:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f532db1

media-gfx/fontforge: fix segfault with X disabled

Closes: https://bugs.gentoo.org/638342
Package-Manager: Portage-2.3.15, Repoman-2.3.6_p7

 media-gfx/fontforge/Manifest                       |  4 ++--
 .../20170731-startnoui-FindOrMakeEncoding.patch    | 22 ++++++++++++++++++++++
 ...0170731.ebuild => fontforge-20170731-r1.ebuild} |  4 ++++
 3 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/media-gfx/fontforge/Manifest b/media-gfx/fontforge/Manifest
index 49db4bd8048..67c9be75d68 100644
--- a/media-gfx/fontforge/Manifest
+++ b/media-gfx/fontforge/Manifest
@@ -1,2 +1,2 @@
-DIST fontforge-dist-20160404.tar.gz 20906256 SHA256 6c73a556030d985e166974e5d6025255290874c2d6bb349c9930b03f17b45bcd SHA512 be94f04881b12ed3b1a34d0d7cc9149321db17d51458f135b2683ea600401e4fa55647ced4b4e014555ba1c900a684b9d5d6f2e2812ce03c432d23ca72f5c363 WHIRLPOOL 2313c7775da7f7a47ef8bae3cbef897e8b0996c8f74db099562e0a3636984e8a9a55ca5f2ca11b205a7b1aff76e7fe4e7601f15b7951147353403da0e41d692f
-DIST fontforge-dist-20170731.tar.xz 13985256 SHA256 840adefbedd1717e6b70b33ad1e7f2b116678fa6a3d52d45316793b9fd808822 SHA512 26f7a40714460716a24dd0229fdb027f3766bcc48db64b8993436ddcb6277898f9f3b67ad4fc0be515b2b38e01370d1c7d9ee3c6ece1be862b7d8c9882411f11 WHIRLPOOL 6d6e2b6322043bcd8822fb1e64a98b969ff1bba02d63442cf0646b737576ead76961a30cf146447afa0f72a2e9a30a05e6dad5f9060a00cd35e5cc2e15097889
+DIST fontforge-dist-20160404.tar.gz 20906256 BLAKE2B 11f9a54de2cada7e243349ec0ddeb3f2025f12a9e9323b2bea437009ccd5e34d27ba41752752434c16b1a0b809c9878c23cd074bb59b590b427c599d575f0c45 SHA512 be94f04881b12ed3b1a34d0d7cc9149321db17d51458f135b2683ea600401e4fa55647ced4b4e014555ba1c900a684b9d5d6f2e2812ce03c432d23ca72f5c363
+DIST fontforge-dist-20170731.tar.xz 13985256 BLAKE2B 7bc49a3b7747de419e4fafb445062873cf9bf56aa73fd7499509b787a1c0fd6c47b0b5d7bfeb2a69d9237f9f66f989af968b0d00e9d5e57030906394f042f29c SHA512 26f7a40714460716a24dd0229fdb027f3766bcc48db64b8993436ddcb6277898f9f3b67ad4fc0be515b2b38e01370d1c7d9ee3c6ece1be862b7d8c9882411f11

diff --git a/media-gfx/fontforge/files/20170731-startnoui-FindOrMakeEncoding.patch b/media-gfx/fontforge/files/20170731-startnoui-FindOrMakeEncoding.patch
new file mode 100644
index 00000000000..30731b904f2
--- /dev/null
+++ b/media-gfx/fontforge/files/20170731-startnoui-FindOrMakeEncoding.patch
@@ -0,0 +1,22 @@
+From 72572a68d306712c040ca741f0655b190326a509 Mon Sep 17 00:00:00 2001
+From: Jeremy Tan <jtanx@outlook.com>
+Date: Sat, 9 Sep 2017 08:03:57 +0800
+Subject: [PATCH] startnoui.c: Include header that defines FindOrMakeEncoding
+
+Failure to include this was causing an implicit pointer to int conversion
+which results in an invalid pointer address on 64-bit builds.
+
+Fixes #3145.
+
+diff --git a/fontforgeexe/startnoui.c b/fontforgeexe/startnoui.c
+index ab8388539..7a188b7a2 100644
+--- a/fontforgeexe/startnoui.c
++++ b/fontforgeexe/startnoui.c
+@@ -27,6 +27,7 @@
+ #include "fontforgevw.h"
+ #include "scripting.h"
+ #include "start.h"
++#include "encoding.h"
+ 
+ #ifndef _NO_LIBUNICODENAMES
+ #include <libunicodenames.h>	/* need to open a database when we start */

diff --git a/media-gfx/fontforge/fontforge-20170731.ebuild b/media-gfx/fontforge/fontforge-20170731-r1.ebuild
similarity index 97%
rename from media-gfx/fontforge/fontforge-20170731.ebuild
rename to media-gfx/fontforge/fontforge-20170731-r1.ebuild
index ae257f14831..7f92af08a57 100644
--- a/media-gfx/fontforge/fontforge-20170731.ebuild
+++ b/media-gfx/fontforge/fontforge-20170731-r1.ebuild
@@ -62,6 +62,10 @@ DEPEND="${RDEPEND}
 
 S="${WORKDIR}/fontforge-2.0.${PV}"
 
+PATCHES=(
+	"${FILESDIR}"/20170731-startnoui-FindOrMakeEncoding.patch
+)
+
 pkg_setup() {
 	use python && python-single-r1_pkg_setup
 }


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2017-12-10  0:15 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2017-12-10  0:15 UTC (permalink / raw
  To: gentoo-commits

commit:     8a2a546fb3b12c5ebee5251b868ed2b1e328c3d6
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 00:15:28 2017 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Dec 10 00:15:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a2a546f

media-gfx/fontforge: fix implicit declarations

Package-Manager: Portage-2.3.17, Repoman-2.3.6_p24

 media-gfx/fontforge/files/20170731-tilepath.patch        | 16 ++++++++++++++++
 ...e-20170731-r1.ebuild => fontforge-20170731-r2.ebuild} |  1 +
 2 files changed, 17 insertions(+)

diff --git a/media-gfx/fontforge/files/20170731-tilepath.patch b/media-gfx/fontforge/files/20170731-tilepath.patch
new file mode 100644
index 00000000000..c14d81dc430
--- /dev/null
+++ b/media-gfx/fontforge/files/20170731-tilepath.patch
@@ -0,0 +1,16 @@
+Fix implicit declarations
+
+Fixed upstream in a larger refactor.
+
+--- a/fontforgeexe/tilepath.c
++++ b/fontforgeexe/tilepath.c
+@@ -24,7 +24,9 @@
+  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  */
++#include "cvundoes.h"
+ #include "fontforgeui.h"
++#include "fvfonts.h"
+ #include "splineutil.h"
+ #include "splineutil2.h"
+ #include <math.h>

diff --git a/media-gfx/fontforge/fontforge-20170731-r1.ebuild b/media-gfx/fontforge/fontforge-20170731-r2.ebuild
similarity index 98%
rename from media-gfx/fontforge/fontforge-20170731-r1.ebuild
rename to media-gfx/fontforge/fontforge-20170731-r2.ebuild
index 7f92af08a57..c8ad245b14d 100644
--- a/media-gfx/fontforge/fontforge-20170731-r1.ebuild
+++ b/media-gfx/fontforge/fontforge-20170731-r2.ebuild
@@ -64,6 +64,7 @@ S="${WORKDIR}/fontforge-2.0.${PV}"
 
 PATCHES=(
 	"${FILESDIR}"/20170731-startnoui-FindOrMakeEncoding.patch
+	"${FILESDIR}"/20170731-tilepath.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2018-05-28 18:46 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2018-05-28 18:46 UTC (permalink / raw
  To: gentoo-commits

commit:     1a3bd54dd8283bae00506af7336bd048c1542f82
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon May 28 18:45:54 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon May 28 18:46:22 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a3bd54d

media-gfx/fontforge: fix python3.6 compat

Closes: https://bugs.gentoo.org/646278
Package-Manager: Portage-2.3.40_p4, Repoman-2.3.9_p236

 .../fontforge/files/20170731-PyMem_Free.patch      | 197 +++++++++++++++++++++
 media-gfx/fontforge/fontforge-20170731-r4.ebuild   | 121 +++++++++++++
 2 files changed, 318 insertions(+)

diff --git a/media-gfx/fontforge/files/20170731-PyMem_Free.patch b/media-gfx/fontforge/files/20170731-PyMem_Free.patch
new file mode 100644
index 00000000000..48301dabb2f
--- /dev/null
+++ b/media-gfx/fontforge/files/20170731-PyMem_Free.patch
@@ -0,0 +1,197 @@
+From b6089f11bd7534c9aa38b875ef1e830fc3b898b4 Mon Sep 17 00:00:00 2001
+From: Jeremy Tan <jtanx@outlook.com>
+Date: Wed, 13 Sep 2017 17:22:18 +0800
+Subject: [PATCH] python: Use PyMem_Free wherever PyArg_ParseTuple+es is used
+
+https://docs.python.org/2.0/ext/parseTuple.html
+
+diff --git a/fontforge/python.c b/fontforge/python.c
+index 5d6820c40..c6d7aca2b 100644
+--- a/fontforge/python.c
++++ b/fontforge/python.c
+@@ -607,7 +607,13 @@ return( NULL );
+ 	}
+     }
+ 
+-    if ( !SetPrefs((char *) prefname,&val,NULL)) {
++    bool succeeded = SetPrefs((char *) prefname,&val,NULL);
++    if (val.type == v_str && val.u.sval) {
++        PyMem_Free(val.u.sval);
++        val.u.sval = NULL;
++    }
++
++    if (!succeeded) {
+ 	PyErr_Format(PyExc_NameError, "Unknown preference item in SetPrefs: %s", prefname );
+ return( NULL );
+     }
+@@ -728,7 +734,7 @@ static PyObject *PyFF_UnicodeFromName(PyObject *UNUSED(self), PyObject *args) {
+ return( NULL );
+ 
+     ret = Py_BuildValue("i", UniFromName((char *) name, ui_none,&custom));
+-    free(name);
++    PyMem_Free(name);
+ return( ret );
+ }
+ 
+@@ -1361,12 +1367,14 @@ Py_RETURN_NONE;			/* Well, that was pointless */
+     if ( import==Py_None )
+ 	import=NULL;
+     else if ( !PyCallable_Check(import) ) {
++	PyMem_Free(name);
+ 	PyErr_Format(PyExc_TypeError, "First argument is not callable" );
+ return( NULL );
+     }
+     if ( export==Py_None )
+ 	export=NULL;
+     else if ( !PyCallable_Check(export) ) {
++	PyMem_Free(name);
+ 	PyErr_Format(PyExc_TypeError, "Second argument is not callable" );
+ return( NULL );
+     }
+@@ -1472,7 +1480,7 @@ static PyObject *PyFF_logError(PyObject *UNUSED(self), PyObject *args) {
+     if ( !PyArg_ParseTuple(args,"es","UTF-8", &msg) )
+ return( NULL );
+     LogError(msg);
+-    free(msg);
++    PyMem_Free(msg);
+ Py_RETURN_NONE;
+ }
+ 
+@@ -1486,6 +1494,8 @@ static PyObject *PyFF_postError(PyObject *UNUSED(self), PyObject *args) {
+ return( NULL );
+     if( showPythonErrors )
+         ff_post_error(title,msg);		/* Prints to stderr if no ui */
++    PyMem_Free(title);
++    PyMem_Free(msg);
+ Py_RETURN_NONE;
+ }
+ 
+@@ -1494,6 +1504,8 @@ static PyObject *PyFF_postNotice(PyObject *UNUSED(self), PyObject *args) {
+     if ( !PyArg_ParseTuple(args,"eses","UTF-8", &title, "UTF-8", &msg) )
+ return( NULL );
+     ff_post_notice(title,msg);		/* Prints to stderr if no ui */
++    PyMem_Free(title);
++    PyMem_Free(msg);
+ Py_RETURN_NONE;
+ }
+ 
+@@ -1511,8 +1523,8 @@ return( NULL );
+ return( NULL );
+ 
+     ret = ff_open_filename(title,def,filter);
+-    free(title);
+-    free(def);
++    PyMem_Free(title);
++    PyMem_Free(def);
+     if ( ret==NULL )
+ Py_RETURN_NONE;
+     reto = DECODE_UTF8(ret,strlen(ret),NULL);
+@@ -1534,8 +1546,8 @@ return( NULL );
+ return( NULL );
+ 
+     ret = ff_save_filename(title,def,filter);
+-    free(title);
+-    free(def);
++    PyMem_Free(title);
++    PyMem_Free(def);
+     if ( ret==NULL )
+ Py_RETURN_NONE;
+     reto = DECODE_UTF8(ret,strlen(ret),NULL);
+@@ -1558,8 +1570,8 @@ return( NULL );
+ return( NULL );
+     if ( !PySequence_Check(answero) || STRING_CHECK(answero)) {
+ 	PyErr_Format(PyExc_TypeError, "Expected a tuple of strings for the third argument");
+-	free(title);
+-	free(quest);
++	PyMem_Free(title);
++	PyMem_Free(quest);
+ return( NULL );
+     }
+     cnt = PySequence_Size(answero);
+@@ -1568,16 +1580,16 @@ return( NULL );
+ 	cancel = cnt-1;
+     if ( cancel<0 || cancel>=cnt || def<0 || def>=cnt ) {
+ 	PyErr_Format(PyExc_ValueError, "Value out of bounds for 4th or 5th argument");
+-	free(title);
+-	free(quest);
++	PyMem_Free(title);
++	PyMem_Free(quest);
+ 	free(answers);
+ return( NULL );
+     }
+     for ( i=0; i<cnt; ++i ) {
+         PyObject *utf8_name = PYBYTES_UTF8(PySequence_GetItem(answero,i));
+ 	if ( utf8_name==NULL ) {
+-	    free(title);
+-	    free(quest);
++	    PyMem_Free(title);
++	    PyMem_Free(quest);
+ 	    FreeStringArray( i, answers );
+ return( NULL );
+ 	}
+@@ -1587,8 +1599,8 @@ return( NULL );
+     answers[cnt] = NULL;
+ 
+     ret = ff_ask(title,(const char **) answers,def,cancel,quest);
+-    free(title);
+-    free(quest);
++    PyMem_Free(title);
++    PyMem_Free(quest);
+     FreeStringArray( cnt, answers );
+ return( Py_BuildValue("i",ret));
+ }
+@@ -1608,23 +1620,23 @@ return( NULL );
+ return( NULL );
+     if ( !PySequence_Check(answero) || STRING_CHECK(answero)) {
+ 	PyErr_Format(PyExc_TypeError, "Expected a tuple of strings for the third argument");
+-	free(title);
+-	free(quest);
++	PyMem_Free(title);
++	PyMem_Free(quest);
+ return( NULL );
+     }
+     cnt = PySequence_Size(answero);
+     answers = calloc(cnt+1, sizeof(char *));
+     if ( def<0 || def>=cnt ) {
+ 	PyErr_Format(PyExc_ValueError, "Value out of bounds for 4th argument");
+-	free(title);
+-	free(quest);
++	PyMem_Free(title);
++	PyMem_Free(quest);
+ return( NULL );
+     }
+     for ( i=0; i<cnt; ++i ) {
+         PyObject *utf8_name = PYBYTES_UTF8(PySequence_GetItem(answero,i));
+         if ( utf8_name==NULL ) {
+-	    free(title);
+-	    free(quest);
++	    PyMem_Free(title);
++	    PyMem_Free(quest);
+ 	    FreeStringArray( i, answers );
+ return( NULL );
+ 	}
+@@ -1634,8 +1646,8 @@ return( NULL );
+     answers[cnt] = NULL;
+ 
+     ret = ff_choose(title,(const char **) answers,cnt,def,quest);
+-    free(title);
+-    free(quest);
++    PyMem_Free(title);
++    PyMem_Free(quest);
+     FreeStringArray( cnt, answers );
+ return( Py_BuildValue("i",ret));
+ }
+@@ -1654,8 +1666,8 @@ return( NULL );
+ return( NULL );
+ 
+     ret = ff_ask_string(title,def,quest);
+-    free(title);
+-    free(quest);
++    PyMem_Free(title);
++    PyMem_Free(quest);
+     free(def);
+     if ( ret==NULL )
+ Py_RETURN_NONE;
+-- 
+2.17.0
+

diff --git a/media-gfx/fontforge/fontforge-20170731-r4.ebuild b/media-gfx/fontforge/fontforge-20170731-r4.ebuild
new file mode 100644
index 00000000000..7316a2594e4
--- /dev/null
+++ b/media-gfx/fontforge/fontforge-20170731-r4.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit gnome2-utils python-single-r1 xdg-utils
+
+DESCRIPTION="postscript font editor and converter"
+HOMEPAGE="http://fontforge.github.io/"
+SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/fontforge-dist-${PV}.tar.xz"
+
+LICENSE="BSD GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="cairo truetype-debugger gif gtk jpeg png +python readline test tiff svg unicode X"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+	cairo? ( png )
+	python? ( ${PYTHON_REQUIRED_USE} )
+	test? ( png python )
+"
+
+RDEPEND="
+	dev-libs/libltdl:0
+	dev-libs/libxml2:2=
+	>=media-libs/freetype-2.3.7:2=
+	cairo? (
+		>=x11-libs/cairo-1.6:0=
+		x11-libs/pango:0=
+	)
+	gif? ( media-libs/giflib:0= )
+	jpeg? ( virtual/jpeg:0 )
+	png? ( media-libs/libpng:0= )
+	tiff? ( media-libs/tiff:0= )
+	truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] )
+	gtk? ( x11-libs/gtk+:2= )
+	python? ( ${PYTHON_DEPS} )
+	readline? ( sys-libs/readline:0= )
+	unicode? ( media-libs/libuninameslist:0= )
+	X? (
+		x11-libs/libX11:0=
+		x11-libs/libXi:0=
+		>=x11-libs/pango-1.10:0=[X]
+	)
+	!media-gfx/pfaedit
+"
+DEPEND="${RDEPEND}
+	sys-devel/gettext
+	virtual/pkgconfig
+	X? ( x11-base/xorg-proto )
+"
+
+# Needs keywording on many arches.
+#	zeromq? (
+#		>=net-libs/czmq-2.2.0:0=
+#		>=net-libs/zeromq-4.0.4:0=
+#	)
+
+S="${WORKDIR}/fontforge-2.0.${PV}"
+
+PATCHES=(
+	"${FILESDIR}"/20170731-startnoui-FindOrMakeEncoding.patch
+	"${FILESDIR}"/20170731-tilepath.patch
+	"${FILESDIR}"/20170731-gethex-unaligned.patch
+	"${FILESDIR}"/20170731-PyMem_Free.patch
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+	local myeconfargs=(
+		--disable-static
+		$(use_enable truetype-debugger freetype-debugger "${EPREFIX}/usr/include/freetype2/internal4fontforge")
+		$(use_enable gtk gtk2-use)
+		$(use_enable python python-extension)
+		$(use_enable python python-scripting)
+		--enable-tile-path
+		--enable-gb12345
+		$(use_with cairo)
+		$(use_with gif giflib)
+		$(use_with jpeg libjpeg)
+		$(use_with png libpng)
+		$(use_with readline libreadline)
+		--without-libspiro
+		$(use_with tiff libtiff)
+		$(use_with unicode libuninameslist)
+		#$(use_with zeromq libzmq)
+		--without-libzmq
+		$(use_with X x)
+	)
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	# Build system deps are broken
+	emake -C plugins
+	emake
+}
+
+src_install() {
+	default
+	find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+	xdg_desktop_database_update
+	xdg_mimeinfo_database_update
+}
+
+pkg_postinst() {
+	gnome2_icon_cache_update
+	xdg_desktop_database_update
+	xdg_mimeinfo_database_update
+}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2020-03-29 18:15 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2020-03-29 18:15 UTC (permalink / raw
  To: gentoo-commits

commit:     f1024636277d2d1ab20b126f590a30a3457cd992
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 29 18:03:11 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Mar 29 18:08:58 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1024636

media-gfx/fontforge: bump to 20200314

Thanks to Mike Lothian for the cmake port.

Closes: https://bugs.gentoo.org/714612
Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 media-gfx/fontforge/Manifest                      |   1 +
 media-gfx/fontforge/files/20200314-tilepath.patch |  31 ++++++
 media-gfx/fontforge/fontforge-20200314.ebuild     | 111 ++++++++++++++++++++++
 media-gfx/fontforge/metadata.xml                  |   1 +
 4 files changed, 144 insertions(+)

diff --git a/media-gfx/fontforge/Manifest b/media-gfx/fontforge/Manifest
index 50996083639..eab92735ad6 100644
--- a/media-gfx/fontforge/Manifest
+++ b/media-gfx/fontforge/Manifest
@@ -1,3 +1,4 @@
 DIST fontforge-20190317.tar.gz 22762120 BLAKE2B 5cb85d2fb9a2a08fe64548f2667c026e916dd0239d17d8f8d7d2fe8ecb51f2106cf3dc6e6298014c0deadffbfe91925327b483ed4750a171fb621aea8bdee60b SHA512 55f9b0f7cafb1aa5a1461dbf39b52ca6b69a2baa6b761c8c28f86a0bb99e090d9ecc981294f51dadd9297b5ebd3036f01cb4f17b9a97a737eb567b4ae6522f20
 DIST fontforge-20190801.tar.gz 20766334 BLAKE2B c3206e77da4a966b9e513c41c90e19522f3d1aad990cd3035d7c8a8cc009239811743c12c02df3b02fd91fa5a7738913dba43df14523a738a2232cd2d1a91700 SHA512 78f3e1e94e38e26dcf52c6a0e038753033dc47052b7492f0ac0aaf1b8962e4e4bbf07c2550ef6014ea7290a6429bf669acb0691735efe0aee368480b4b7e6236
+DIST fontforge-20200314.tar.xz 13850076 BLAKE2B 5e6ae3b7940a5b3b08811abdfc9d151f231e6d457b219eb0c666e1b831db815b696f345eda0d4d423b7e340f56fca67205734ae19903b3815381080d34b5e95c SHA512 09f5dc93f87ca63668d72d108690604489d6b3cec7eedff1c07ad6d1ce5eae442ab60e79e71ae8b99e9808f3551011788025a86ffc3a9738518d99761d849975
 DIST fontforge-dist-20170731.tar.xz 13985256 BLAKE2B 7bc49a3b7747de419e4fafb445062873cf9bf56aa73fd7499509b787a1c0fd6c47b0b5d7bfeb2a69d9237f9f66f989af968b0d00e9d5e57030906394f042f29c SHA512 26f7a40714460716a24dd0229fdb027f3766bcc48db64b8993436ddcb6277898f9f3b67ad4fc0be515b2b38e01370d1c7d9ee3c6ece1be862b7d8c9882411f11

diff --git a/media-gfx/fontforge/files/20200314-tilepath.patch b/media-gfx/fontforge/files/20200314-tilepath.patch
new file mode 100644
index 00000000000..1e0d077532a
--- /dev/null
+++ b/media-gfx/fontforge/files/20200314-tilepath.patch
@@ -0,0 +1,31 @@
+From 43e6087ec9bdbb23b8bb61c07efe6490fab23d73 Mon Sep 17 00:00:00 2001
+From: skef <6175836+skef@users.noreply.github.com>
+Date: Thu, 19 Mar 2020 17:16:20 -0700
+Subject: [PATCH] Tilepath fix (#4231)
+
+---
+ fontforgeexe/tilepath.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fontforgeexe/tilepath.c b/fontforgeexe/tilepath.c
+index b329b54098..2575058eb4 100644
+--- a/fontforgeexe/tilepath.c
++++ b/fontforgeexe/tilepath.c
+@@ -571,7 +571,7 @@ static void AdjustPoint(TD *td,Spline *spline,bigreal t, FitPoint *to) {
+ 	} else {
+ 	    bigreal s=(dy1*dx2/dy2-dx1);
+ 	    if ( s>-.00001 && s<.00001 ) {	/* essentially parallel */
+-		to->p.x = x1; to->y = y1;
++		to->p.x = x1; to->p.y = y1;
+ 	    } else {
+ 		bigreal t1 = (x1-x2- dx2/dy2*(y1-y2))/s;
+ 		to->p.x = x1 + dx1*t1;
+@@ -610,7 +610,7 @@ static SplinePoint *TDMakePoint(TD *td,Spline *old,real t) {
+ 
+     AdjustPoint(td,old,t,&fp);
+     new = chunkalloc(sizeof(SplinePoint));
+-    new->me.x = tp.p.x; new->me.y = tp.p.y;
++    new->me.x = fp.p.x; new->me.y = fp.p.y;
+     new->nextcp = new->me;
+     new->prevcp = new->me;
+     new->nonextcp = new->noprevcp = true;

diff --git a/media-gfx/fontforge/fontforge-20200314.ebuild b/media-gfx/fontforge/fontforge-20200314.ebuild
new file mode 100644
index 00000000000..6ff768243ee
--- /dev/null
+++ b/media-gfx/fontforge/fontforge-20200314.ebuild
@@ -0,0 +1,111 @@
+# Copyright 2004-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit python-single-r1 xdg cmake
+
+DESCRIPTION="postscript font editor and converter"
+HOMEPAGE="https://fontforge.org/"
+SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/fontforge-${PV}.tar.xz"
+
+LICENSE="BSD GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc truetype-debugger gif gtk jpeg png +python readline test tiff svg unicode woff2 X"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+	python? ( ${PYTHON_REQUIRED_USE} )
+	test? ( png python )
+"
+
+RDEPEND="
+	dev-libs/glib:2
+	dev-libs/libltdl:0
+	dev-libs/libxml2:2=
+	>=media-libs/freetype-2.3.7:2=
+	gif? ( media-libs/giflib:0= )
+	jpeg? ( virtual/jpeg:0 )
+	png? ( media-libs/libpng:0= )
+	tiff? ( media-libs/tiff:0= )
+	truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] )
+	gtk? ( >=x11-libs/gtk+-3.10:3 )
+	!gtk? (
+		X? (
+			>=x11-libs/cairo-1.6:0=
+			>=x11-libs/pango-1.10:0=[X]
+			x11-libs/libX11:0=
+			x11-libs/libXi:0=
+		)
+	)
+	python? ( ${PYTHON_DEPS} )
+	readline? ( sys-libs/readline:0= )
+	unicode? ( media-libs/libuninameslist:0= )
+	woff2? ( media-libs/woff2:0= )
+"
+DEPEND="${RDEPEND}
+	!gtk? ( X? ( x11-base/xorg-proto ) )
+"
+BDEPEND="
+	sys-devel/gettext
+	doc? ( dev-python/sphinx )
+	python? ( ${PYTHON_DEPS} )
+	test? ( ${RDEPEND} )
+"
+
+PATCHES=(
+	"${FILESDIR}"/20170731-gethex-unaligned.patch
+	"${FILESDIR}"/20200314-tilepath.patch
+)
+
+pkg_setup() {
+	:
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DENABLE_DOCS=$(usex doc ON OFF)
+		-DENABLE_LIBGIF=$(usex gif ON OFF)
+		-DENABLE_LIBJPEG=$(usex jpeg ON OFF)
+		-DENABLE_LIBPNG=$(usex png ON OFF)
+		-DENABLE_LIBREADLINE=$(usex readline ON OFF)
+		-DENABLE_LIBSPIRO=OFF # No package in Gentoo
+		-DENABLE_LIBTIFF=$(usex tiff ON OFF)
+		-DENABLE_LIBUNINAMESLIST=$(usex unicode ON OFF)
+		-DENABLE_MAINTAINER_TOOLS=OFF
+		-DENABLE_PYTHON_EXTENSION=$(usex python ON OFF)
+		-DENABLE_PYTHON_SCRIPTING=$(usex python ON OFF)
+		-DENABLE_TILE_PATH=ON
+		-DENABLE_WOFF2=$(usex woff2 ON OFF)
+	)
+
+	if use gtk || use X; then
+		mycmakeargs+=(
+			-DENABLE_GUI=ON
+			# Prefer GTK over X11 if both USE flage are enabled
+			-DENABLE_X11=$(usex gtk OFF ON)
+		)
+	else
+		mycmakeargs+=( -DENABLE_GUI=OFF )
+	fi
+
+	if use python; then
+		python_setup
+		mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
+	fi
+
+	if use truetype-debugger ; then
+		mycmakeargs+=( -DENABLE_FREETYPE_DEBUGGER="${EPREFIX}/usr/include/freetype2/internal4fontforge" )
+	fi
+
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+	docompress -x /usr/share/doc/${PF}/html
+	einstalldocs
+	find "${ED}" -name '*.la' -type f -delete || die
+}

diff --git a/media-gfx/fontforge/metadata.xml b/media-gfx/fontforge/metadata.xml
index f200b938cf1..b37524e7333 100644
--- a/media-gfx/fontforge/metadata.xml
+++ b/media-gfx/fontforge/metadata.xml
@@ -17,6 +17,7 @@
 	</longdescription>
 	<use>
 		<flag name="truetype-debugger">Enable truetype debugger in fontforge</flag>
+		<flag name="woff2">Enable support for WOFF2 format</flag>
 	</use>
 	<upstream>
 		<remote-id type="github">troydhanson/uthash</remote-id>


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2020-03-29 20:42 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2020-03-29 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     bd448c785d27156d8edda57b9be0770cb9e6c870
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 29 20:42:02 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Mar 29 20:42:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd448c78

media-gfx/fontforge: replace memory alignment patch

Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 media-gfx/fontforge/files/20200314-stylemap.patch | 30 +++++++++++++++++++++++
 media-gfx/fontforge/fontforge-20200314.ebuild     |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/media-gfx/fontforge/files/20200314-stylemap.patch b/media-gfx/fontforge/files/20200314-stylemap.patch
new file mode 100644
index 00000000000..d3311cab02d
--- /dev/null
+++ b/media-gfx/fontforge/files/20200314-stylemap.patch
@@ -0,0 +1,30 @@
+From 3b83adc89771000eb95fcd87bb675f771ba85aaf Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 29 Mar 2020 16:36:14 -0400
+Subject: [PATCH] Avoid integer size conflict when setting stylemap
+
+stylemap is a 16-bit integer, but hexmap writes 32-bits.
+
+Bug: https://bugs.gentoo.org/642756
+---
+ fontforge/sfd.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/fontforge/sfd.c b/fontforge/sfd.c
+index 9517d8cb1..b638fe447 100644
+--- a/fontforge/sfd.c
++++ b/fontforge/sfd.c
+@@ -8104,7 +8104,9 @@ bool SFD_GetFontMetaData( FILE *sfd,
+     }
+     else if ( strmatch(tok,"StyleMap:")==0 )
+     {
+-    gethex(sfd,(uint32 *)&sf->pfminfo.stylemap);
++	uint32 u;
++	gethex(sfd,&u);
++	sf->pfminfo.stylemap = u;
+     }
+     /* Legacy attribute for StyleMap. Deprecated. */
+     else if ( strmatch(tok,"OS2StyleName:")==0 )
+-- 
+2.26.0.rc2
+

diff --git a/media-gfx/fontforge/fontforge-20200314.ebuild b/media-gfx/fontforge/fontforge-20200314.ebuild
index 6ff768243ee..adb0670b3bb 100644
--- a/media-gfx/fontforge/fontforge-20200314.ebuild
+++ b/media-gfx/fontforge/fontforge-20200314.ebuild
@@ -56,7 +56,7 @@ BDEPEND="
 "
 
 PATCHES=(
-	"${FILESDIR}"/20170731-gethex-unaligned.patch
+	"${FILESDIR}"/20200314-stylemap.patch
 	"${FILESDIR}"/20200314-tilepath.patch
 )
 


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2020-04-27 23:55 Mike Gilbert
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Gilbert @ 2020-04-27 23:55 UTC (permalink / raw
  To: gentoo-commits

commit:     d17321f41ab64f54c28b3a22e1e14233acaf6573
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 27 23:55:06 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Apr 27 23:55:06 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d17321f4

media-gfx/fontforge: fix python extension on big-endian

Closes: https://bugs.gentoo.org/719058
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../fontforge/files/20200314-big-endian.patch      | 298 +++++++++++++++++++++
 media-gfx/fontforge/fontforge-20200314.ebuild      |   1 +
 2 files changed, 299 insertions(+)

diff --git a/media-gfx/fontforge/files/20200314-big-endian.patch b/media-gfx/fontforge/files/20200314-big-endian.patch
new file mode 100644
index 00000000000..f9581ad35f4
--- /dev/null
+++ b/media-gfx/fontforge/files/20200314-big-endian.patch
@@ -0,0 +1,298 @@
+From 65619185a42bd52bb4a4894c1714d78d96ed4175 Mon Sep 17 00:00:00 2001
+From: Jeremy Tan <jtanx@outlook.com>
+Date: Sun, 26 Apr 2020 18:57:58 +1000
+Subject: [PATCH 1/2] tottfgpos.c: fix incorrect sizing of the scripts array
+
+latn contains 58 entries (29 pairs), meaning the size was too small
+to fit the 0 marker at the end of the array
+---
+ fontforge/tottfgpos.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fontforge/tottfgpos.c b/fontforge/tottfgpos.c
+index 5de5164ed1..e12a0b8a79 100644
+--- a/fontforge/tottfgpos.c
++++ b/fontforge/tottfgpos.c
+@@ -60,7 +60,7 @@ int use_second_indic_scripts = false;
+ /* scripts (for opentype) that I understand */
+     /* see also list in lookups.c mapping script tags to friendly names */
+ 
+-static uint32 scripts[][59] = {
++static uint32 scripts[][61] = {
+ /* Adlam */	{ CHR('a','d','l','m'), 0x1e900, 0x1e95f },
+ /* Ahom */	{ CHR('a','h','o','m'), 0x11700, 0x1173f },
+ /* Anatolian */	{ CHR('h','l','u','w'), 0x14400, 0x1467f },
+
+From fde85b13382595cb3ab889e38570b4944edad808 Mon Sep 17 00:00:00 2001
+From: Jeremy Tan <jtanx@outlook.com>
+Date: Sun, 26 Apr 2020 19:00:04 +1000
+Subject: [PATCH 2/2] python.c: fix type specifier on long input/return values
+
+int is guaranteed to be at least 16 bits, while long is at least
+32 bits. So for uint32/int32 values, parse longs with the "l"/"k"
+specifier and cast return values to long.
+
+The cast is necessary as on amd64 a long is 64 bits
+---
+ fontforge/python.c | 68 +++++++++++++++++++++++-----------------------
+ 1 file changed, 34 insertions(+), 34 deletions(-)
+
+diff --git a/fontforge/python.c b/fontforge/python.c
+index 5344b0f60f..6c9675fa4e 100644
+--- a/fontforge/python.c
++++ b/fontforge/python.c
+@@ -760,7 +760,7 @@ static PyObject *PyFF_UnicodeAnnotationFromLib(PyObject *UNUSED(self), PyObject
+     char *temp;
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+     if ( (temp=unicode_annot(val))==NULL ) {
+@@ -777,7 +777,7 @@ static PyObject *PyFF_UnicodeNameFromLib(PyObject *UNUSED(self), PyObject *args)
+     char *temp;
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+     if ( (temp=unicode_name(val))==NULL ) {
+@@ -798,10 +798,10 @@ static PyObject *PyFF_UnicodeBlockStartFromLib(PyObject *UNUSED(self), PyObject
+ /* Use this function with UnicodeBlockNameFromLib(n) & UnicodeBlockEndFromLib(n). */
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+-    return( Py_BuildValue("i", unicode_block_start(val)) );
++    return( Py_BuildValue("l", (long)unicode_block_start(val)) );
+ }
+ 
+ static PyObject *PyFF_UnicodeBlockEndFromLib(PyObject *UNUSED(self), PyObject *args) {
+@@ -809,10 +809,10 @@ static PyObject *PyFF_UnicodeBlockEndFromLib(PyObject *UNUSED(self), PyObject *a
+ /* Use this function with UnicodeBlockStartFromLib(n), UnicodeBlockNameFromLib(n) */
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+-    return( Py_BuildValue("i", unicode_block_end(val)) );
++    return( Py_BuildValue("l", (long)unicode_block_end(val)) );
+ }
+ 
+ static PyObject *PyFF_UnicodeBlockNameFromLib(PyObject *UNUSED(self), PyObject *args) {
+@@ -822,7 +822,7 @@ static PyObject *PyFF_UnicodeBlockNameFromLib(PyObject *UNUSED(self), PyObject *
+     char *temp;
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+     if ( (temp=unicode_block_name(val))==NULL ) {
+@@ -853,24 +853,24 @@ static PyObject *PyFF_UnicodeNames2GetCntFromLib(PyObject *UNUSED(self), PyObjec
+ static PyObject *PyFF_UnicodeNames2GetNxtFromLib(PyObject *UNUSED(self), PyObject *args) {
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", unicode_names2getUtabLoc(val)) );
++    return( Py_BuildValue("l", (long)unicode_names2getUtabLoc(val)) );
+ }
+ 
+ static PyObject *PyFF_UnicodeNames2NxtUniFromLib(PyObject *UNUSED(self), PyObject *args) {
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", unicode_names2valFrmTab(val)) );
++    return( Py_BuildValue("l", (long)unicode_names2valFrmTab(val)) );
+ }
+ 
+ static PyObject *PyFF_UnicodeNames2FrmTabFromLib(PyObject *UNUSED(self), PyObject *args) {
+     long val;
+     char *temp;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+     if ( (temp=unicode_name2FrmTab(val))==NULL ) {
+ 	return Py_BuildValue("s", "");
+@@ -883,7 +883,7 @@ static PyObject *PyFF_UnicodeNames2FromLib(PyObject *UNUSED(self), PyObject *arg
+     long val;
+     char *temp;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+     if ( (temp=unicode_name2(val))==NULL ) {
+ 	return Py_BuildValue("s", "");
+@@ -899,7 +899,7 @@ static PyObject *PyFF_UnicodeNames2FromLib(PyObject *UNUSED(self), PyObject *arg
+ static PyObject *PyFF_isligature(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", is_LIGATURE(codepoint)==0?1:0) );
+@@ -908,7 +908,7 @@ static PyObject *PyFF_isligature(PyObject *UNUSED(self), PyObject *args) {
+ static PyObject *PyFF_isvulgarfraction(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", is_VULGAR_FRACTION(codepoint)==0?1:0) );
+@@ -917,7 +917,7 @@ static PyObject *PyFF_isvulgarfraction(PyObject *UNUSED(self), PyObject *args) {
+ static PyObject *PyFF_isotherfraction(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", is_OTHER_FRACTION(codepoint)==0?1:0) );
+@@ -926,7 +926,7 @@ static PyObject *PyFF_isotherfraction(PyObject *UNUSED(self), PyObject *args) {
+ static PyObject *PyFF_isfraction(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", (is_VULGAR_FRACTION(codepoint)==0 || \
+@@ -957,28 +957,28 @@ static PyObject *PyFF_FracChartGetCnt(PyObject *UNUSED(self), PyObject *UNUSED(a
+ static PyObject *PyFF_LigChartGetNxt(PyObject *UNUSED(self), PyObject *args) {
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+-    return( Py_BuildValue("i", Ligature_get_U(val)) );
++    return( Py_BuildValue("l", (long)Ligature_get_U(val)) );
+ }
+ 
+ static PyObject *PyFF_VulChartGetNxt(PyObject *UNUSED(self), PyObject *args) {
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+-    return( Py_BuildValue("i", VulgFrac_get_U(val)) );
++    return( Py_BuildValue("l", (long)VulgFrac_get_U(val)) );
+ }
+ 
+ static PyObject *PyFF_OFracChartGetNxt(PyObject *UNUSED(self), PyObject *args) {
+     long val;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&val) )
++    if ( !PyArg_ParseTuple(args,"|l",&val) )
+ 	return( NULL );
+ 
+-    return( Py_BuildValue("i", Fraction_get_U(val)) );
++    return( Py_BuildValue("l", (long)Fraction_get_U(val)) );
+ }
+ 
+ /* If you have a unicode ligature, or fraction, these routines return loc n. */
+@@ -987,7 +987,7 @@ static PyObject *PyFF_OFracChartGetNxt(PyObject *UNUSED(self), PyObject *args) {
+ static PyObject *PyFF_LigChartGetLoc(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", Ligature_find_N(codepoint)) );
+@@ -996,7 +996,7 @@ static PyObject *PyFF_LigChartGetLoc(PyObject *UNUSED(self), PyObject *args) {
+ static PyObject *PyFF_VulChartGetLoc(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", VulgFrac_find_N(codepoint)) );
+@@ -1005,7 +1005,7 @@ static PyObject *PyFF_VulChartGetLoc(PyObject *UNUSED(self), PyObject *args) {
+ static PyObject *PyFF_OFracChartGetLoc(PyObject *UNUSED(self), PyObject *args) {
+     long codepoint;
+ 
+-    if ( !PyArg_ParseTuple(args,"|i",&codepoint) )
++    if ( !PyArg_ParseTuple(args,"|l",&codepoint) )
+ 	return( NULL );
+ 
+     return( Py_BuildValue("i", Fraction_find_N(codepoint)) );
+@@ -1066,7 +1066,7 @@ static PyObject *PyFF_LigChartGetAltVal(PyObject *UNUSED(self), PyObject *args)
+ 
+     if ( !PyArg_ParseTuple(args,"ll",&nthCode, &altN) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", Ligature_alt_getV(nthCode,altN)) );
++    return( Py_BuildValue("l", (long)Ligature_alt_getV(nthCode,altN)) );
+ }
+ 
+ static PyObject *PyFF_LigChartUGetAltVal(PyObject *UNUSED(self), PyObject *args) {
+@@ -1074,7 +1074,7 @@ static PyObject *PyFF_LigChartUGetAltVal(PyObject *UNUSED(self), PyObject *args)
+ 
+     if ( !PyArg_ParseTuple(args,"ll",&nthCode, &altN) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", LigatureU_alt_getV(nthCode,altN)) );
++    return( Py_BuildValue("l", (long)LigatureU_alt_getV(nthCode,altN)) );
+ }
+ 
+ static PyObject *PyFF_VulChartGetAltVal(PyObject *UNUSED(self), PyObject *args) {
+@@ -1082,7 +1082,7 @@ static PyObject *PyFF_VulChartGetAltVal(PyObject *UNUSED(self), PyObject *args)
+ 
+     if ( !PyArg_ParseTuple(args,"ll",&nthCode, &altN) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", VulgFrac_alt_getV(nthCode,altN)) );
++    return( Py_BuildValue("l", (long)VulgFrac_alt_getV(nthCode,altN)) );
+ }
+ 
+ static PyObject *PyFF_VulChartUGetAltVal(PyObject *UNUSED(self), PyObject *args) {
+@@ -1090,7 +1090,7 @@ static PyObject *PyFF_VulChartUGetAltVal(PyObject *UNUSED(self), PyObject *args)
+ 
+     if ( !PyArg_ParseTuple(args,"ll",&nthCode, &altN) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", VulgFracU_alt_getV(nthCode,altN)) );
++    return( Py_BuildValue("l", (long)VulgFracU_alt_getV(nthCode,altN)) );
+ }
+ 
+ static PyObject *PyFF_OFracChartGetAltVal(PyObject *UNUSED(self), PyObject *args) {
+@@ -1098,7 +1098,7 @@ static PyObject *PyFF_OFracChartGetAltVal(PyObject *UNUSED(self), PyObject *args
+ 
+     if ( !PyArg_ParseTuple(args,"ll",&nthCode, &altN) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", Fraction_alt_getV(nthCode,altN)) );
++    return( Py_BuildValue("l", (long)Fraction_alt_getV(nthCode,altN)) );
+ }
+ 
+ static PyObject *PyFF_OFracChartUGetAltVal(PyObject *UNUSED(self), PyObject *args) {
+@@ -1106,7 +1106,7 @@ static PyObject *PyFF_OFracChartUGetAltVal(PyObject *UNUSED(self), PyObject *arg
+ 
+     if ( !PyArg_ParseTuple(args,"ll",&nthCode, &altN) )
+ 	return( NULL );
+-    return( Py_BuildValue("i", FractionU_alt_getV(nthCode,altN)) );
++    return( Py_BuildValue("l", (long)FractionU_alt_getV(nthCode,altN)) );
+ }
+ 
+ static PyObject *PyFF_Version(PyObject *UNUSED(self), PyObject *UNUSED(args)) {
+@@ -1542,8 +1542,8 @@ return( ret );
+ }
+ 
+ static PyObject *PyFF_scriptFromUnicode(PyObject *UNUSED(self), PyObject *args) {
+-    long u;
+-    if ( !PyArg_ParseTuple(args,"i",&u) )
++    unsigned long u;
++    if ( !PyArg_ParseTuple(args,"k",&u) )
+ 	return( NULL );
+ 
+     uint32 script = ScriptFromUnicode(u, NULL);

diff --git a/media-gfx/fontforge/fontforge-20200314.ebuild b/media-gfx/fontforge/fontforge-20200314.ebuild
index ff049bda722..bc30b97aa32 100644
--- a/media-gfx/fontforge/fontforge-20200314.ebuild
+++ b/media-gfx/fontforge/fontforge-20200314.ebuild
@@ -55,6 +55,7 @@ BDEPEND="
 PATCHES=(
 	"${FILESDIR}"/20200314-stylemap.patch
 	"${FILESDIR}"/20200314-tilepath.patch
+	"${FILESDIR}"/20200314-big-endian.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2020-11-16  2:44 Sam James
  0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2020-11-16  2:44 UTC (permalink / raw
  To: gentoo-commits

commit:     8115713266e50d53c31a57c8d56d5b58d62d372d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 16 02:39:48 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 02:39:48 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81157132

media-gfx/fontforge: fix build with >=media-libs/freetype-2.10.3

Closes: https://bugs.gentoo.org/753788
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/fontforge-20200314-freetype-2.10.3.patch | 60 ++++++++++++++++++++++
 media-gfx/fontforge/fontforge-20200314.ebuild      |  1 +
 2 files changed, 61 insertions(+)

diff --git a/media-gfx/fontforge/files/fontforge-20200314-freetype-2.10.3.patch b/media-gfx/fontforge/files/fontforge-20200314-freetype-2.10.3.patch
new file mode 100644
index 00000000000..0a07423ab62
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-20200314-freetype-2.10.3.patch
@@ -0,0 +1,60 @@
+https://bugs.gentoo.org/753788
+https://github.com/fontforge/fontforge/commit/7837530190a3b666109ba4eb9b3b76f09799057c
+----
+From 7837530190a3b666109ba4eb9b3b76f09799057c Mon Sep 17 00:00:00 2001
+From: Jeremy Tan <jtanx@outlook.com>
+Date: Tue, 3 Nov 2020 21:27:26 +1100
+Subject: [PATCH] Fix FreeType debugger compilation with FreeType >= 2.10.3
+
+Fixes #4477
+---
+ fontforge/fffreetype.h  | 4 +++-
+ fontforgeexe/cvdebug.c  | 4 +++-
+ fontforgeexe/cvdgloss.c | 4 +++-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/fontforge/fffreetype.h b/fontforge/fffreetype.h
+index 7757b7bf3b..11070fc916 100644
+--- a/fontforge/fffreetype.h
++++ b/fontforge/fffreetype.h
+@@ -39,7 +39,9 @@
+ #endif
+ 
+ #if defined(FREETYPE_HAS_DEBUGGER)
+-# include <internal/internal.h>
++#if FREETYPE_MAJOR == 2 && (FREETYPE_MINOR < 10 || (FREETYPE_MINOR == 10 && FREETYPE_PATCH < 3))
++#  include <internal/internal.h>
++# endif
+ # include <ttdriver.h>
+ # include <ttinterp.h>
+ # include <ttobjs.h>
+diff --git a/fontforgeexe/cvdebug.c b/fontforgeexe/cvdebug.c
+index 9fb7db6112..a891902a06 100644
+--- a/fontforgeexe/cvdebug.c
++++ b/fontforgeexe/cvdebug.c
+@@ -59,7 +59,9 @@ void CVDebugPointPopup(CharView *cv) {
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+ 
+-#include <internal/internal.h>
++#if FREETYPE_MAJOR == 2 && (FREETYPE_MINOR < 10 || (FREETYPE_MINOR == 10 && FREETYPE_PATCH < 3))
++# include <internal/internal.h>
++#endif
+ #include <ttinterp.h>
+ 
+ # define PPEMX(exc)	((exc)->size->root.metrics.x_ppem)
+diff --git a/fontforgeexe/cvdgloss.c b/fontforgeexe/cvdgloss.c
+index 33cc5c71e1..c1ad97790b 100644
+--- a/fontforgeexe/cvdgloss.c
++++ b/fontforgeexe/cvdgloss.c
+@@ -42,7 +42,9 @@ extern GBox _ggadget_Default_Box;
+ #include <ft2build.h>
+ #include FT_FREETYPE_H
+ 
+-#include <internal/internal.h>
++#if FREETYPE_MAJOR == 2 && (FREETYPE_MINOR < 10 || (FREETYPE_MINOR == 10 && FREETYPE_PATCH < 3))
++# include <internal/internal.h>
++#endif
+ #include <ttinterp.h>
+ 
+ #define PPEMX(exc)	((exc)->size->root.metrics.x_ppem)

diff --git a/media-gfx/fontforge/fontforge-20200314.ebuild b/media-gfx/fontforge/fontforge-20200314.ebuild
index 0a66fa3ce0b..613e6a7f425 100644
--- a/media-gfx/fontforge/fontforge-20200314.ebuild
+++ b/media-gfx/fontforge/fontforge-20200314.ebuild
@@ -58,6 +58,7 @@ PATCHES=(
 	"${FILESDIR}"/20200314-big-endian.patch
 	"${FILESDIR}"/fontforge-doc-no-warn-error.patch
 	"${FILESDIR}"/20200314-MacServiceReadFDs.patch
+	"${FILESDIR}"/${P}-freetype-2.10.3.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/
@ 2024-06-02  7:29 Sam James
  0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2024-06-02  7:29 UTC (permalink / raw
  To: gentoo-commits

commit:     53ea57e0919caa29b24429a51254fcabdeda5222
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  2 07:27:44 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  2 07:29:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53ea57e0

media-gfx/fontforge: fix py3.12 compat

This is, of course, masked by setuptools being installed for 3.12 for most people
which is how we didn't notice...

Closes: https://bugs.gentoo.org/933392
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...forge-20230101-python3.12-distutils-no-more.patch | 20 ++++++++++++++++++++
 ...230101-r1.ebuild => fontforge-20230101-r2.ebuild} |  1 +
 2 files changed, 21 insertions(+)

diff --git a/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch b/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch
new file mode 100644
index 000000000000..c140e7d19955
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/933392
+https://github.com/fontforge/fontforge/pull/5423
+
+From 24968a8bf713396bc4a5dbb8bf3a03a9479b2568 Mon Sep 17 00:00:00 2001
+From: Maxim Iorsh <iorsh@users.sourceforge.net>
+Date: Fri, 24 May 2024 16:48:47 +0300
+Subject: [PATCH 1/3] Use sysconfig for Python module locations
+
+--- a/pyhook/CMakeLists.txt
++++ b/pyhook/CMakeLists.txt
+@@ -21,7 +21,7 @@ target_link_libraries(psMat_pyhook PRIVATE Python3::Module)
+ # So do it ourselves, getting the prefix-relative path instead
+ if(NOT DEFINED PYHOOK_INSTALL_DIR)
+   execute_process(
+-    COMMAND "${Python3_EXECUTABLE}" -c "import distutils.sysconfig as sc; print(sc.get_python_lib(prefix='', plat_specific=True,standard_lib=False))"
++    COMMAND "${Python3_EXECUTABLE}" -c "import sysconfig as sc; print(sc.get_path('platlib', sc.get_preferred_scheme('user'), vars={'userbase': '.'}))"
+     RESULT_VARIABLE _pyhook_install_dir_result
+     OUTPUT_VARIABLE PYHOOK_INSTALL_DIR
+     OUTPUT_STRIP_TRAILING_WHITESPACE)
+

diff --git a/media-gfx/fontforge/fontforge-20230101-r1.ebuild b/media-gfx/fontforge/fontforge-20230101-r2.ebuild
similarity index 97%
rename from media-gfx/fontforge/fontforge-20230101-r1.ebuild
rename to media-gfx/fontforge/fontforge-20230101-r2.ebuild
index 261c8f986c79..5a9b97e812ee 100644
--- a/media-gfx/fontforge/fontforge-20230101-r1.ebuild
+++ b/media-gfx/fontforge/fontforge-20230101-r2.ebuild
@@ -54,6 +54,7 @@ PATCHES=(
 	"${FILESDIR}"/fontforge-doc-no-warn-error.patch
 	"${FILESDIR}"/${PN}-20230101-workaround-broken-translations.patch
 	"${FILESDIR}"/${PN}-20230101-fix-splinefont-shell-command-injection.patch
+	"${FILESDIR}"/${PN}-20230101-python3.12-distutils-no-more.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-06-02  7:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-16  2:44 [gentoo-commits] repo/gentoo:master commit in: media-gfx/fontforge/files/, media-gfx/fontforge/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-06-02  7:29 Sam James
2020-04-27 23:55 Mike Gilbert
2020-03-29 20:42 Mike Gilbert
2020-03-29 18:15 Mike Gilbert
2018-05-28 18:46 Mike Gilbert
2017-12-10  0:15 Mike Gilbert
2017-12-09 16:57 Mike Gilbert
2016-03-16  2:24 Mike Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox