From: Federico Beffa <beffa@ieee.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 宋文武 <iyzsong@openmailbox.org>, Guix-devel <guix-devel@gnu.org>,
20889@debbugs.gnu.org
Subject: Re: Tkinter moved to separate output
Date: Tue, 1 Dec 2015 21:19:14 +0100 [thread overview]
Message-ID: <CAKrPhPM0UqgC0x+pOqR7Ta7afGchG6KGaBqfwp+OB2RoaAMQpg@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 422 bytes --]
Federico Beffa <beffa@ieee.org> writes:
> On Sun, Nov 29, 2015 at 11:09 PM, Ludovic Courtès <ludo@gnu.org> wrote:
>> Federico Beffa <beffa@ieee.org> skribis:
> Looking into the failed build directory, it seems that PKG_CONFIG_PATH
> is set correctly. Still, it doesn't get the correct flags.
The attached patch fixes the problem and I can now plot with TkAgg :-)
Thanks for making Tkinter available!
Fede
[-- Attachment #2: 0001-gnu-python-matplotlib-Add-TkAgg-backend-and-update-t.patch --]
[-- Type: text/x-diff, Size: 4427 bytes --]
From b40cf5522bcc15166ca07dfbae50167203d29e2d Mon Sep 17 00:00:00 2001
From: Federico Beffa <beffa@fbengineering.ch>
Date: Tue, 1 Dec 2015 17:20:59 +0100
Subject: [PATCH 1/2] gnu: python-matplotlib: Add 'TkAgg' backend and update to
version '1.4.3'.
* gnu/packages/python.scm (python-matplotlib): Do it.
* gnu/packages/patches/matplotlib-setupext-tk.patch: New file.
---
gnu/packages/patches/matplotlib-setupext-tk.patch | 30 +++++++++++++++++++++++
gnu/packages/python.scm | 17 +++++++++----
2 files changed, 42 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/patches/matplotlib-setupext-tk.patch
diff --git a/gnu/packages/patches/matplotlib-setupext-tk.patch b/gnu/packages/patches/matplotlib-setupext-tk.patch
new file mode 100644
index 0000000..cd0332e
--- /dev/null
+++ b/gnu/packages/patches/matplotlib-setupext-tk.patch
@@ -0,0 +1,30 @@
+Use 'pkg-config' instead of heuristics to find 'tk' flags.
+
+--- matplotlib-1.4.3/setupext.py.orig 2015-12-01 14:21:19.554417453 +0100
++++ matplotlib-1.4.3/setupext.py 2015-12-01 14:35:51.999928797 +0100
+@@ -1457,7 +1457,7 @@
+ p = subprocess.Popen(
+ '. %s ; eval echo ${%s}' % (file, varname),
+ shell=True,
+- executable="/bin/sh",
++ executable="sh",
+ stdout=subprocess.PIPE)
+ result = p.communicate()[0]
+ return result.decode('ascii')
+@@ -1601,8 +1601,15 @@
+ # of distros.
+
+ # Query Tcl/Tk system for library paths and version string
++ def getoutput(s):
++ ret = os.popen(s).read().strip()
++ return ret
+ try:
+- tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk()
++ #tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk()
++ pkg_config_res = getoutput('pkg-config --libs tk').split()
++ tk_ver = pkg_config_res[-1][-3:]
++ tcl_lib_dir = pkg_config_res[0][2:] + '/tcl' + tk_ver
++ tk_lib_dir = pkg_config_res[1][2:] + '/tk' + tk_ver
+ except:
+ tk_ver = ''
+ result = self.hardcoded_tcl_config()
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 39d0751..5e23bab 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3175,7 +3175,7 @@ transcendental functions).")
(define-public python-matplotlib
(package
(name "python-matplotlib")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
@@ -3183,13 +3183,15 @@ transcendental functions).")
"/matplotlib-" version ".tar.gz"))
(sha256
(base32
- "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp"))))
+ "1dn05cvd0g984lzhh72wa0z93psgwshbbg93fkab6slx5m3l95av"))
+ (patches (list (search-patch "matplotlib-setupext-tk.patch")))))
(build-system python-build-system)
(outputs '("out" "doc"))
(propagated-inputs ; the following packages are all needed at run time
`(("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
+ ("python" ,python "tk")
;; The 'gtk+' package (and 'gdk-pixbuf', 'atk' and 'pango' propagated
;; from 'gtk+') provides the required 'typelib' files used by
;; 'gobject-introspection'. The location of these files is set with the
@@ -3224,7 +3226,8 @@ transcendental functions).")
;; FIXME: Add backends when available.
;("python-wxpython" ,python-wxpython)
;("python-pyqt" ,python-pyqt)
- ))
+ ("tcl" ,tcl)
+ ("tk" ,tk)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texlive" ,texlive)
@@ -3243,8 +3246,12 @@ transcendental functions).")
(setenv "HOME" (getcwd))
(call-with-output-file "setup.cfg"
(lambda (port)
- (format port "[rc_options]~%
-backend = GTK3Agg~%")))))
+ (format port "[directories]~%
+basedirlist = ~a,~a~%
+[rc_options]~%
+backend = TkAgg~%"
+ (assoc-ref inputs "tcl")
+ (assoc-ref inputs "tk"))))))
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
--
2.4.3
next reply other threads:[~2015-12-01 20:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-01 20:19 Federico Beffa [this message]
2015-12-01 22:00 ` bug#20889: Tkinter moved to separate output Ludovic Courtès
2015-12-01 22:00 ` Ludovic Courtès
2015-12-02 17:28 ` Federico Beffa
2015-12-02 17:28 ` bug#20889: " Federico Beffa
-- strict thread matches above, loose matches on Subject: below --
2015-11-12 5:50 [PATCH] tk: Hardcode path to TK_LIBRARY 宋文武
2015-11-12 12:58 ` Ludovic Courtès
2015-11-16 8:42 ` bug#20889: Tkinter moved to separate output Ludovic Courtès
2015-11-16 11:44 ` Federico Beffa
2015-11-16 12:57 ` Ludovic Courtès
2015-11-16 13:16 ` Federico Beffa
2015-11-29 22:09 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAKrPhPM0UqgC0x+pOqR7Ta7afGchG6KGaBqfwp+OB2RoaAMQpg@mail.gmail.com \
--to=beffa@ieee.org \
--cc=20889@debbugs.gnu.org \
--cc=guix-devel@gnu.org \
--cc=iyzsong@openmailbox.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.