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:
(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.