media-gfx/fontforge: skip gdk_init if running a script
authorMike Gilbert <floppym@gentoo.org>
Sun, 24 Mar 2019 22:25:15 +0000 (18:25 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sun, 24 Mar 2019 22:25:46 +0000 (18:25 -0400)
Closes: https://bugs.gentoo.org/681650
Package-Manager: Portage-2.3.62_p4, Repoman-2.3.12_p87
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
media-gfx/fontforge/files/20190317-gdk_init.patch [new file with mode: 0644]
media-gfx/fontforge/fontforge-20190317-r1.ebuild [moved from media-gfx/fontforge/fontforge-20190317.ebuild with 93% similarity]

diff --git a/media-gfx/fontforge/files/20190317-gdk_init.patch b/media-gfx/fontforge/files/20190317-gdk_init.patch
new file mode 100644 (file)
index 0000000..060e695
--- /dev/null
@@ -0,0 +1,39 @@
+From 4577ad7205c600c6c8e809e10d51eb2118cb66b5 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 24 Mar 2019 18:12:21 -0400
+Subject: [PATCH] Defer gdk_init() until after CheckIsScript()
+
+This allows fontforge to run without an X server available.
+
+Fixes: https://github.com/fontforge/fontforge/issues/3582
+---
+ fontforgeexe/startui.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/fontforgeexe/startui.c b/fontforgeexe/startui.c
+index 1bb5fd8ca..ae15afbf2 100644
+--- a/fontforgeexe/startui.c
++++ b/fontforgeexe/startui.c
+@@ -900,9 +900,6 @@ int fontforge_main( int argc, char **argv ) {
+ #if !(GLIB_CHECK_VERSION(2, 35, 0))
+     g_type_init();
+ #endif
+-#ifdef FONTFORGE_CAN_USE_GDK
+-    gdk_init(&argc, &argv);
+-#endif
+     /* Must be done before we cache the current directory */
+     /* Change to HOME dir if specified on the commandline */
+@@ -1093,6 +1090,9 @@ int fontforge_main( int argc, char **argv ) {
+     CheckIsScript(argc,argv); /* Will run the script and exit if it is a script */
+                                       /* If there is no UI, there is always a script */
+                                       /*  and we will never return from the above */
++#ifdef FONTFORGE_CAN_USE_GDK
++    gdk_init(&argc, &argv);
++#endif
+     if ( load_prefs==NULL ||
+           (strcasecmp(load_prefs,"Always")!=0 &&      /* Already loaded */
+            strcasecmp(load_prefs,"Never")!=0 ))
+-- 
+2.21.0
+
similarity index 93%
rename from media-gfx/fontforge/fontforge-20190317.ebuild
rename to media-gfx/fontforge/fontforge-20190317-r1.ebuild
index 3e2be07fecdd73b77189a9a763b5ea9294626efd..faf3deb43fbd847c6f886beab7d7857cec783958 100644 (file)
@@ -4,9 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-VIRTUALX_REQUIRED="manual"
 
-inherit python-single-r1 virtualx xdg
+inherit python-single-r1 xdg
 
 DESCRIPTION="postscript font editor and converter"
 HOMEPAGE="http://fontforge.github.io/"
@@ -57,7 +56,6 @@ DEPEND="${RDEPEND}
 BDEPEND="
        sys-devel/gettext
        virtual/pkgconfig
-       test? ( gtk? ( ${VIRTUALX_DEPEND} ) )
 "
 
 # Needs keywording on many arches.
@@ -68,6 +66,7 @@ BDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/20170731-gethex-unaligned.patch
+       "${FILESDIR}"/20190317-gdk_init.patch
 )
 
 pkg_setup() {
@@ -108,14 +107,6 @@ src_compile() {
        emake
 }
 
-src_test() {
-       if use gtk; then
-               virtx emake check
-       else
-               emake check
-       fi
-}
-
 src_install() {
        default
        find "${ED}" -name '*.la' -type f -delete || die