diff mbox series

How can I install tkinter for python3 in Buildroot 2018.11.x ?

Message ID CAD0+TpBEcnP4yOOSqCMgQgZqgXqh+4AhEH0BCfMtvmRZJPeb2w@mail.gmail.com
State Not Applicable
Headers show
Series How can I install tkinter for python3 in Buildroot 2018.11.x ? | expand

Commit Message

Fame Castle Jan. 30, 2019, 8:22 a.m. UTC
Hello,

I have installed Buildroot from the GIT branch 2018.11.x . Everything works
as expected except python (3.7) having no tkinter installed.

There is this patch called "0017-add-an-option-to-disable-tk.patch":

From f96a00d42e714171f1d90501ed73594fddee570f Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:23:42 -0800
Subject: [PATCH] Add an option to disable the tk module

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 Makefile.pre.in | 11 ++++++++---
 configure.ac    |  9 +++++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

Comments

Thomas Petazzoni Feb. 4, 2019, 9:23 a.m. UTC | #1
Hello,

On Wed, 30 Jan 2019 09:22:12 +0100
Fame Castle <famecastle@gmail.com> wrote:

> I already enabled the tk and tcl packages inside "make menuconfig"
> but had no luck with it. When I was using buildroot 2018.05.x, I used
> this patch:
> https://sourceforge.net/p/armadeus/code/ci/master/tree/patches/buildroot/2017.02/012-armadeus-add-tkinter-support-to-python.patch
> in order to add a configuration option to python 3 which enables me
> to include Tkinter into python3. This patch, however, has no effect
> anymore on buildroot 2018.11.x . (I already tried changing
> PYTHON_DEPENDENCIES to PYTHON3_DEPENDENCIES in the patch).
> 
> I have no idea what I should do now. Can you help me?

I have tried to solve your issue using the below patch. Unfortunately,
it triggers a circular dependency, which I'm not sure how to solve at
this point:

Recursion detected for  : fontconfig
which is a dependency of: xlib_libXft
which is a dependency of: tk
which is a dependency of: python3
which is a dependency of: util-linux
which is a dependency of: fontconfig

We've already been bitten by this sort of circular dependencies in the
past, where the dependency of util-linux on python was a problem.

Here is the patch I have used:

  https://git.bootlin.com/users/thomas-petazzoni/buildroot/commit/?h=python-tkinter&id=7698e98b592bbd724903b8f657b672ee58ef8d11

Thomas
diff mbox series

Patch

diff --git a/Makefile.pre.in b/Makefile.pre.in
index a1ce0712cd..dc1e917cc3 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1256,7 +1256,7 @@  maninstall: altmaninstall
 # Install the library
 XMLLIBSUBDIRS=  xml xml/dom xml/etree xml/parsers xml/sax

-LIBSUBDIRS= tkinter site-packages \
+LIBSUBDIRS= site-packages \
  asyncio \
  collections concurrent concurrent/futures encodings \
  email email/mime \
@@ -1273,8 +1273,7 @@  LIBSUBDIRS= tkinter site-packages \
  venv venv/scripts venv/scripts/common venv/scripts/posix \
  curses

-TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
- tkinter/test/test_ttk test \
+TESTSUBDIRS= test \
  test/audiodata \
  test/capath test/data \
  test/cjkencodings test/decimaltestdata test/xmltestdata \
@@ -1338,6 +1337,12 @@  TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \
  test/test_tools test/test_warnings test/test_warnings/data \
  unittest/test unittest/test/testmock

+ifeq (@TK@,yes)
+LIBSUBDIRS += tkinter
+TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \
+ tkinter/test/test_ttk
+endif
+
 ifeq (@LIB2TO3@,yes)
 LIBSUBDIRS += lib2to3 lib2to3/fixes lib2to3/pgen2
 TESTSUBDIRS += lib2to3/tests \
diff --git a/configure.ac b/configure.ac
index d7582cfea4..6a56a5b0c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3171,6 +3171,15 @@  if test "$SQLITE3" = "no" ; then
    DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3"
 fi

+AC_SUBST(TK)
+AC_ARG_ENABLE(tk,
+ AS_HELP_STRING([--disable-tk], [disable tk]),
+ [ TK="${enableval}" ], [ TK=yes ])
+
+if test "$TK" = "no"; then
+   DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter"
+fi
+
 AC_SUBST(PYDOC)

 AC_ARG_ENABLE(pydoc,