NetBSD Problem Report #54324

From www@netbsd.org  Mon Jun 24 14:09:52 2019
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 20D887A194
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 24 Jun 2019 14:09:52 +0000 (UTC)
Message-Id: <20190624140950.A39297A1A8@mollari.NetBSD.org>
Date: Mon, 24 Jun 2019 14:09:50 +0000 (UTC)
From: clement.bouvier.europe@gmail.com
Reply-To: clement.bouvier.europe@gmail.com
To: gnats-bugs@NetBSD.org
Subject: x11/Tk windows black screen with MacOSX Mojave
X-Send-Pr-Version: www-1.0

>Number:         54324
>Category:       pkg
>Synopsis:       x11/Tk windows black screen with MacOSX Mojave
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bsiegert
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jun 24 14:10:00 +0000 2019
>Closed-Date:    Tue Jun 25 12:07:54 +0000 2019
>Last-Modified:  Tue Jun 25 12:10:01 +0000 2019
>Originator:     Clément Bouvier
>Release:        pkgsrc HEAD
>Organization:
>Environment:
MacOSX Mojave 10.14.5 
Darwin 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64
>Description:
If x11/tk 8.6.9 is built with aqua option (quartz backend no X11) on MacOSX Mojave 10.14.5.
Simple tk script displays a black screen.
Dark mode does not change anything.

The result is the same if devel/idle (based on Tk) is built and run.
>How-To-Repeat:
run wish and run the following script:

% button .submit -text "Click Me if you can" -command { puts "\nDark Mode ok" }
% pack .submit

A window with a button "Click me if you can" should be visible.
>Fix:
Update to Tk 8.6.9.1
Following patches update x11/tk to 8.6.9.1

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/x11/tk/Makefile,v
retrieving revision 1.84
diff -b -u -r1.84 Makefile
--- Makefile	9 Dec 2018 18:35:44 -0000	1.84
+++ Makefile	24 Jun 2019 13:59:19 -0000
@@ -1,7 +1,7 @@
 # $NetBSD: Makefile,v 1.84 2018/12/09 18:35:44 adam Exp $

-DISTNAME=	tk${TK_VERSION}-src
-PKGNAME=	tk-${TK_VERSION}
+DISTNAME=	tk${TK_VERSION}.1-src
+PKGNAME=	tk-${TK_VERSION}.1
 CATEGORIES=	x11 lang
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=tcl/}

Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/x11/tk/distinfo,v
retrieving revision 1.52
diff -b -u -r1.52 distinfo
--- distinfo	9 Dec 2018 18:35:44 -0000	1.52
+++ distinfo	24 Jun 2019 13:59:19 -0000
@@ -1,8 +1,8 @@
 $NetBSD: distinfo,v 1.52 2018/12/09 18:35:44 adam Exp $

-SHA1 (tk8.6.9-src.tar.gz) = 9220739f077e64e974dfd8999d1de1a3b9355b9d
-RMD160 (tk8.6.9-src.tar.gz) = 8df24d99ef5e80e5317001408e1f6921a6998cb9
-SHA512 (tk8.6.9-src.tar.gz) = 654d73aad006e628110057681477b958b7ec0a42287bc78259fb4b84635e7ebe757e69099d66c0c73479bc506ca66fa5baf13f13b0f403d60b2c54fd48a4a686
-Size (tk8.6.9-src.tar.gz) = 4364606 bytes
-SHA1 (patch-unix_Makefile.in) = a94df921cf947918674c6ef26897fc702fd0c9e4
-SHA1 (patch-unix_configure) = 5797adcb5a1fd6b280a212c611d76c11771dc0a4
+SHA1 (tk8.6.9.1-src.tar.gz) = 473019c00461fb55724d1923ed6330d01d9483b8
+RMD160 (tk8.6.9.1-src.tar.gz) = 34ec51e1dbf02459960f77795009743708490831
+SHA512 (tk8.6.9.1-src.tar.gz) = b9c811ffc8326331ae03c6fb25ea71f7a5eaeebd9d5a16a51a1671d0f0422268bd351b077e17ae925f0a7eddac9642aa640658615c52d4269c299373af031a92
+Size (tk8.6.9.1-src.tar.gz) = 4364603 bytes
+SHA1 (patch-unix_Makefile.in) = 6238796c15a0df653109b74817c153d226c64c21
+SHA1 (patch-unix_configure) = c97f33770d30a30fd1ad9127b8fa353e20340bd4
Index: patches/patch-unix_Makefile.in
===================================================================
RCS file: /cvsroot/pkgsrc/x11/tk/patches/patch-unix_Makefile.in,v
retrieving revision 1.8
diff -b -u -r1.8 patch-unix_Makefile.in
--- patches/patch-unix_Makefile.in	25 Aug 2017 11:05:33 -0000	1.8
+++ patches/patch-unix_Makefile.in	24 Jun 2019 13:59:19 -0000
@@ -1,6 +1,10 @@
 $NetBSD: patch-unix_Makefile.in,v 1.8 2017/08/25 11:05:33 adam Exp $

