tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: gtk3+ broken on OSX due to epoxy update



Tobias Nygren <tnn%NetBSD.org@localhost> writes:

> On Mon, 14 Sep 2015 07:42:32 -0400
> Greg Troxel <gdt%ir.bbn.com@localhost> wrote:
>
>>   take a different approach, and just put #ifndef DARWIN around the
>>   include of glx in the libepoxy file, and let gtk3 think it doesn't
>>   have it.
>
> I'm afraid this is going to require a lot of patching. It's not just a
> matter of header files. GTK3 has GL integration which is not
> optionalized. I think the best way to go is actually to put the GLX
> support for Darwin back into libepoxy. Someone from macos-pkg-people@
> needs to undertake this.
>
> We could revert the update. But I don't really want to hold it back just
> because X11 on Darwin is dying a slow death.

Updates in the final days before a freeze that cause fallout get extra
nominated for reverting :-) But I don't think we have to do that in this
case.

I'm not sure this is really about X11 on Darwin.  I realize apple is
deprecating it, but add-on X seems alive and well.  It's not 100% clear
to me whether glx is showing up from that or from something from xcode
instead.   It doesn't seem unreasonable of pkgsrc to require functioning
X when it's reasonably easy for people to get it.

> Since GTK3 is the only
> libepoxy consumer on Darwin I propose we import graphics/libepoxy12
> and use that if it has been confirmed to solve the problem.

I reverted upstream's disabling of glx, and that allows gtk3 to build
and package.  It is basically going back mac/glx-wise to how things were
before the update, and the rest of the 1.2->1.3.1 changes seem totally
fine.  What do you think about this patch? 

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/libepoxy/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- Makefile	13 Sep 2015 11:38:32 -0000	1.7
+++ Makefile	14 Sep 2015 12:58:17 -0000
@@ -1,6 +1,7 @@
 # $NetBSD: Makefile,v 1.7 2015/09/13 11:38:32 tron Exp $
 
 DISTNAME=	libepoxy-1.3.1
+PKGEVISION=	1
 CATEGORIES=	graphics
 MASTER_SITES=	${MASTER_SITE_GITHUB:=anholt/}
 GITHUB_TAG=	v${PKGVERSION_NOREV}
@@ -32,9 +33,14 @@ CONFIGURE_ENV+=		PKGSRC_BUILD_EGL=yes
 CONFIGURE_ENV+=		PKGSRC_BUILD_EGL=no
 .endif
 
+# This could be garbage collected, but it seems likely that there will
+# be more glx issues, so it seems easier to leave it.
 PLIST_VARS+=		glx
 .if ${OPSYS} != "Darwin"
 PLIST.glx=		yes
+.else
+# On Darwin, we patch upstream to enable this.
+PLIST.glx=		yes
 .endif
 
 .include "../../lang/python/tool.mk"
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/libepoxy/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo	13 Sep 2015 04:44:48 -0000	1.4
+++ distinfo	14 Sep 2015 12:58:17 -0000
@@ -3,6 +3,6 @@ $NetBSD: distinfo,v 1.4 2015/09/13 04:44
 SHA1 (libepoxy-1.3.1.tar.gz) = 94d98d83a50d2f607ee9986b622a48df00d5926c
 RMD160 (libepoxy-1.3.1.tar.gz) = 1fbdcd713b3b95d7b5fc5dd80b81c4ffcf27214f
 Size (libepoxy-1.3.1.tar.gz) = 284227 bytes
-SHA1 (patch-configure.ac) = bc1870f74ed0cab31df7d23f9673b65d21c873f6
+SHA1 (patch-configure.ac) = 0aa95317a5a3a3b110ff21b6e7754666831f2ca0
 SHA1 (patch-src_dispatch__common.c) = e69b5e5b6f68a95f10ecbbdb8b1c9ab6695fe24c
-SHA1 (patch-src_dispatch__common.h) = a95512892d4f0172366b19246602f00db6c03dc6
+SHA1 (patch-src_dispatch__common.h) = 74e00806fea01cf9de4171707441fa1f39fe5316
Index: patches/patch-configure.ac
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/libepoxy/patches/patch-configure.ac,v
retrieving revision 1.2
diff -u -p -r1.2 patch-configure.ac
--- patches/patch-configure.ac	13 Sep 2015 04:44:49 -0000	1.2
+++ patches/patch-configure.ac	14 Sep 2015 12:58:17 -0000
@@ -2,9 +2,25 @@ $NetBSD: patch-configure.ac,v 1.2 2015/0
 
 Override EGL detection.
 
+Revert upstream's disabling of glx on Mac.  See
+https://github.com/anholt/libepoxy/commit/e3051481cc9f5b7b36b317aff1454ee16ea9cdb9
+for context.  We require X11 anyway, and libepoxy without glx is
+defective - in particular, gtk3+ fails to build.
+Not yet reported upstream.
+
 --- configure.ac.orig	2015-07-15 23:46:36.000000000 +0000
 +++ configure.ac
-@@ -85,7 +85,7 @@ case $host_os in
+@@ -77,15 +77,16 @@ case $host_os in
+         AC_SUBST([LOG_COMPILER], [wine])
+         ;;
+     darwin*)
++        # TODO: explain why egl is forced off on Darwin
+         build_egl=no
+-        build_glx=no
++        build_glx=yes
+         build_wgl=no
+         build_apple=yes
+         has_znow=no
          EPOXY_LINK_LIBS=""
          ;;
      *)
Index: patches/patch-src_dispatch__common.h
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/libepoxy/patches/patch-src_dispatch__common.h,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_dispatch__common.h
--- patches/patch-src_dispatch__common.h	13 Jun 2015 19:13:10 -0000	1.1
+++ patches/patch-src_dispatch__common.h	14 Sep 2015 12:58:17 -0000
@@ -2,9 +2,18 @@ $NetBSD: patch-src_dispatch__common.h,v 
 
 Override EGL detection.
 
---- src/dispatch_common.h.orig	2014-05-14 00:22:08.000000000 +0000
+--- src/dispatch_common.h.orig	2015-07-15 23:46:36.000000000 +0000
 +++ src/dispatch_common.h
-@@ -34,7 +34,12 @@
+@@ -30,7 +30,7 @@
+ #define EPOXY_IMPORTEXPORT __declspec(dllexport)
+ #elif defined(__APPLE__)
+ #define PLATFORM_HAS_EGL 0
+-#define PLATFORM_HAS_GLX 0
++#define PLATFORM_HAS_GLX 1
+ #define PLATFORM_HAS_WGL 0
+ #define EPOXY_IMPORTEXPORT
+ #elif defined(ANDROID)
+@@ -39,7 +39,12 @@
  #define PLATFORM_HAS_WGL 0
  #define EPOXY_IMPORTEXPORT
  #else

Attachment: pgpHmARAlpuhs.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index