summaryrefslogtreecommitdiff
path: root/dev-tcltk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-08-25 10:45:55 +0100
commit3cf7c3ef441822c889356fd1812ebf2944a59851 (patch)
treec513fe68548b40365c1c2ebfe35c58ad431cdd77 /dev-tcltk
parent05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff)
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-tcltk')
-rw-r--r--dev-tcltk/Manifest.gzbin5819 -> 5814 bytes
-rw-r--r--dev-tcltk/snack/Manifest3
-rw-r--r--dev-tcltk/snack/files/snack2.2.10-seektell-fix.patch12
-rw-r--r--dev-tcltk/snack/files/tcl-snack-2.2.10-python3.patch385
-rw-r--r--dev-tcltk/snack/snack-2.2.10-r9.ebuild120
-rw-r--r--dev-tcltk/tclpython/Manifest2
-rw-r--r--dev-tcltk/tclpython/tclpython-5.0.ebuild2
-rw-r--r--dev-tcltk/togl/Manifest3
-rw-r--r--dev-tcltk/togl/togl-2.0-r2.ebuild46
-rw-r--r--dev-tcltk/togl/togl-2.0-r3.ebuild2
10 files changed, 524 insertions, 51 deletions
diff --git a/dev-tcltk/Manifest.gz b/dev-tcltk/Manifest.gz
index 631bccc365ff..ac9d716f1d49 100644
--- a/dev-tcltk/Manifest.gz
+++ b/dev-tcltk/Manifest.gz
Binary files differ
diff --git a/dev-tcltk/snack/Manifest b/dev-tcltk/snack/Manifest
index 64432f7d096d..7be1e8253ceb 100644
--- a/dev-tcltk/snack/Manifest
+++ b/dev-tcltk/snack/Manifest
@@ -3,6 +3,9 @@ AUX snack-2.2.10-CVE-2012-6303-fix.patch 778 BLAKE2B f6f34248825da751e81f4079d70
AUX snack-2.2.10-darwin.patch 1108 BLAKE2B 862cd6a36363b45c9a27af08fa4bf347fc3e1a8fbbf972b72dfb4faf4cb135365fbe06377a20a2b77e02126e27de723b642067d8ccedb9947b9aa873069152ce SHA512 0d82270d830c8b7d15dcbead05d80c15666d1bac164f26c045859f7f4dc4c098961b48272ecd0b059a1b36ba8d560c563fe8e40add822f311026faf5f7eeaf0a
AUX snack-2.2.10-debian-args.patch 4593 BLAKE2B bebc3c5cab2fea2b3fdc1c1c1e419855e49f2457d2014b2aa0f8236a637489e8b79fdac50d0b3369b576eea9a0bb130d46854c79939e6d93711c520e83001810 SHA512 686218bb22c3c8b53dcb18e10025f1a602c06fe11989a6e46dc02022d581fd281c03d2cca0938c2bad5947f8819e3c631f90f0439a8f274742bef80755dbd20e
AUX snack-2.2.10-test.patch 8755 BLAKE2B 942832c5c80ef1ab338829a21f296f759dd8a055da58b833e80f6f18d1e31f326b8dcfa85e96248afd24c3e9e80be1612a210a16c79630fe57e4a0a8b048f371 SHA512 3ffe1965b033fa77267c67c6222599c9a3fb72012886f3382c2940bb778b606fbe74a80ce6a4e77e26a95b1fb85e191186689eec8bcccfb5f08e059a97dc5a26
+AUX snack2.2.10-seektell-fix.patch 496 BLAKE2B a2e4e782788054c047596bd989241b9ecea3eeb2984c050888aced8289e77f30692386bcc437679bb5cc7a46f1616cbb3f4f64de017c343bcce2241b016d0cd5 SHA512 3e472dc7603426d35b23714435b3a8bfb6d54326eb1eaa54d8b79b4710035b3fed4e1f6a85ebad632950222c5cd55ac917dcb8cf2e87d0baa36124f8a3361fa8
+AUX tcl-snack-2.2.10-python3.patch 12145 BLAKE2B eb33937789e0eab1316fdfcd472b5cf701a4072e498052cb2889e8c9e5a4502f193f386b83c96a2e98efcfca3dfeb389414e1b924b677ef68edfafe0e706048f SHA512 3480d83824e1d7e8250947d6f9d5a38704b302491980b7e8ad46a4d6790e3bdf9588b1d63048a9a5ed081c44b8f6c1dc42e79d3ad543f473b5469c711dc60394
DIST snack2.2.10.tar.gz 1798252 BLAKE2B e27b8e7d6082cdcfc06e7eea5ab832fb78ba104de9e56a69c6c9cd688183f7d4c6bdb974e4d5d2bf5ef2bc5518a913ddf17c90db8d10cef4dbee533307cc7718 SHA512 c17ad332fa4f3ded006b97ceca85cada079e4c7cd933768b289c13dadca1b8803fccaf709ec2def5af4abe92c307f25597ebfa6f94df2d681e40815cd7eccb9b
EBUILD snack-2.2.10-r8.ebuild 2141 BLAKE2B 9bb900a57a9549028459cafaf0973908bc2ddbd93d827c683b2942c38090fe866279ed713f21f328686254dc4f61978503405e3097a292c5f168b13a617c48c5 SHA512 3e557be876334324fb0a610cbe3013c648e4ebae380010460c08129c2e97447c4ae2c8c626033e691800156f7538521f798d5ce4167831f00d64f94f67ae0d04
+EBUILD snack-2.2.10-r9.ebuild 2524 BLAKE2B 7e139f022c52863b2939bb23f9aca9e1fc4789754648575e3a572f7618633268066d27fdaf315566fd14ca499953850df1dcbb8f54a222af6f9de47326086456 SHA512 6971bdc8e7319ce9ec60161e6310f9932eb1a66cfd39c75700b71536b1d342d0490a96f8ca6f662b4417873f5cb7831953ff80afb58edb79a6c04a1b58dc198f
MISC metadata.xml 259 BLAKE2B 174c3c7b4292350e73a38b09d473abba172ee6e82ca1b5bcb6815a9927609a7fbac063a19498e7c5deaa32530d10d8c493760ff5b6e489f821410cfeccadf566 SHA512 5943f2c9dc9a55862bae4c01be9e1f27304ffc1ce48d67341b4a19793c0bb11fe3d1a419af924ac360aeeafbce28018971602019a559a8a6c5939e05e3567639
diff --git a/dev-tcltk/snack/files/snack2.2.10-seektell-fix.patch b/dev-tcltk/snack/files/snack2.2.10-seektell-fix.patch
new file mode 100644
index 000000000000..3519b12c85d0
--- /dev/null
+++ b/dev-tcltk/snack/files/snack2.2.10-seektell-fix.patch
@@ -0,0 +1,12 @@
+diff -up snack2.2.10/generic/jkSound.h.seektell snack2.2.10/generic/jkSound.h
+--- snack2.2.10/generic/jkSound.h.seektell 2019-07-30 16:01:37.310992628 -0400
++++ snack2.2.10/generic/jkSound.h 2019-07-30 16:02:29.859840865 -0400
+@@ -603,7 +603,7 @@ extern void Snack_RemoveOptions(int objc
+
+ extern void SnackPauseAudio();
+
+-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4
++#if 1 || TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 4
+ #define TCL_SEEK Tcl_Seek
+ #define TCL_TELL Tcl_Tell
+ #else
diff --git a/dev-tcltk/snack/files/tcl-snack-2.2.10-python3.patch b/dev-tcltk/snack/files/tcl-snack-2.2.10-python3.patch
new file mode 100644
index 000000000000..63c13885b637
--- /dev/null
+++ b/dev-tcltk/snack/files/tcl-snack-2.2.10-python3.patch
@@ -0,0 +1,385 @@
+diff -up snack2.2.10/demos/python/dataCmd.py.py3 snack2.2.10/demos/python/dataCmd.py
+--- snack2.2.10/demos/python/dataCmd.py.py3 2018-10-04 15:46:14.974999306 -0400
++++ snack2.2.10/demos/python/dataCmd.py 2018-10-04 15:46:50.295216897 -0400
+@@ -1,7 +1,12 @@
+ #! /usr/bin/env python
+ # -*- coding: iso-8859-1 -*-
+
+-import Tkinter
++import sys
++if sys.version_info[0] == 2:
++ import Tkinter
++else:
++ import tkinter as Tkinter
++
+ import tkSnack
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/echo.py.py3 snack2.2.10/demos/python/echo.py
+--- snack2.2.10/demos/python/echo.py.py3 2018-10-04 15:46:59.535012224 -0400
++++ snack2.2.10/demos/python/echo.py 2018-10-04 15:47:37.093180236 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/generator.py.py3 snack2.2.10/demos/python/generator.py
+--- snack2.2.10/demos/python/generator.py.py3 2018-10-04 15:47:47.332953411 -0400
++++ snack2.2.10/demos/python/generator.py 2018-10-04 15:48:06.435530261 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/MinSect.py.py3 snack2.2.10/demos/python/MinSect.py
+--- snack2.2.10/demos/python/MinSect.py.py3 2018-10-04 15:48:16.444308540 -0400
++++ snack2.2.10/demos/python/MinSect.py 2018-10-04 15:48:45.907655882 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/MinSpeg.py.py3 snack2.2.10/demos/python/MinSpeg.py
+--- snack2.2.10/demos/python/MinSpeg.py.py3 2018-10-04 15:48:57.586397173 -0400
++++ snack2.2.10/demos/python/MinSpeg.py 2018-10-04 15:49:16.562976809 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/MinWave.py.py3 snack2.2.10/demos/python/MinWave.py
+--- snack2.2.10/demos/python/MinWave.py.py3 2018-10-04 15:49:26.578754945 -0400
++++ snack2.2.10/demos/python/MinWave.py 2018-10-04 15:49:39.057478518 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/mixplay.py.py3 snack2.2.10/demos/python/mixplay.py
+--- snack2.2.10/demos/python/mixplay.py.py3 2018-10-04 15:49:49.602244931 -0400
++++ snack2.2.10/demos/python/mixplay.py 2018-10-04 15:50:04.440916236 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/notescale.py.py3 snack2.2.10/demos/python/notescale.py
+--- snack2.2.10/demos/python/notescale.py.py3 2018-10-04 15:50:13.624712803 -0400
++++ snack2.2.10/demos/python/notescale.py 2018-10-04 15:50:30.640335876 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/oggplay.py.py3 snack2.2.10/demos/python/oggplay.py
+--- snack2.2.10/demos/python/oggplay.py.py3 2018-10-04 15:50:40.330121229 -0400
++++ snack2.2.10/demos/python/oggplay.py 2018-10-04 15:51:35.127907369 -0400
+@@ -5,8 +5,13 @@
+ # Note: this script will also play audio files in any other format supported
+ # by tkSnack
+
++from __future__ import print_function
+ import sys
+-from Tkinter import *
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ initializeSnack(Tkinter.Tk())
+@@ -19,4 +24,4 @@ if sys.argv[1:]:
+ snd = Sound(file=sys.argv[1])
+ snd.play(blocking=1)
+ else:
+- print "Usage: oggplay.py file.ogg"
++ print("Usage: oggplay.py file.ogg")
+diff -up snack2.2.10/demos/python/playnotes.py.py3 snack2.2.10/demos/python/playnotes.py
+--- snack2.2.10/demos/python/playnotes.py.py3 2018-10-04 15:51:44.431701277 -0400
++++ snack2.2.10/demos/python/playnotes.py 2018-10-04 15:52:01.623320444 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/polarspec.py.py3 snack2.2.10/demos/python/polarspec.py
+--- snack2.2.10/demos/python/polarspec.py.py3 2018-10-04 15:52:11.479102123 -0400
++++ snack2.2.10/demos/python/polarspec.py 2018-10-04 15:52:24.654810263 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+ from math import *
+
+diff -up snack2.2.10/demos/python/spectrogram.py.py3 snack2.2.10/demos/python/spectrogram.py
+--- snack2.2.10/demos/python/spectrogram.py.py3 2018-10-04 15:52:35.462570856 -0400
++++ snack2.2.10/demos/python/spectrogram.py 2018-10-04 15:52:49.101268729 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/demos/python/sphere.py.py3 snack2.2.10/demos/python/sphere.py
+--- snack2.2.10/demos/python/sphere.py.py3 2018-10-04 15:52:57.679078718 -0400
++++ snack2.2.10/demos/python/sphere.py 2018-10-04 15:53:36.557217499 -0400
+@@ -1,6 +1,12 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++from __future__ import print_function
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+@@ -15,11 +21,11 @@ snd = Sound()
+
+ file = 'test.sph'
+
+-print 'reading sphere file \'%s\'' % file
++print('reading sphere file \'%s\'' % file)
+ snd.read(file)
+
+-print 'playing file \'%s\'' % file
++print('playing file \'%s\'' % file)
+ snd.play(blocking=1)
+
+-print 'writing wav file \'%s\'' % file
++print('writing wav file \'%s\'' % file)
+ snd.write('new.wav')
+diff -up snack2.2.10/demos/python/tkSnack.py.py3 snack2.2.10/demos/python/tkSnack.py
+--- snack2.2.10/demos/python/tkSnack.py.py3 2018-10-04 15:53:45.815012427 -0400
++++ snack2.2.10/demos/python/tkSnack.py 2018-10-04 15:56:03.873998084 -0400
+@@ -7,8 +7,14 @@ by Kevin Russell and Kare Sjolander
+ last modified: Mar 28, 2003
+ """
+
+-import Tkinter
+-import types
++from __future__ import print_function
++
++import sys
++if sys.version_info[0] == 2:
++ import Tkinter
++else:
++ import tkinter as Tkinter
++
+ import string
+
+ Tkroot = None
+@@ -20,7 +26,8 @@ def initializeSnack(newroot):
+ Tkroot = newroot
+ Tkroot.tk.call('eval', 'package require snack')
+ Tkroot.tk.call('snack::createIcons')
+- Tkroot.tk.call('snack::setUseOldObjAPI')
++ if sys.version_info[0] == 2:
++ Tkroot.tk.call('snack::setUseOldObjAPI')
+ audio = AudioControllerSingleton()
+ mixer = MixerControllerSingleton()
+
+@@ -92,7 +99,7 @@ class TkObject:
+ self.tk.call(self.name, 'configure')):
+ cnf[x[0][1:]] = (x[0][1:],) + x[1:]
+ return cnf
+- if type(cnf) is types.StringType:
++ if isinstance(cnf, str):
+ x = self.tk.split(self.tk.call(self.name, 'configure', '-'+cnf))
+ return (x[0][1:],) + x[1:]
+ self.tk.call((self.name, 'configure') + self._options(cnf))
+@@ -124,8 +131,7 @@ class Sound (TkObject):
+ if Tkroot:
+ master = Tkroot
+ else:
+- raise RuntimeError, \
+- 'Tk not intialized or not registered with Snack'
++ raise RuntimeError('Tk not intialized or not registered with Snack')
+ self.tk = master.tk
+ if not name:
+ self.name = self.tk.call(('sound',) + self._options(kw))
+@@ -409,8 +415,7 @@ class Filter(TkObject):
+ if Tkroot:
+ master = Tkroot
+ else:
+- raise RuntimeError, \
+- 'Tk not intialized or not registered with Snack'
++ raise RuntimeError('Tk not intialized or not registered with Snack'
+ self.tk = master.tk
+ self.name = self.tk.call(('snack::filter', name) + args +
+ self._options(kw))
+@@ -537,7 +542,7 @@ class SoundFrame(Tkinter.Frame):
+ self.sound.record()
+
+ def info(self):
+- print self.sound.info()
++ print(self.sound.info())
+
+ def createSpectrogram(canvas, *args, **kw):
+ """Draws a spectrogram of a sound on canvas."""
+diff -up snack2.2.10/demos/python/widget.py.py3 snack2.2.10/demos/python/widget.py
+--- snack2.2.10/demos/python/widget.py.py3 2018-10-04 15:56:11.263837964 -0400
++++ snack2.2.10/demos/python/widget.py 2018-10-04 15:56:28.360467507 -0400
+@@ -1,6 +1,11 @@
+ #! /usr/bin/env python
+
+-from Tkinter import *
++import sys
++if sys.version_info[0] == 2:
++ from Tkinter import *
++else:
++ from tkinter import *
++
+ from tkSnack import *
+
+ root = Tkinter.Tk()
+diff -up snack2.2.10/python/tkSnack.py.py3 snack2.2.10/python/tkSnack.py
+--- snack2.2.10/python/tkSnack.py.py3 2018-10-04 15:56:37.537268660 -0400
++++ snack2.2.10/python/tkSnack.py 2018-10-04 15:58:47.358455670 -0400
+@@ -7,8 +7,14 @@ by Kevin Russell and Kare Sjolander
+ last modified: Mar 28, 2003
+ """
+
+-import Tkinter
+-import types
++from __future__ import print_function
++
++import sys
++if sys.version_info[0] == 2:
++ import Tkinter
++else:
++ import tkinter as Tkinter
++
+ import string
+
+ Tkroot = None
+@@ -20,7 +26,8 @@ def initializeSnack(newroot):
+ Tkroot = newroot
+ Tkroot.tk.call('eval', 'package require snack')
+ Tkroot.tk.call('snack::createIcons')
+- Tkroot.tk.call('snack::setUseOldObjAPI')
++ if sys.version_info[0] == 2:
++ Tkroot.tk.call('snack::setUseOldObjAPI')
+ audio = AudioControllerSingleton()
+ mixer = MixerControllerSingleton()
+
+@@ -92,7 +99,7 @@ class TkObject:
+ self.tk.call(self.name, 'configure')):
+ cnf[x[0][1:]] = (x[0][1:],) + x[1:]
+ return cnf
+- if type(cnf) is types.StringType:
++ if isinstance(cnf, str):
+ x = self.tk.split(self.tk.call(self.name, 'configure', '-'+cnf))
+ return (x[0][1:],) + x[1:]
+ self.tk.call((self.name, 'configure') + self._options(cnf))
+@@ -124,8 +131,7 @@ class Sound (TkObject):
+ if Tkroot:
+ master = Tkroot
+ else:
+- raise RuntimeError, \
+- 'Tk not intialized or not registered with Snack'
++ raise RuntimeError('Tk not intialized or not registered with Snack')
+ self.tk = master.tk
+ if not name:
+ self.name = self.tk.call(('sound',) + self._options(kw))
+@@ -409,8 +415,7 @@ class Filter(TkObject):
+ if Tkroot:
+ master = Tkroot
+ else:
+- raise RuntimeError, \
+- 'Tk not intialized or not registered with Snack'
++ raise RuntimeError('Tk not intialized or not registered with Snack')
+ self.tk = master.tk
+ self.name = self.tk.call(('snack::filter', name) + args +
+ self._options(kw))
+@@ -537,7 +542,7 @@ class SoundFrame(Tkinter.Frame):
+ self.sound.record()
+
+ def info(self):
+- print self.sound.info()
++ print(self.sound.info())
+
+ def createSpectrogram(canvas, *args, **kw):
+ """Draws a spectrogram of a sound on canvas."""
diff --git a/dev-tcltk/snack/snack-2.2.10-r9.ebuild b/dev-tcltk/snack/snack-2.2.10-r9.ebuild
new file mode 100644
index 000000000000..7bdbc9d8be2d
--- /dev/null
+++ b/dev-tcltk/snack/snack-2.2.10-r9.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_7} )
+DISTUTILS_USE_SETUPTOOLS=no
+DISTUTILS_OPTIONAL=yes
+
+inherit autotools distutils-r1 multilib toolchain-funcs virtualx
+
+DESCRIPTION="The Snack Sound Toolkit (Tcl)"
+HOMEPAGE="http://www.speech.kth.se/snack/"
+SRC_URI="http://www.speech.kth.se/snack/dist/${PN}${PV}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+SLOT="0"
+IUSE="alsa examples python vorbis"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ alsa? ( media-libs/alsa-lib )
+ python? ( ${PYTHON_DEPS} )
+ vorbis? ( media-libs/libvorbis )"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+S="${WORKDIR}/${PN}${PV}/unix"
+
+PATCHES=(
+ "${FILESDIR}"/alsa-undef-sym.patch
+ "${FILESDIR}"/${P}-CVE-2012-6303-fix.patch
+ "${FILESDIR}"/${P}-debian-args.patch
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${PN}${PV}-seektell-fix.patch
+ "${FILESDIR}"/tcl-${P}-python3.patch
+)
+
+HTML_DOCS="${WORKDIR}/${PN}${PV}/doc/*"
+
+src_prepare() {
+ # adds -install_name (soname on Darwin)
+ [[ ${CHOST} == *-darwin* ]] && PATCHES+=( "${FILESDIR}"/${P}-darwin.patch )
+
+ sed \
+ -e "s:ar cr:$(tc-getAR) cr:g" \
+ -e "s|-O|${CFLAGS}|g" \
+ -i Makefile.in || die
+
+ cd ..
+
+ default
+
+ sed \
+ -e 's|^\(#define roundf(.*\)|//\1|' \
+ -i generic/jkFormatMP3.c || die
+ rm tests/{play,record}.test || die
+ if use python; then
+ cd python
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ local myconf=""
+
+ use alsa && myconf+=" --enable-alsa"
+
+ if use vorbis; then
+ myconf+=" --with-ogg-include="${EPREFIX}"/usr/include"
+ myconf+=" --with-ogg-lib="${EPREFIX}"/usr/$(get_libdir)"
+ fi
+
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --includedir="${EPREFIX}"/usr/include \
+ --with-tcl="${EPREFIX}"/usr/$(get_libdir) \
+ --with-tk="${EPREFIX}"/usr/$(get_libdir) \
+ $myconf
+ if use python; then
+ cd ../python
+ distutils-r1_src_configure
+ fi
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd ../python
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ TCLLIBPATH=${S} virtx default | tee snack.testResult
+ grep -q FAILED snack.testResult && die
+}
+
+src_install() {
+ default
+
+ if use python ; then
+ cd "${S}"/../python || die
+ distutils-r1_src_install
+ fi
+
+ cd "${S}"/.. || die
+
+ if use examples ; then
+ docinto examples
+ sed -i -e 's/wish[0-9.]+/wish/g' demos/tcl/* || die
+ dodoc -r demos/tcl
+
+ use python && dodoc -r demos/python
+ fi
+}
diff --git a/dev-tcltk/tclpython/Manifest b/dev-tcltk/tclpython/Manifest
index 6c96181c84a2..6e45c02652fb 100644
--- a/dev-tcltk/tclpython/Manifest
+++ b/dev-tcltk/tclpython/Manifest
@@ -3,5 +3,5 @@ AUX tclpython-5.0-gentoo.patch 856 BLAKE2B cd2efc191b03a24ed9fc7ed69349a8503228d
DIST tclpython-4.1.tar.bz2 10580 BLAKE2B 98d4783cc52bc907c21d50ee393e25ee084b449db7c393c16b0b1f0420469bd0904d16dc2a6806b776dad7dabd521e5f2e8cc942c720d9e69750385302355608 SHA512 5f08e7129a7d9afeb1ac6bf1ab1c83ad3bb481593c9516c0653c7b4ba0dfb1b3129a336e64b998cec8ef2d2377a6a366b73c640d25839ab280d5079c0b220d54
DIST tclpython-5.0.tar.gz 19327 BLAKE2B bad25a6eb04dbcd9ca3e9bc81d44f098f31f2acf367ecc32307596d5da3ed95752b3c60d9ee74fc04e21669e0361f0790edad3ad5793c78ece4904beacd92900 SHA512 fe15218fe00e921384dbd9611685b86cb6dfacb515a95545079550aeadaaafc3964e6ef0594a268a3fd900f40d178659e8b7f6f2a6d9aa507b59a8be0bd116af
EBUILD tclpython-4.1-r6.ebuild 1279 BLAKE2B 684acb03b7a6d3a5684d16494f3a10d23abfd1da164b528c6dccb78c131bc67554809e318b44604eb4dc07697f5f950dd4634ef8a9c5a0df6d3678fdfb0b6a57 SHA512 addcbf2fb4e252dfdc7915f7df82086c1c62d62f27372e8dbd2b6eccf9d9334d5a89f5b3ae0151666d65974729dbe351d18c1908e2309d471508913ae7daa1f2
-EBUILD tclpython-5.0.ebuild 986 BLAKE2B 7c3185aefa88a93b1a110bdc6f3d77b2e3c455c1f6ff8bd2e6d5156f5d4332c4c418b16f8fc0e44b69e76260a3e69d423585022970a73822695ec7c0b81633cc SHA512 ccf66d2ac33fa5984822feeed42b7d922b1291074567fad3a336f1d6e9aa5d031409a41f9c93aebfbddd40adb815a88b3439a08fecd0ffe9f29839d320b7f5d0
+EBUILD tclpython-5.0.ebuild 990 BLAKE2B 8a931531bd6b175f6fbc47b2d87b64f447cbc872fab4e405e07c3634709b3aec40e6ff07f9a7211b6166434f7aacfb1a9a12f6096224142b3cb5d50d47209440 SHA512 1460305783690fafda47523988214743c9090a8b3d434d5e110acbb8bcaf58b16717bbfcd5488e7bc482c9df4730fabf16ca2f1e0b5507884b56ca5fb3d38af5
MISC metadata.xml 259 BLAKE2B 174c3c7b4292350e73a38b09d473abba172ee6e82ca1b5bcb6815a9927609a7fbac063a19498e7c5deaa32530d10d8c493760ff5b6e489f821410cfeccadf566 SHA512 5943f2c9dc9a55862bae4c01be9e1f27304ffc1ce48d67341b4a19793c0bb11fe3d1a419af924ac360aeeafbce28018971602019a559a8a6c5939e05e3567639
diff --git a/dev-tcltk/tclpython/tclpython-5.0.ebuild b/dev-tcltk/tclpython/tclpython-5.0.ebuild
index 2603ce545fdb..69a6e60dc5e3 100644
--- a/dev-tcltk/tclpython/tclpython-5.0.ebuild
+++ b/dev-tcltk/tclpython/tclpython-5.0.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6,7} )
inherit multilib python-single-r1 toolchain-funcs
diff --git a/dev-tcltk/togl/Manifest b/dev-tcltk/togl/Manifest
index 7c06ab6e718e..375d0be68b7e 100644
--- a/dev-tcltk/togl/Manifest
+++ b/dev-tcltk/togl/Manifest
@@ -1,4 +1,3 @@
DIST Togl2.0-src.tar.gz 244968 BLAKE2B f094fb4bba7049470d7f61a2748d4a5baaf47c99c766d96ef8061e254673acf7f2a11555e202ec01f5d6b7a00ae7c275a33981fba5df7f1478f69da17f3180b8 SHA512 2be3062baada848d96b2802582bc5590b215f2ab4dc02c91761e72af2bf8c0ba768a71a2ffb8107bca83b63b7d1321ee83de19b97f83b1c2f0962f9288948b0a
-EBUILD togl-2.0-r2.ebuild 844 BLAKE2B cf43c7344e810cc5300877764a921701dac538435ad13d2a490280e6ce4654eda5a667874b888ac074012030f15eafbecc38548cf2e7dc03bb06da0834de10d5 SHA512 69ace2dedad1f05bc262df85d85cb11e32975082daeb49644bd2f3383808d3bc05849eed4035df3a6559957557f028288383e0e636d6947a9c92bd0da8080b65
-EBUILD togl-2.0-r3.ebuild 831 BLAKE2B c1aa9d154b4bc5cdc446a4961a91a5d04517a7c37c8b5e0a874e76951344afc98b6309bd9f5df30d8c4c7c5e4d6e0a9b21b1e8f532562b52a6edb9c9b3c7928c SHA512 78dbc393257bda78501104e7934b9d587fddb924561e91355e5c22f751a7aa701a2733ea48517f3c76c5bd0bd448b552256f89a6ae5e556df37dae9f7b997df8
+EBUILD togl-2.0-r3.ebuild 830 BLAKE2B c2e087b21c8bf5b39c606f6de70cbfd1ce60aaf633058b732d44ce190e474cc40fb0d35df1674bd8de4f48b02516a4f8ab6ce0c1ffc50a430f95a322c5d04f9c SHA512 1ec3103b71e4c06e6620b723d3fc66e0a6a49e709a62feb8d881e3bbec76fb9eb09963fe0afd243c889d7fbe6dd0552a8cbf7746764b71fbd5464435dcebe90e
MISC metadata.xml 1191 BLAKE2B c421c6f81a32e715643716995a0c336166f1892c46f663bbcd4f910f2c208f9e5249e2820b9df10e22c76111d27bec7d61e4d405ebb9193a9c44166aed58c52b SHA512 890b9b1bb4b9ae4255e9fa24efb01e3f109a8e7675055ef9166a71d9ec1624494d2e5115cf3d8f074f400f805a61a3409558a8f21d544f91e4d8775fb2f3c5ef
diff --git a/dev-tcltk/togl/togl-2.0-r2.ebuild b/dev-tcltk/togl/togl-2.0-r2.ebuild
deleted file mode 100644
index f1ac42438d2b..000000000000
--- a/dev-tcltk/togl/togl-2.0-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-MY_P=Togl${PV}
-
-DESCRIPTION="A Tk widget for OpenGL rendering"
-HOMEPAGE="http://togl.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}-src.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="debug +threads"
-
-RDEPEND="
- dev-lang/tk
- virtual/opengl
- x11-libs/libXmu"
-DEPEND="${RDEPEND}"
-
-# tests directory is missing
-RESTRICT="test"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- sed \
- -e 's:-fomit-frame-pointer::g' \
- -e 's:-O2::g' \
- -e 's:-pipe::g' \
- -i configure || die
-}
-
-src_configure() {
- econf \
- $(use_enable debug symbols) \
- $(use_enable threads)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dohtml doc/*
- dodoc README*
-}
diff --git a/dev-tcltk/togl/togl-2.0-r3.ebuild b/dev-tcltk/togl/togl-2.0-r3.ebuild
index 22ee83318cb4..0dca35bff9b8 100644
--- a/dev-tcltk/togl/togl-2.0-r3.ebuild
+++ b/dev-tcltk/togl/togl-2.0-r3.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${MY_P}-src.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug +threads"
RDEPEND="