---- unix/Makefile.in.orig	2016-02-29 19:13:21.000000000 +0000
+Support MirBSD.
+Honor LDFLAGS.
+Standardize file names.
+
+--- unix/Makefile.in.orig	2019-06-24 09:27:45.000000000 +0000
 +++ unix/Makefile.in
 @@ -14,6 +14,7 @@ MAJOR_VERSION		= @TK_MAJOR_VERSION@
  MINOR_VERSION		= @TK_MINOR_VERSION@
@@ -28,6 +32,15 @@

  # The directory containing the platform specific Tcl sources and headers
  # appropriate for this version of Tk:
+@@ -119,7 +122,7 @@ TK_SHARED_BUILD		= @TK_SHARED_BUILD@
+ # Subdirectory of $(libdir) containing the pkgIndex.tcl file for loadable Tk
+ TK_PKG_DIR		= @TK_PKG_DIR@
+ 
+-# Directory in which to install the pkgIndex.tcl file for loadable Tk
++	# Directory in which to install the pkgIndex.tcl file for loadable Tk
+ PKG_INSTALL_DIR		= $(LIB_INSTALL_DIR)/$(TK_PKG_DIR)
+ 
+ # Package index file for loadable Tk
 @@ -137,7 +140,7 @@ CFLAGS_OPTIMIZE		= @CFLAGS_OPTIMIZE@
  #CFLAGS			= $(CFLAGS_DEBUG)
  #CFLAGS			= $(CFLAGS_OPTIMIZE)
@@ -54,7 +67,7 @@
  # Additional search flags needed to find the various shared libraries
  # at run-time.  The first symbol is for use when creating a binary
  # with cc, and the second is for use when running ld directly.
