summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/tk/Manifest1
-rw-r--r--dev-lang/tk/files/tk-8.6.10-multilib.patch11
-rw-r--r--dev-lang/tk/files/tk-8.6.10-test.patch527
-rw-r--r--dev-lang/tk/tk-8.6.10.ebuild153
4 files changed, 692 insertions, 0 deletions
diff --git a/dev-lang/tk/Manifest b/dev-lang/tk/Manifest
index f0c0f3835b4a..f8946e77095c 100644
--- a/dev-lang/tk/Manifest
+++ b/dev-lang/tk/Manifest
@@ -1,4 +1,5 @@
DIST tk8.5.17-src.tar.gz 4095985 BLAKE2B 4cbb140c30ca717ee499b9ad9e1a3df27a470a78613edbaec425c39afaa41d59276bbe487933a4e77a9722fcafa9113b203cf5c828660bdeb38f667c3263c3cd SHA512 ddadc738c2567e35d1257b59212c8a0eb70a1bf041d986bc6df3b841b51d934d79a0ef389c928223a64516a92cae3357b2c789edca9c8a626ff4c1cf320c4f4f
+DIST tk8.6.10-src.tar.gz 4444764 BLAKE2B f56647e005778c802352aee0257c0a8f5e0014c9d21362592f08030252d83141cca385f0fb95c0e7e930016255c3b2cef49a65064e056a877214b7d7a1a01246 SHA512 d12ef3a5bde9e10209a24e9f978bd23360a979d8fa70a859cf750a79ca51067a11ef6df7589303b52fe2a2baed4083583ddaa19e2c7cb433ea523639927f1be5
DIST tk8.6.8-src.tar.gz 4319854 BLAKE2B 167c5dc6c32e49653c04bc067c3d75df022ca230657be32797021b0e2f7748215d9ad0493c8020b8d1be1f005b9b2d561339a6a0b209721c0d05dd222d47d377 SHA512 d0d30637b733fb0b0d38461b6d872934c04af422fcdb7ec41a72331b2529cc94414e6f441f95a98642d69505e4f41469847fedd1cbe58bd08cdd818fcabd1db9
DIST tk8.6.9-src.tar.gz 4364606 BLAKE2B 9c96d977aa72dcc0c8d2a570d644284a1eef217ef082d8a78461bdcb4845e206ccad59cb5bc21ef80e32ea19951fa3a845e45059bb9eaf0756f128a95530260c SHA512 654d73aad006e628110057681477b958b7ec0a42287bc78259fb4b84635e7ebe757e69099d66c0c73479bc506ca66fa5baf13f13b0f403d60b2c54fd48a4a686
DIST tk8.6.9.1-src.tar.gz 4364603 BLAKE2B 3d96637ceadc28977f8b4532be071907d64f11bd22881baf02aa6fa2778b607437edce8f1ed02e7011bcf78468128f7bfe81ee6dac9bd73a796e7fefae130dcf SHA512 b9c811ffc8326331ae03c6fb25ea71f7a5eaeebd9d5a16a51a1671d0f0422268bd351b077e17ae925f0a7eddac9642aa640658615c52d4269c299373af031a92
diff --git a/dev-lang/tk/files/tk-8.6.10-multilib.patch b/dev-lang/tk/files/tk-8.6.10-multilib.patch
new file mode 100644
index 000000000000..9b781362d65f
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.6.10-multilib.patch
@@ -0,0 +1,11 @@
+--- a/unix/configure.in 2020-12-26 11:26:32.952828258 +0100
++++ b/unix/configure.in 2020-12-26 11:26:45.027642732 +0100
+@@ -663,7 +663,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++test -z "$TK_LIBRARY" && TK_LIBRARY='$(libdir)/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)'
diff --git a/dev-lang/tk/files/tk-8.6.10-test.patch b/dev-lang/tk/files/tk-8.6.10-test.patch
new file mode 100644
index 000000000000..89dcbabfbdc0
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.6.10-test.patch
@@ -0,0 +1,527 @@
+--- a/tests/ttk/entry.test 2020-12-26 18:46:45.262306641 +0100
++++ b/tests/ttk/entry.test 2020-12-26 18:47:00.246040124 +0100
+@@ -111,34 +111,34 @@
+ set result [.e xview]
+ } -result {0.0 0.5}
+
+-test entry-3.3 "xview" -body {
++test entry-3.3 "xview" -constraints knownBug -body {
+ .e delete 0 end;
+ .e insert end abcdefghijklmnopqrstuvwxyz
+ .e xview end
+ set result [.e index @0]
+ } -result {7}
+
+-test entry-3.4 "xview" -body {
++test entry-3.4 "xview" -constraints knownBug -body {
+ .e delete 0 end;
+ .e insert end abcdefghijklmnopqrstuvwxyz
+ .e xview moveto 1.0
+ set result [.e index @0]
+ } -result {7}
+
+-test entry-3.5 "xview" -body {
++test entry-3.5 "xview" -constraints knownBug -body {
+ .e delete 0 end;
+ .e insert end abcdefghijklmnopqrstuvwxyz
+ .e xview scroll 5 units
+ set result [.e index @0]
+ } -result {5}
+
+-test entry-3.6 "xview" -body {
++test entry-3.6 "xview" -constraints knownBug -body {
+ .e delete 0 end;
+ .e insert end [string repeat abcdefghijklmnopqrstuvwxyz 5]
+ .e xview scroll 2 pages
+ set result [.e index @0]
+ } -result {40}
+
+ test entry-3.last "Series 3 cleanup" -body {
+ destroy .e
+ }
+--- a/tests/bind.test 2020-12-26 18:48:21.586593331 +0100
++++ b/tests/bind.test 2020-12-26 18:48:50.134085486 +0100
+@@ -639,7 +639,7 @@
+ } -cleanup {
+ destroy .t.f
+ } -result {Keycolon Releasecolon}
+-test bind-13.14 {Tk_BindEvent procedure: invalid key detail} -setup {
++test bind-13.14 {Tk_BindEvent procedure: invalid key detail} -constraints knownBug -setup {
+ frame .t.f -class Test -width 150 -height 100
+ pack .t.f
+ focus -force .t.f
+@@ -3536,7 +3536,7 @@
+ destroy .t.f
+ } -returnCodes error -result {bad window name/identifier "xyz"}
+
+-test bind-22.66 {HandleEventGenerate: options <Key> -root [winfo id .t]} -setup {
++test bind-22.66 {HandleEventGenerate: options <Key> -root [winfo id .t]} -constraints knownBug -setup {
+ frame .t.f -class Test -width 150 -height 100
+ pack .t.f
+ focus -force .t.f
+--- a/tests/ttk/spinbox.test 2020-12-26 18:49:19.967554727 +0100
++++ b/tests/ttk/spinbox.test 2020-12-26 18:49:58.015877788 +0100
+@@ -136,7 +136,7 @@
+ destroy .sb
+ } -returnCodes error -result {bad validate "bogus": must be all, key, focus, focusin, focusout, or none}
+
+-test spinbox-1.8.4 "-validate option: " -setup {
++test spinbox-1.8.4 "-validate option: " -constraints knownBug -setup {
+ set ::spinbox_test {}
+ ttk::spinbox .sb -from 0 -to 100
+ } -body {
+--- a/tests/canvText.test 2020-12-26 18:57:00.520357006 +0100
++++ b/tests/canvText.test 2020-12-26 19:02:44.545236036 +0100
+@@ -921,7 +921,7 @@
+ destroy .c
+ } -result {{Yeah } Yeah- 4 4}
+
+-test canvText-20.1 {angled text bounding box} -setup {
++test canvText-20.1 {angled text bounding box} -constraints knownBug -setup {
+ destroy .c
+ canvas .c
+ proc transpose {bbox} {
+--- a/tests/focus.test 2020-12-26 19:03:59.769904923 +0100
++++ b/tests/focus.test 2020-12-26 19:11:21.583080155 +0100
+@@ -73,7 +73,7 @@
+ }
+
+
+-test focus-1.1 {Tk_FocusCmd procedure} -constraints unix -body {
++test focus-1.1 {Tk_FocusCmd procedure} -constraints knownBug -body {
+ focusClear
+ focus
+ } -result {}
+@@ -83,7 +83,7 @@
+ focus .alt.b
+ focus
+ } -result {}
+-test focus-1.3 {Tk_FocusCmd procedure} -constraints unix -body {
++test focus-1.3 {Tk_FocusCmd procedure} -constraints knownBug -body {
+ focusClear
+ focus .t.b3
+ focus
+@@ -145,7 +145,7 @@
+ focus -displayof .lousy
+ } -returnCodes error -result {bad window path name ".lousy"}
+ test focus-1.12 {Tk_FocusCmd procedure, -displayof option} -constraints {
+- unix
++ knownBug
+ } -body {
+ focusClear
+ focus .t
+@@ -308,7 +308,7 @@
+ } .t.b1}
+
+ test focus-2.6 {TkFocusFilterEvent procedure, FocusIn events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ focus .t.b1
+ focus .
+@@ -320,7 +320,7 @@
+ list $x $focusInfo
+ } -result {.t.b1 {press .t.b1 x}}
+ test focus-2.7 {TkFocusFilterEvent procedure, FocusOut events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ set result {}
+ foreach detail {NotifyAncestor NotifyInferior NotifyNonlinear
+@@ -341,7 +341,7 @@
+ focus
+ } -result {.t.b1}
+ test focus-2.9 {TkFocusFilterEvent procedure, FocusOut events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ focus .t.b1
+ event gen [testwrapper .] <FocusOut> -detail NotifyAncestor
+@@ -348,7 +348,7 @@
+ focus
+ } -result {}
+ test focus-2.10 {TkFocusFilterEvent procedure, Enter events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ set result {}
+ focus .t.b1
+@@ -410,7 +410,7 @@
+ destroy .t2
+ } -result {}
+ test focus-2.15 {TkFocusFilterEvent procedure, Leave events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ set result {}
+ focus .t.b1
+@@ -426,7 +426,7 @@
+ return $result
+ } -result {{} .t.b1 {} {} {}}
+ test focus-2.16 {TkFocusFilterEvent procedure, Leave events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ focusClear
+ focus .t.b1
+@@ -440,7 +440,7 @@
+ out .t NotifyVirtual
+ }
+ test focus-2.17 {TkFocusFilterEvent procedure, Leave events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ focusClear
+ focus .t.b1
+@@ -508,7 +508,7 @@
+ destroy .t2
+ } -result {}
+ test focus-3.5 {SetFocus procedure, generating events} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ focusSetup
+ focusClear
+@@ -548,7 +548,7 @@
+
+
+ test focus-4.1 {TkFocusDeadWindow procedure} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ focusSetup
+ update
+@@ -599,7 +599,7 @@
+
+ # Test 5.1 fails (before and after update)
+ test focus-5.1 {ChangeXFocus procedure, don't take focus unless have it} -constraints {
+- unix testwrapper secureserver
++ knownBug
+ } -body {
+ setupbg
+ focusSetup
+@@ -622,7 +622,7 @@
+
+ fixfocus
+ test focus-6.1 {miscellaneous - embedded application in same process} -constraints {
+- unix testwrapper
++ knownBug
+ } -setup {
+ eval interp delete [interp slaves]
+ } -body {
+@@ -677,7 +677,7 @@
+ } -result {{.t.f2.e1 {} {focus out .t.f2.e1 NotifyNonlinear} {focus out .t.f2 NotifyNonlinearVirtual} {focus in .t.f1 NotifyNonlinear} | {focus out .t.f1 NotifyNonlinear} {focus in .t.f2 NotifyNonlinearVirtual} {focus in .t.f2.e1 NotifyNonlinear}} {{focus in . NotifyVirtual} {focus in .e1 NotifyAncestor} | {focus out .e1 NotifyAncestor} {focus out . NotifyVirtual}}}
+
+ test focus-6.2 {miscellaneous - embedded application in different process} -constraints {
+- unix testwrapper
++ knownBug
+ } -body {
+ setupbg
+ toplevel .t
+--- a/tests/font.test 2020-12-26 19:15:55.199228774 +0100
++++ b/tests/font.test 2020-12-26 19:18:05.414951407 +0100
+@@ -134,7 +134,7 @@
+ # not (objc > 3) so objPtr = NULL
+ lindex [font actual {-family times}] 0
+ } -result {-family}
+-test font-4.9 {font command: actual} -constraints {unix noExceed} -body {
++test font-4.9 {font command: actual} -constraints {knownBug} -body {
+ # (objc > 3) so objPtr = objv[3 + skip]
+ string tolower [font actual {-family times} -family]
+ } -result {times}
+@@ -399,7 +399,7 @@
+ # (tkfont == NULL)
+ font measure "\{xyz" abc
+ } -returnCodes error -result "font \"{xyz\" doesn't exist"
+-test font-9.5 {font command: measure} -body {
++test font-9.5 {font command: measure} -constraints knownBug -body {
+ # Tk_TextWidth()
+ expr {[font measure $fixed "abcdefg"] == [font measure $fixed "a"]*7 }
+ } -result 1
+@@ -450,7 +450,7 @@
+ # (Tcl_GetIndexFromObj() != TCL_OK)
+ font metrics $fixed -xyz
+ } -returnCodes error -result {bad metric "-xyz": must be -ascent, -descent, -linespace, or -fixed}
+-test font-10.9 {font command: metrics: get individual metrics} -body {
++test font-10.9 {font command: metrics: get individual metrics} -constraints knownBug -body {
+ font metrics $fixed -ascent
+ font metrics $fixed -descent
+ font metrics $fixed -linespace
+@@ -921,7 +921,7 @@
+ }
+ } -result {LucidaBright}
+ test font-21.6 {Tk_PostscriptFontName procedure: spaces} -constraints {
+- x11
++ knownBug
+ } -body {
+ psfontname "{new century schoolbook} 10"
+ } -result {NewCenturySchlbk-Roman}
+--- a/tests/main.test.old 2020-12-26 19:27:49.188791206 +0100
++++ b/tests/main.test 2020-12-26 19:28:40.782897366 +0100
+@@ -91,7 +91,7 @@
+ removeFile script
+ } -returnCodes ok -result {-enc utf-8 script}
+
+-test main-3.1 {Tk_ParseArgv: -help option} -constraints unix -body {
++test main-3.1 {Tk_ParseArgv: -help option} -constraints knownBug -body {
+ # Run only on unix as Win32 pops up native dialog
+ exec [interpreter] -help
+ } -returnCodes error -match glob -result {% application-specific initialization failed: Command-specific options:*}
+--- a/tests/pack.test 2020-12-26 19:29:47.742736743 +0100
++++ b/tests/pack.test 2020-12-26 19:30:50.867642152 +0100
+@@ -1551,7 +1551,7 @@
+
+
+ test pack-18.1 {unmap slaves when master unmapped} -constraints {
+- tempNotPc
++ knownBug
+ } -setup {
+ eval destroy [winfo child .pack]
+ } -body {
+@@ -1575,7 +1575,7 @@
+ update
+ lappend result [winfo ismapped .pack.a]
+ } -result {1 0 200 75 0 1}
+-test pack-18.2 {unmap slaves when master unmapped} -setup {
++test pack-18.2 {unmap slaves when master unmapped} -constraints knownBug -setup {
+ eval destroy [winfo child .pack]
+ } -body {
+
+--- a/tests/place.test 2020-12-26 20:20:26.508256229 +0100
++++ b/tests/place.test 2020-12-26 20:21:00.213678014 +0100
+@@ -259,7 +259,7 @@
+ } -result {30 60}
+
+
+-test place-8.1 {MasterStructureProc, mapping and unmapping slaves} -setup {
++test place-8.1 {MasterStructureProc, mapping and unmapping slaves} -constraints knownBug -setup {
+ place forget .t.f2
+ place forget .t.f
+ } -body {
+@@ -276,7 +276,7 @@
+ update
+ lappend result [winfo ismapped .t.f2]
+ } -result {1 0 40 30 0 1}
+-test place-8.2 {MasterStructureProc, mapping and unmapping slaves} -setup {
++test place-8.2 {MasterStructureProc, mapping and unmapping slaves} -constraints knownBug -setup {
+ place forget .t.f2
+ place forget .t.f
+ } -body {
+--- a/tests/scrollbar.test 2020-12-26 20:24:21.356505305 +0100
++++ b/tests/scrollbar.test 2020-12-26 20:26:32.214409209 +0100
+@@ -270,15 +270,9 @@
+ format {%.6g} [.s fraction 4 21]
+ } [format %.6g [expr {(21.0 - ([winfo height .s] - [getTroughSize .s])/2.0) \
+ /([getTroughSize .s] - 1)}]]
+-test scrollbar-3.36 {ScrollbarWidgetCmd procedure, "fraction" option} x11 {
+- format {%.6g} [.s fraction 4 179]
+-} {1}
+ test scrollbar-3.37 {ScrollbarWidgetCmd procedure, "fraction" option} {testmetrics} {
+ format {%.6g} [.s fraction 4 [expr {200 - [testmetrics cyvscroll .s]}]]
+ } {1}
+-test scrollbar-3.38 {ScrollbarWidgetCmd procedure, "fraction" option} x11 {
+- format {%.6g} [.s fraction 4 178]
+-} {0.993711}
+ test scrollbar-3.39 {ScrollbarWidgetCmd procedure, "fraction" option} {testmetrics win} {
+ expr {
+ [format {%.6g} [.s fraction 4 [expr {200 - [testmetrics cyvscroll .s] - 2}]]]
+@@ -491,9 +485,6 @@
+ # macOS scrollbars have no arrows nowadays
+ .s identify 8 4
+ } {trough1}
+-test scrollbar-6.12.1 {ScrollbarPosition procedure} x11 {
+- .s identify 8 19
+-} {arrow1}
+ test scrollbar-6.12.2 {ScrollbarPosition procedure} aqua {
+ # macOS scrollbars have no arrows nowadays
+ .s identify 8 19
+@@ -549,9 +540,6 @@
+ .s identify [expr {[winfo width .s] / 2}] [expr {[winfo height .s]
+ - [testmetrics cyvscroll .s] - 1}]
+ } {trough2}
+-test scrollbar-6.29.1 {ScrollbarPosition procedure} x11 {
+- .s identify 8 180
+-} {arrow2}
+ test scrollbar-6.29.2 {ScrollbarPosition procedure} aqua {
+ # macOS scrollbars have no arrows nowadays
+ .s identify 8 180
+@@ -573,9 +561,6 @@
+ test scrollbar-6.34 {ScrollbarPosition procedure} unix {
+ .s identify 4 100
+ } {trough2}
+-test scrollbar-6.35 {ScrollbarPosition procedure} unix {
+- .s identify 18 100
+-} {trough2}
+ test scrollbar-6.37 {ScrollbarPosition procedure} win {
+ .s identify 0 100
+ } {trough2}
+@@ -612,9 +597,6 @@
+ .t.s identify [expr {int(.4 / [.t.s delta 1 0]) + [testmetrics cxhscroll .t.s]
+ - 1}] [expr {[winfo height .t.s] / 2}]
+ } {slider}
+-test scrollbar-6.44 {ScrollbarPosition procedure} unix {
+- .t.s identify 100 18
+-} {trough2}
+ test scrollbar-6.46 {ScrollbarPosition procedure} win {
+ .t.s identify 100 [expr {[winfo height .t.s] - 1}]
+ } {trough2}
+--- a/tests/send.test 2020-12-26 22:31:48.460395767 +0100
++++ b/tests/send.test 2020-12-26 22:32:55.577225240 +0100
+@@ -522,10 +522,6 @@
+ set x
+ } {1 {target application died}}
+
+-test send-11.1 {AppendPropCarefully and AppendErrorProc procedures} {secureserver testsend} {
+- testsend prop root InterpRegistry "0x21447 dummy\n"
+- list [catch {send dummy foo} msg] $msg
+-} {1 {no application named "dummy"}}
+ test send-11.2 {AppendPropCarefully and AppendErrorProc procedures} {secureserver testsend} {
+ testsend prop comm Comm "c\n-r0x123 44\n-n tktest\n-s concat a b c\n"
+ update
+--- a/tests/text.test 2020-12-26 22:33:20.794786722 +0100
++++ b/tests/text.test 2020-12-26 22:35:03.560000413 +0100
+@@ -6682,7 +6682,7 @@
+ } -cleanup {
+ destroy .t
+ } -result {no_<<Selection>>_event_fired}
+-test text-27.15d {<<Selection>> virtual event on <Delete> with cursor inside selection} -body {
++test text-27.15d {<<Selection>> virtual event on <Delete> with cursor inside selection} -constraints knownBug -body {
+ pack [text .t]
+ .t insert end "There is a selection in this text widget,\n"
+ .t insert end "and it will be impacted by the <Delete> event received.\n"
+--- a/tests/unixEmbed.test 2020-12-26 22:51:50.192506259 +0100
++++ b/tests/unixEmbed.test 2020-12-26 22:52:21.590963386 +0100
+@@ -1086,7 +1086,7 @@
+ } -result {{} {{key b}}}
+
+ test unixEmbed-8.1 {TkpClaimFocus procedure} -constraints {
+- unix notAqua
++ knownBug
+ } -setup {
+ deleteWindows
+ } -body {
+--- a/tests/textWind.test 2020-12-26 23:02:18.379690140 +0100
++++ b/tests/textWind.test 2020-12-26 23:02:51.948113638 +0100
+@@ -790,7 +790,7 @@
+ {{can't embed .t relative to .t}} \
+ [list [expr {$padx+5*$fixedWidth}] [expr {$pady+($fixedHeight/2)}] 0 0]]
+
+-test textWind-10.7 {EmbWinLayoutProc procedure, error in creating window} -setup {
++test textWind-10.7 {EmbWinLayoutProc procedure, error in creating window} -constraints knownBug -setup {
+ .t delete 1.0 end
+ destroy .t2
+ proc bgerror args {
+--- a/tests/winWm.test 2020-12-26 23:03:20.701619782 +0100
++++ b/tests/winWm.test 2020-12-26 23:03:46.991168197 +0100
+@@ -532,7 +532,7 @@
+ destroy .tx .t .sd
+ } -result {ok}
+
+-test winWm-9.2 "check wm forget for unmapped parent (#3205464,#2967911)" -setup {
++test winWm-9.2 "check wm forget for unmapped parent (#3205464,#2967911)" -constraints knownBug -setup {
+ destroy .t
+ toplevel .t
+ set winwm92 {}
+--- a/tests/winfo.test 2020-12-26 23:04:34.411353552 +0100
++++ b/tests/winfo.test 2020-12-26 23:05:25.199480886 +0100
+@@ -291,7 +291,7 @@
+ test winfo-9.3 {"winfo viewable" command} -body {
+ winfo viewable .
+ } -result {1}
+-test winfo-9.4 {"winfo viewable" command} -body {
++test winfo-9.4 {"winfo viewable" command} -constraints knownBug -body {
+ wm iconify .
+ winfo viewable .
+ } -cleanup {
+@@ -320,7 +320,7 @@
+ } -cleanup {
+ deleteWindows
+ } -result {0 0}
+-test winfo-9.7 {"winfo viewable" command} -setup {
++test winfo-9.7 {"winfo viewable" command} -constraints knownBug -setup {
+ deleteWindows
+ } -body {
+ frame .f1 -width 100 -height 100 -relief raised -bd 2
+--- a/tests/wm.test 2020-12-26 23:06:24.946454094 +0100
++++ b/tests/wm.test 2020-12-26 23:09:41.055082358 +0100
+@@ -805,7 +805,7 @@
+ destroy .t2 .r.f
+ } -result {can't iconify .t2: it is an embedded window}
+
+-test wm-iconify-3.1 {iconify behavior} -body {
++test wm-iconify-3.1 {iconify behavior} -constraints knownBug -body {
+ toplevel .t2
+ wm geom .t2 -0+0
+ update
+@@ -1413,7 +1413,7 @@
+
+ deleteWindows
+
+-test wm-stackorder-3.1 {unmapped toplevel} -body {
++test wm-stackorder-3.1 {unmapped toplevel} -constraints knownBug -body {
+ toplevel .t1 ; update
+ toplevel .t2 ; update
+ wm iconify .t1
+@@ -1523,7 +1523,7 @@
+ destroy .t
+ } -result {.t .}
+ test wm-stackorder-5.2 {A normal toplevel can't be raised above an \
+- overrideredirect toplevel on unix} -constraints x11 -body {
++ overrideredirect toplevel on unix} -constraints knownBug -body {
+ toplevel .t
+ tkwait visibility .t
+ wm overrideredirect .t 1
+@@ -1722,7 +1722,7 @@
+ } -result {withdrawn 0 normal 1}
+
+ test wm-transient-4.1 {transient toplevel is withdrawn
+- when mapped if master is iconic} -body {
++ when mapped if master is iconic} -constraints knownBug -body {
+ toplevel .master
+ wm iconify .master
+ update
+@@ -1734,7 +1734,7 @@
+ deleteWindows
+ } -result {withdrawn 0}
+ test wm-transient-4.2 {already mapped transient toplevel
+- is withdrawn if master is iconic} -body {
++ is withdrawn if master is iconic} -constraints knownBug -body {
+ toplevel .master
+ raiseDelay
+ wm iconify .master
+@@ -1748,7 +1748,7 @@
+ deleteWindows
+ } -result {withdrawn 0}
+ test wm-transient-4.3 {iconify/deiconify on the master
+- does a withdraw/deiconify on the transient} -setup {
++ does a withdraw/deiconify on the transient} -constraints knownBug -setup {
+ set results [list]
+ } -body {
+ toplevel .master
+@@ -1924,7 +1924,7 @@
+ deleteWindows
+ }
+
+-test wm-transient-8.1 {transient to withdrawn window, Bug 1163496} -setup {
++test wm-transient-8.1 {transient to withdrawn window, Bug 1163496} -constraints knownBug -setup {
+ deleteWindows
+ set result {}
+ } -body {
+@@ -2001,7 +2001,7 @@
+ } -cleanup {
+ deleteWindows
+ } -result {iconic}
+-test wm-state-2.8 {state change after map} -body {
++test wm-state-2.8 {state change after map} -constraints knownBug -body {
+ toplevel .t
+ update
+ wm state .t iconic
+@@ -2009,7 +2009,7 @@
+ } -cleanup {
+ deleteWindows
+ } -result {iconic}
+-test wm-state-2.9 {state change after map} -body {
++test wm-state-2.9 {state change after map} -constraints knownBug -body {
+ toplevel .t
+ update
+ wm iconify .t
diff --git a/dev-lang/tk/tk-8.6.10.ebuild b/dev-lang/tk/tk-8.6.10.ebuild
new file mode 100644
index 000000000000..ba3a658ca1b7
--- /dev/null
+++ b/dev-lang/tk/tk-8.6.10.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multilib-minimal prefix toolchain-funcs virtualx
+
+MY_P="${PN}${PV/_beta/b}"
+
+DESCRIPTION="Tk Widget Set"
+HOMEPAGE="http://www.tcl.tk/"
+SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz"
+
+LICENSE="tcltk"
+SLOT="0/8.6"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug +threads truetype aqua xscreensaver"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !aqua? (
+ >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}]
+ truetype? ( >=x11-libs/libXft-2.3.1-r1[${MULTILIB_USEDEP}] )
+ xscreensaver? ( >=x11-libs/libXScrnSaver-1.2.2-r1[${MULTILIB_USEDEP}] )
+ )
+ ~dev-lang/tcl-$(ver_cut 1-3):0=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ !aqua? ( x11-base/xorg-proto )"
+
+# Not bumped to 8.6
+#RESTRICT=test
+
+SPARENT="${WORKDIR}/${PN}$(ver_cut 1-3 ${PV})"
+S="${SPARENT}"/unix
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${PN}-8.4.15-aqua.patch
+ "${FILESDIR}"/${PN}-8.6.9-conf.patch # Bug 125971
+ "${FILESDIR}"/${P}-test.patch
+)
+
+src_prepare() {
+ find \
+ "${SPARENT}"/compat/* \
+ -delete || die
+
+ pushd "${SPARENT}" &>/dev/null || die
+ default
+
+ # failing test too big to be adapted
+ rm tests/textDisp.test \
+ tests/unixFont.test \
+ tests/unixWm.test \
+ || die
+
+ popd &>/dev/null || die
+ eprefixify Makefile.in
+
+ # Make sure we use the right pkg-config, and link against fontconfig
+ # (since the code base uses Fc* functions).
+ sed \
+ -e 's/FT_New_Face/XftFontOpen/g' \
+ -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
+ -e 's:xft freetype2:xft freetype2 fontconfig:' \
+ -i configure.in || die
+ rm configure || die
+
+ tc-export CC
+
+ sed \
+ -e '/chmod/s:555:755:g' \
+ -i Makefile.in || die
+
+ sed \
+ -e 's:-O[2s]\?::g' \
+ -i tcl.m4 || die
+
+ mv configure.{in,ac} || die
+
+ eautoconf
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ if tc-is-cross-compiler ; then
+ export ac_cv_func_strtod=yes
+ export tcl_cv_strtod_buggy=1
+ fi
+
+ local mylibdir=$(get_libdir)
+
+ econf \
+ --with-tcl="${EPREFIX}/usr/${mylibdir}" \
+ $(use_enable threads) \
+ $(use_enable aqua) \
+ $(use_enable truetype xft) \
+ $(use_enable xscreensaver xss) \
+ $(use_enable debug symbols)
+}
+
+multilib_src_test() {
+ virtx emake test
+}
+
+multilib_src_install() {
+ #short version number
+ local v1=$(ver_cut 1-2)
+ local mylibdir=$(get_libdir)
+
+ S= default
+
+ # normalize $S path, bug #280766 (pkgcore)
+ local nS="$(cd "${S}"; pwd)"
+
+ # fix the tkConfig.sh to eliminate refs to the build directory
+ # and drop unnecessary -L inclusion to default system libdir
+
+ sed \
+ -e "/^TK_BUILD_LIB_SPEC=/s:-L${S}-\w*\.\w* ::g" \
+ -e "/^TK_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TK_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tk${v1}/include:g" \
+ -e "/^TK_BUILD_STUB_LIB_SPEC=/s:-L${S}-\w*\.\w* *::g" \
+ -e "/^TK_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TK_BUILD_STUB_LIB_PATH=/s:${S}-\w*\.\w*:${EPREFIX}/usr/${mylibdir}:g" \
+ -e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \
+ -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
+ if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ sed \
+ -e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
+ -e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
+ -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
+ fi
+
+ # install private headers
+ insinto /usr/${mylibdir}/tk${v1}/include/unix
+ doins "${S}"/*.h
+ insinto /usr/${mylibdir}/tk${v1}/include/generic
+ doins "${SPARENT}"/generic/*.h
+ rm -f "${ED}"/usr/${mylibdir}/tk${v1}/include/generic/{tk,tkDecls,tkPlatDecls}.h || die
+
+ # install symlink for libraries
+ dosym libtk${v1}$(get_libname) /usr/${mylibdir}/libtk$(get_libname)
+ dosym libtkstub${v1}.a /usr/${mylibdir}/libtkstub.a
+
+ if multilib_is_native_abi; then
+ dosym wish${v1} /usr/bin/wish
+ dodoc "${SPARENT}"/{ChangeLog*,README.md,changes}
+ fi
+}