python: add tk support
cover python: add tk support
1, move tk recipe from meta-oe
2, enable tk to add tk support
PATCH 1/2 tk: add new recipe(move from meta-oe)
From: Mingli Yu <[email protected]>
Move tk recipe from meta-oe to add tkinter
support for python.
--- .../tk/configure.use.fontconfig.with.xft.patch | 13 ++++ meta/recipes-devtools/tcltk/tk/confsearch.diff | 35 ++++++++++ meta/recipes-devtools/tcltk/tk/fix-xft.diff | 16 +++++ meta/recipes-devtools/tcltk/tk/non-linux.diff | 27 ++++++++ meta/recipes-devtools/tcltk/tk/tklibrary.diff | 22 ++++++ meta/recipes-devtools/tcltk/tk/tkprivate.diff | 41 +++++++++++ meta/recipes-devtools/tcltk/tk_8.6.8.bb | 79 ++++++++++++++++++++++ 7 files changed, 233 insertions(+) create mode 100644 meta/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch create mode 100644 meta/recipes-devtools/tcltk/tk/confsearch.diff create mode 100644 meta/recipes-devtools/tcltk/tk/fix-xft.diff create mode 100644 meta/recipes-devtools/tcltk/tk/non-linux.diff create mode 100644 meta/recipes-devtools/tcltk/tk/tklibrary.diff create mode 100644 meta/recipes-devtools/tcltk/tk/tkprivate.diff create mode 100644 meta/recipes-devtools/tcltk/tk_8.6.8.bb
meta/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch new file +13 -0
@@ -0,0 +1,13 @@ +--- a/configure.in.orig 2014-05-10 14:35:39.859147385 +0000 ++++ b/configure.in 2014-05-10 14:36:20.282925184 +0000 +@@ -554,8 +554,8 @@ + dnl make sure package configurator (xft-config or pkg-config + dnl says that xft is present. + found_xft=yes +- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" +- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" ++ XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no" ++ XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no" + AC_MSG_RESULT([$found_xft]) + dnl make sure that compiling against Xft header file doesn't bomb + if test "$found_xft" = "yes" ; then
meta/recipes-devtools/tcltk/tk/confsearch.diff new file +35 -0
@@ -0,0 +1,35 @@ +Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5 +and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian +installation. + +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -1431,7 +1431,8 @@ + `ls -d /usr/contrib/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/pkg/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + `ls -d /usr/lib64 2>/dev/null` \ + ; do + if test -f "$i/tclConfig.sh" ; then +--- tk8.5-8.5.8.orig/unix/tcl.m4 ++++ tk8.5-8.5.8/unix/tcl.m4 +@@ -93,7 +93,8 @@ + `ls -d /usr/contrib/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/pkg/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + `ls -d /usr/lib64 2>/dev/null` \ + ; do + if test -f "$i/tclConfig.sh" ; then +@@ -223,7 +224,8 @@ + `ls -d ${prefix}/lib 2>/dev/null` \ + `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ ++ `ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \ + `ls -d /usr/lib 2>/dev/null` \ + `ls -d /usr/lib64 2>/dev/null` \ + ; do + if test -f "$i/tkConfig.sh" ; then
meta/recipes-devtools/tcltk/tk/fix-xft.diff new file +16 -0
@@ -0,0 +1,16 @@ +--- /tmp/configure.in 2010-05-19 13:29:03.000000000 +0200 ++++ unix/configure.in 2010-05-19 13:42:05.000000000 +0200 +@@ -526,13 +526,9 @@ + found_xft="yes" + dnl make sure package configurator (xft-config or pkg-config + dnl says that xft is present. +- XFT_CFLAGS=`xft-config --cflags 2>/dev/null` || found_xft="no" +- XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no" +- if test "$found_xft" = "no" ; then + found_xft=yes + XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no" + XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no" +- fi + AC_MSG_RESULT([$found_xft]) + dnl make sure that compiling against Xft header file doesn't bomb + if test "$found_xft" = "yes" ; then
meta/recipes-devtools/tcltk/tk/non-linux.diff new file +27 -0
@@ -0,0 +1,27 @@ +Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes +building on non-linux Debian architectures. + +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -4447,6 +4447,9 @@ + if test "`uname -s`" = "AIX" ; then + tcl_cv_sys_version=AIX-`uname -v`.`uname -r` + fi ++ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then ++ tcl_cv_sys_version=NetBSD-Debian ++ fi + fi + fi + +--- tk8.5-8.5.8.orig/unix/tcl.m4 ++++ tk8.5-8.5.8/unix/tcl.m4 +@@ -962,6 +962,9 @@ + if test "`uname -s`" = "AIX" ; then + tcl_cv_sys_version=AIX-`uname -v`.`uname -r` + fi ++ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then ++ tcl_cv_sys_version=NetBSD-Debian ++ fi + fi + fi + ])
meta/recipes-devtools/tcltk/tk/tklibrary.diff new file +22 -0
@@ -0,0 +1,22 @@ +--- tk8.5-8.5.8.orig/unix/configure ++++ tk8.5-8.5.8/unix/configure +@@ -11070,7 +11070,7 @@ + TCL_STUB_FLAGS="-DUSE_TCL_STUBS" + fi + +-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' ++test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' + PRIVATE_INCLUDE_DIR='$(includedir)' + HTML_DIR='$(DISTDIR)/html' + TK_PKG_DIR='tk$(VERSION)' +--- tk8.5-8.5.8.orig/unix/configure.in ++++ tk8.5-8.5.8/unix/configure.in +@@ -607,7 +607,7 @@ + TCL_STUB_FLAGS="-DUSE_TCL_STUBS" + fi + +-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' ++test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)' + PRIVATE_INCLUDE_DIR='$(includedir)' + HTML_DIR='$(DISTDIR)/html' + TK_PKG_DIR='tk$(VERSION)'
meta/recipes-devtools/tcltk/tk/tkprivate.diff new file +41 -0
41 lines not on this page · raw message
meta/recipes-devtools/tcltk/tk_8.6.8.bb new file +79 -0
79 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH 2/2 python: add tk support
In reply to [email protected]From: Mingli Yu <[email protected]>
Enable tk to add tk support for python.
before the patch:
# python Python 2.7.15 (default, Oct 25 2018, 08:12:45) [GCC 8.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.
Quoted 1 line
Quoted 1 line
Quoted 1 line
import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
Quoted 1 line
Quoted 1 line
Quoted 1 line
after the patch:
# python Python 2.7.15 (default, Oct 25 2018, 08:12:45) [GCC 8.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
import Tkinter
--- .../python/avoid_warning_about_tkinter.patch | 29 ---------------------- .../python/python/python2-manifest.json | 8 +++--- meta/recipes-devtools/python/python_2.7.15.bb | 8 +++--- 3 files changed, 10 insertions(+), 35 deletions(-) delete mode 100644 meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch
meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch deleted +0 -29
@@ -1,29 +0,0 @@ -_tkinter module needs tk module along with tcl. tk is not yet integrated -in yocto so we skip the check for this module. -Avoid a warning by not adding this module to missing variable. - -Upstream-Status: Inappropriate [distribution] - -Also simply disable the tk module since its not in DEPENDS. -Signed-off-by: Andrei Gherzan <[email protected]> - -Index: Python-2.7.13/setup.py -=================================================================== ---- Python-2.7.13.orig/setup.py -+++ Python-2.7.13/setup.py -@@ -1783,10 +1783,12 @@ class PyBuildExt(build_ext): - self.extensions.extend(exts) - - # Call the method for detecting whether _tkinter can be compiled -- self.detect_tkinter(inc_dirs, lib_dirs) -+ # self.detect_tkinter(inc_dirs, lib_dirs) - -- if '_tkinter' not in [e.name for e in self.extensions]: -- missing.append('_tkinter') -+ # tkinter module will not be avalaible as yocto -+ # doesn't have tk integrated (yet) -+ #if '_tkinter' not in [e.name for e in self.extensions]: -+ # missing.append('_tkinter') - - ## # Uncomment these lines if you want to play with xxmodule.c - ## ext = Extension('xx', ['xxmodule.c'])
meta/recipes-devtools/python/python/python2-manifest.json +5 -3
@@ -963,10 +963,12 @@ "tkinter": { "summary": "Python Tcl/Tk bindings", "rdepends": [ - "core" + "core", + "tk" ], "files": [ - "${libdir}/python2.7/lib-tk" + "${libdir}/python2.7/lib-tk", + "${libdir}/python2.7/lib-dynload/_tkinter.so" ] }, "unittest": {
@@ -1043,4 +1045,4 @@ "${libdir}/python2.7/lib-dynload/zlib.so" ] } -} +}
meta/recipes-devtools/python/python_2.7.15.bb +5 -3
@@ -1,6 +1,6 @@ require python.inc -DEPENDS = "python-native libffi bzip2 gdbm openssl \ +DEPENDS = "python-native libffi bzip2 gdbm openssl tk \ readline sqlite3 zlib virtual/crypt" PR = "${INC_PR}"
@@ -21,7 +21,6 @@ SRC_URI += "\ file://setuptweaks.patch \ file://check-if-target-is-64b-not-host.patch \ file://search_db_h_in_inc_dirs_and_avoid_warning.patch \ - file://avoid_warning_about_tkinter.patch \ file://avoid_warning_for_sunos_specific_module.patch \ file://python-2.7.3-remove-bsdb-rpath.patch \ file://run-ptest \
@@ -227,7 +226,10 @@ python(){ # Make it work with or without $PN if '${PN}' in value: value=value.split('-')[1] - d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value) + if "tkinter" in pypackage and value == "tk": + d.appendVar('RDEPENDS_' + pypackage, ' ' + value) + else: + d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value) d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary']) # Prepending so to avoid python-misc getting everything
Signature · 1 line
2.7.4
✗ patchtest: failure for python: add tk support
In reply to [email protected]== Series Details ==
Series: python: add tk support
Revision: 1
URL : https://patchwork.openembedded.org/series/14668/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:
* Issue A patch file has been added, but does not have a Signed-off-by tag [test_signed_off_by_presence]
Suggested fix Sign off the added patch file (meta/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch)
* Issue Added patch file is missing Upstream-Status in the header [test_upstream_status_presence_format]
Suggested fix Add Upstream-Status: <Valid status> to the header of meta/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch Standard format Upstream-Status: <Valid status> Valid status Pending, Accepted, Backport, Denied, Inappropriate [reason], Submitted [where]
If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
Terrified to ask, but why?
Quoted 8 lines · On Thu, 25 Oct 2018 at 09:39, <[email protected]> wrote:
1, move tk recipe from meta-oe
2, enable tk to add tk support
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 5 lines · Ross
Terrified to ask, but why?
Quoted 3 lines · On Thu, 25 Oct 2018 at 09:39, <[email protected]> wrote:
1, move tk recipe from meta-oe
2, enable tk to add tk support
Well, tcl and tk do go together and Khem's comment from 2013 suggested that it might be pulled into oe-core some day.
I think what started us down this path is a FACE [1] compliance test. If there's resistance to moving the package to oe-core, can we enable python-tk even if tk stayed in meta-oe, Grace? Also, this should be done using using PACKAGECONFIG? Finally, what about python3-tk ?
../Randy
[1] https://en.wikipedia.org/wiki/Future_Airborne_Capability_Environment
Quoted 5 lines
Quoted 5 lines
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 2 lines
# Randy MacLeod # Wind River Linux
Quoted 5 lines · Randy MacLeod
I think what started us down this path is a FACE [1] compliance test. If there's resistance to moving the package to oe-core, can we enable python-tk even if tk stayed in meta-oe, Grace? Also, this should be done using using PACKAGECONFIG? Finally, what about python3-tk ?
I'd happily add a PACKAGECONFIG but tcl/tk is fairly dead so I do have instinctive opposition to adding it into oe-core.
Ross
Quoted 7 lines · Randy MacLeod
Quoted 5 lines · Ross
Terrified to ask, but why?
Quoted 3 lines · On Thu, 25 Oct 2018 at 09:39, <[email protected]> wrote:
1, move tk recipe from meta-oe
2, enable tk to add tk support
Quoted 8 lines
Well, tcl and tk do go together and Khem's comment from 2013 suggested that it might be pulled into oe-core some day.
I think what started us down this path is a FACE [1] compliance test. If there's resistance to moving the package to oe-core, can we enable python-tk even if tk stayed in meta-oe, Grace? Also, this should be done using using PACKAGECONFIG? Finally, what about python3-tk ?
Will send out v2 to use PACKAGECONFIG for tk and add tk support for python3 altogether.
Thanks,
Quoted 11 lines
../Randy
[1] https://en.wikipedia.org/wiki/Future_Airborne_Capability_Environment
Quoted 5 lines
Quoted 5 lines
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core