-@@ -562,6 +568,9 @@ PRIVATE_HDRS = $(GENERIC_DIR)/tkInt.h $(
+@@ -563,6 +569,9 @@ PRIVATE_HDRS = $(GENERIC_DIR)/tkInt.h $(

  DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget

@@ -64,7 +77,7 @@
  SHELL_ENV = \
  	@LD_LIBRARY_PATH_VAR@="`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}"; \
  	export @LD_LIBRARY_PATH_VAR@; \
-@@ -585,6 +594,11 @@ ${LIB_FILE}: ${STUB_LIB_FILE} @LIB_RSRC_
+@@ -586,6 +595,11 @@ ${LIB_FILE}: ${STUB_LIB_FILE} @LIB_RSRC_
  	rm -f $@
  	@MAKE_LIB@

@@ -76,7 +89,7 @@
  ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
  	@if test "x${LIB_FILE}" = "xlibtk${MAJOR_VERSION}.${MINOR_VERSION}.dll"; then \
  	    (cd ${TOP_DIR}/win; ${MAKE} tk${MAJOR_VERSION}${MINOR_VERSION}.dll); \
-@@ -709,7 +723,7 @@ install-strip:
+@@ -710,7 +724,7 @@ install-strip:
  		INSTALL_PROGRAM="$(INSTALL_PROGRAM) ${INSTALL_STRIP_PROGRAM}" \
  		INSTALL_LIBRARY="$(INSTALL_LIBRARY) ${INSTALL_STRIP_LIBRARY}"

@@ -85,7 +98,7 @@
  	@for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" \
  	    "$(PKG_INSTALL_DIR)" "$(CONFIG_INSTALL_DIR)" ; \
  	    do \
-@@ -739,7 +753,13 @@ install-binaries: $(TK_STUB_LIB_FILE) $(
+@@ -740,7 +754,13 @@ install-binaries: $(TK_STUB_LIB_FILE) $(
  	    fi
  	@echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
  	@@INSTALL_LIB@
@@ -100,7 +113,7 @@
  	@if test -f "tk${MAJOR_VERSION}${MINOR_VERSION}.dll"; then \
  	    $(INSTALL_LIBRARY) "tk${MAJOR_VERSION}${MINOR_VERSION}.dll" "$(DLL_INSTALL_DIR)";\
  	    chmod 555 "$(DLL_INSTALL_DIR)/tk${MAJOR_VERSION}${MINOR_VERSION}.dll";\
-@@ -748,6 +768,7 @@ install-binaries: $(TK_STUB_LIB_FILE) $(
+@@ -749,6 +769,7 @@ install-binaries: $(TK_STUB_LIB_FILE) $(
  	fi
  	@echo "Installing ${WISH_EXE} as $(BIN_INSTALL_DIR)/wish$(VERSION)${EXE_SUFFIX}"
  	@$(INSTALL_PROGRAM) ${WISH_EXE} "$(BIN_INSTALL_DIR)/wish$(VERSION)${EXE_SUFFIX}"
@@ -108,7 +121,7 @@
  	@echo "Installing tkConfig.sh to $(CONFIG_INSTALL_DIR)/"
  	@$(INSTALL_DATA) tkConfig.sh "$(CONFIG_INSTALL_DIR)/tkConfig.sh"
  	@if test "$(STUB_LIB_FILE)" != "" ; then \
-@@ -855,7 +876,7 @@ install-doc:
+@@ -856,7 +877,7 @@ install-doc:
  install-headers:
  	@if test "$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)" != ""; then \
  	    XLIB_INCLUDE_INSTALL_DIR="$(INCLUDE_INSTALL_DIR)"/X11; fi; \
@@ -117,7 +130,7 @@
  	    do \
  	    if [ -n "$$i" -a ! -d "$$i" ] ; then \
  		echo "Making directory $$i"; \
-@@ -864,9 +885,12 @@ install-headers:
+@@ -865,9 +886,12 @@ install-headers:
  		fi; \
  	    done;
  	@echo "Installing header files to $(INCLUDE_INSTALL_DIR)/";
Index: patches/patch-unix_configure
===================================================================
RCS file: /cvsroot/pkgsrc/x11/tk/patches/patch-unix_configure,v
retrieving revision 1.13
diff -b -u -r1.13 patch-unix_configure
--- patches/patch-unix_configure	9 Dec 2018 18:35:44 -0000	1.13
+++ patches/patch-unix_configure	24 Jun 2019 13:59:19 -0000
@@ -65,20 +65,21 @@
  fi

      DLL_INSTALL_DIR="\$(LIB_INSTALL_DIR)"
-@@ -6667,7 +6666,11 @@ fi
+@@ -6667,8 +6666,11 @@ fi

  else

 -            INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)"'
+-
 +       if test "${SHLIB_SUFFIX}" = ".dylib" ; then
 +            INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/libtk$(MAJOR_VERSION)$(MINOR_VERSION)$(SHLIB_VERSION)$(SHLIB_SUFFIX)"'
 +        else
 +            INSTALL_LIB='$(INSTALL_LIBRARY) $(LIB_FILE) "$(LIB_INSTALL_DIR)/$(LIB_FILE)$(SHLIB_VERSION)"'
 +        fi
- 
  fi

-@@ -6702,7 +6705,7 @@ else
+ 
+@@ -6702,7 +6704,7 @@ else

  fi

@@ -87,7 +88,7 @@

      # Define TCL_LIBS now that we know what DL_LIBS is.
      # The trick here is that we don't want to change the value of TCL_LIBS if
-@@ -9713,7 +9716,7 @@ echo $ECHO_N "checking for X11 libraries
+@@ -9713,7 +9715,7 @@ echo $ECHO_N "checking for X11 libraries
  	    if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl -o -r $i/libX11.dylib; then
  		echo "$as_me:$LINENO: result: $i" >&5
  echo "${ECHO_T}$i" >&6
@@ -96,7 +97,7 @@
  		x_libraries="$i"
  		break
  	    fi
-@@ -9722,7 +9725,7 @@ echo "${ECHO_T}$i" >&6
+@@ -9722,7 +9724,7 @@ echo "${ECHO_T}$i" >&6
  	if test "$x_libraries" = ""; then
  	    XLIBSW=-lX11
  	else
@@ -105,7 +106,7 @@
  	fi
      fi
      if test "$XLIBSW" = nope ; then
-@@ -9818,11 +9821,6 @@ fi
+@@ -9818,11 +9820,6 @@ fi
  #	   be replaced by spaces.
  #--------------------------------------------------------------------

@@ -117,7 +118,7 @@
  if test "${TCL_LD_SEARCH_FLAGS}" = '-L${LIB_RUNTIME_DIR}'; then
      LIB_RUNTIME_DIR=`echo ${LIB_RUNTIME_DIR} |sed -e 's/:/ -L/g'`
  fi
-@@ -11058,14 +11056,10 @@ else
+@@ -11058,14 +11055,10 @@ else
  	TK_LIB_FLAG="-ltk`echo ${TK_VERSION} | tr -d .`"
  	TK_BUILD_LIB_SPEC="-L\$(TOP_DIR)/win ${TK_LIB_FLAG}"
      else
@@ -129,11 +130,11 @@
  	TK_BUILD_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TK_LIB_FLAG}"
      fi
 -    TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}"
-+    TK_LIB_SPEC="-L${libdir} ${COMPILER_RPATH_FLAG}${libdir} ${TK_LIB_FLAG}"
++    TK_LIB_SPEC="-L${libdir} ${COMPILER_RPATH_FLAG}${libdir} {TK_LIB_FLAG}"
  fi

  #--------------------------------------------------------------------
-@@ -11077,11 +11071,7 @@ fi
+@@ -11077,11 +11070,7 @@ fi
  eval "TK_STUB_LIB_FILE=libtkstub${TK_UNSHARED_LIB_SUFFIX}"
  eval "TK_STUB_LIB_DIR=${libdir}"

@@ -146,7 +147,7 @@

  TK_BUILD_STUB_LIB_SPEC="-L`pwd | sed -e 's/ /\\\\ /g'` ${TK_STUB_LIB_FLAG}"
  TK_STUB_LIB_SPEC="-L${TK_STUB_LIB_DIR} ${TK_STUB_LIB_FLAG}"
-@@ -11902,6 +11892,7 @@ s,@APP_RSRC_FILE@,$APP_RSRC_FILE,;t t
+@@ -11902,6 +11893,7 @@ s,@APP_RSRC_FILE@,$APP_RSRC_FILE,;t t
  s,@REZ@,$REZ,;t t
  s,@REZ_FLAGS@,$REZ_FLAGS,;t t
  s,@LTLIBOBJS@,$LTLIBOBJS,;t t


>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->macos-pkg-people
Responsible-Changed-By: leot@NetBSD.org
Responsible-Changed-When: Mon, 24 Jun 2019 18:49:04 +0000
Responsible-Changed-Why:
macOS problem


From: Benny Siegert <bsiegert@gmail.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/54324: x11/Tk windows black screen with MacOSX Mojave
Date: Tue, 25 Jun 2019 12:03:13 +0200

 Why is the fix an update to Tk? Is there anything in the changelog
 indicating that this has been fixed?

 More to the point: please provide the upstream changelog for this update.

From: =?utf-8?Q?cl=C3=A9ment_bouvier?= <clement.bouvier.europe@gmail.com>
To: gnats-bugs@netbsd.org
Cc: macos-pkg-people@netbsd.org,
 gnats-admin@netbsd.org,
 pkgsrc-bugs@netbsd.org
Subject: Re: pkg/54324: x11/Tk windows black screen with MacOSX Mojave
Date: Tue, 25 Jun 2019 14:24:15 +0400

 Well, this release is an errata release.=20
 http://code.activestate.com/lists/tcl-core/20442/

 Tcl/Tk 8.6.9 Release Announcement
 November 16, 2018

 Alongside the Tcl/Tk 8.6.9 releases just announced, you will find one
 additional file, tk8.6.9.1-src.tar.gz . This is an errata release
 fixing a critical error on the Mac OSX 10.14 Mojave platform only.
 If you are building Tk for any other platform, there is no need to
 upgrade to the errata release. If you do upgrade to it anyway, you will
 see no difference, so it will be harmless through wasted effort, as the
 details below will explain.

 When unpacked, the errata archive differs from the tk8.6.9-src.tar.gz
 contents in only three lines of the file
     tk8.6.9/macosx/tkMacOSXWindowEvent.c
 which is a file compiled only for Mac OSX builds of Tk. The lines are
 written to have effect only on Mojave. Every other byte of the source
 code distribution is unchanged.

 Big thanks to Marc Culler for completing this new port of Tk to the
 Mojave platform, and big apologies from me for this botch in the
 release.

 Also directly on Tk source Code:

 https://core.tcl-lang.org/tk/timeline?t=3Dcore-8-6-9-1

 With the comment about the commit:

 "Possible fix for regression in Mojave appearance. Needs Mojave =
 testing."


 > Le 25 juin 2019 =C3=A0 14:05, Benny Siegert <bsiegert@gmail.com> a =
 =C3=A9crit :
 >=20
 > The following reply was made to PR pkg/54324; it has been noted by =
 GNATS.
 >=20
 > From: Benny Siegert <bsiegert@gmail.com>
 > To: gnats-bugs@netbsd.org
 > Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, =
 pkgsrc-bugs@netbsd.org
 > Subject: Re: pkg/54324: x11/Tk windows black screen with MacOSX Mojave
 > Date: Tue, 25 Jun 2019 12:03:13 +0200
 >=20
 > Why is the fix an update to Tk? Is there anything in the changelog
 > indicating that this has been fixed?
 >=20
 > More to the point: please provide the upstream changelog for this =
 update.
 >=20

Responsible-Changed-From-To: macos-pkg-people->bsiegert
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Tue, 25 Jun 2019 12:07:23 +0000
Responsible-Changed-Why:
take


State-Changed-From-To: open->closed
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Tue, 25 Jun 2019 12:07:54 +0000
State-Changed-Why:
Patch committed, thanks for the great bug report! :)


From: "Benny Siegert" <bsiegert@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/54324 CVS commit: pkgsrc/x11/tk
Date: Tue, 25 Jun 2019 12:06:41 +0000

 Module Name:	pkgsrc
 Committed By:	bsiegert
 Date:		Tue Jun 25 12:06:41 UTC 2019

 Modified Files:
 	pkgsrc/x11/tk: Makefile distinfo
 	pkgsrc/x11/tk/patches: patch-unix_Makefile.in patch-unix_configure

 Log Message:
 Update Tk to 8.6.9.1 to fix PR pkg/54324.

 ok during freeze jperkin@

  Alongside the Tcl/Tk 8.6.9 releases just announced, you will find one
  additional file, tk8.6.9.1-src.tar.gz . This is an errata release
  fixing a critical error on the Mac OSX 10.14 Mojave platform only.
  If you are building Tk for any other platform, there is no need to
  upgrade to the errata release. If you do upgrade to it anyway, you will
  see no difference, so it will be harmless through wasted effort, as the
  details below will explain.

  When unpacked, the errata archive differs from the tk8.6.9-src.tar.gz
  contents in only three lines of the file
      tk8.6.9/macosx/tkMacOSXWindowEvent.c
  which is a file compiled only for Mac OSX builds of Tk. The lines are
  written to have effect only on Mojave. Every other byte of the source
  code distribution is unchanged.


 To generate a diff of this commit:
 cvs rdiff -u -r1.84 -r1.85 pkgsrc/x11/tk/Makefile
 cvs rdiff -u -r1.52 -r1.53 pkgsrc/x11/tk/distinfo
 cvs rdiff -u -r1.8 -r1.9 pkgsrc/x11/tk/patches/patch-unix_Makefile.in
 cvs rdiff -u -r1.13 -r1.14 pkgsrc/x11/tk/patches/patch-unix_configure

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.