[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25834: [PATCH 5/7] gnu: python-matplotlib: Update to 2.0.0.
From: |
Thomas Danckaert |
Subject: |
bug#25834: [PATCH 5/7] gnu: python-matplotlib: Update to 2.0.0. |
Date: |
Wed, 22 Feb 2017 12:22:51 +0100 |
From: Thomas Danckaert <address@hidden>
* gnu/packages/python.scm (python-matplotlib): Update to 2.0.0.
[source]: Remove Tk backend patch, use Github instead of Sourceforge.
[outputs]: Remove "doc" output.
[propagated-inputs]: Add python-cycler.
[native-inputs]: Remove python-sphinx, python-numpydoc, texlive and texinfo.
(python-matplotlib-documentation, python2-matplotlib-documentation): New
variable.
* gnu/packages/patches/matplotlib-setupext-tk.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove patch.
---
gnu/local.mk | 1 -
gnu/packages/patches/matplotlib-setupext-tk.patch | 34 ------
gnu/packages/python.scm | 142 ++++++++++++----------
3 files changed, 79 insertions(+), 98 deletions(-)
delete mode 100644 gnu/packages/patches/matplotlib-setupext-tk.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index ca415ec48..13faeeba8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -748,7 +748,6 @@ dist_patch_DATA =
\
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \
- %D%/packages/patches/matplotlib-setupext-tk.patch \
%D%/packages/patches/maxima-defsystem-mkdir.patch \
%D%/packages/patches/mcron-install.patch \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
diff --git a/gnu/packages/patches/matplotlib-setupext-tk.patch
b/gnu/packages/patches/matplotlib-setupext-tk.patch
deleted file mode 100644
index 37c3d686e..000000000
--- a/gnu/packages/patches/matplotlib-setupext-tk.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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-02 10:39:47.282363530 +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,19 @@
- # 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()
-+ pkg_config_libs = getoutput('pkg-config --libs-only-L
tk').split()
-+ # drop '-L' part of strings
-+ pkg_config_libs = [s[2:] for s in pkg_config_libs]
-+ pkg_config_ver = getoutput('pkg-config --modversion tk')
-+ tk_ver = re.match(r"(\d+.\d+)[\d.]*", pkg_config_ver).group(1)
-+ tcl_lib_dir = next(s for s in pkg_config_libs
-+ if re.match(r".*-tcl-.*", s)) + '/tcl' +
tk_ver
-+ tk_lib_dir = next(s for s in pkg_config_libs
-+ if re.match(r".*-tk-.*", s)) + '/tk' +
tk_ver
- except:
- tk_ver = ''
- result = self.hardcoded_tcl_config()
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c45cc9db4..14b99cf4a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3675,21 +3675,20 @@ between colorspaces like sRGB, XYZ, CIEL*a*b*,
CIECAM02, CAM02-UCS, etc.")
(define-public python-matplotlib
(package
(name "python-matplotlib")
- (version "1.4.3")
+ (version "2.0.0")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/matplotlib/matplotlib"
- "/matplotlib-" version
- "/matplotlib-" version ".tar.gz"))
+ (uri (string-append
+ "https://github.com/matplotlib/matplotlib/archive/v" version
".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1dn05cvd0g984lzhh72wa0z93psgwshbbg93fkab6slx5m3l95av"))
- (patches (search-patches "matplotlib-setupext-tk.patch"))))
+ "0w3k5m5qb3wsd7yhvmg042xddvligklvcq2visk2c5wnph3hhsln"))))
(build-system python-build-system)
- (outputs '("out" "doc"))
(propagated-inputs ; the following packages are all needed at run time
- `(("python-pyparsing" ,python-pyparsing)
+ `(("python-cycler" ,python-cycler)
+ ("python-pyparsing" ,python-pyparsing)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
("python-tkinter" ,python "tk")
@@ -3726,70 +3725,28 @@ between colorspaces like sRGB, XYZ, CIEL*a*b*,
CIECAM02, CAM02-UCS, etc.")
("tk" ,tk)))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("python-sphinx" ,python-sphinx)
- ("python-numpydoc" ,python-numpydoc)
("python-nose" ,python-nose)
- ("python-mock" ,python-mock)
- ("texlive" ,texlive)
- ("texinfo" ,texinfo)))
+ ("python-mock" ,python-mock)))
(arguments
`(#:phases
- (alist-cons-before
- 'build 'configure-environment
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((cairo (assoc-ref inputs "cairo"))
- (gtk+ (assoc-ref inputs "gtk+")))
- ;; Setting these directories in the 'basedirlist' of 'setup.cfg'
- ;; has not effect.
- (setenv "LD_LIBRARY_PATH"
- (string-append cairo "/lib:" gtk+ "/lib"))
- (setenv "HOME" (getcwd))
- (call-with-output-file "setup.cfg"
+ (modify-phases %standard-phases
+ (add-before 'build 'configure-environment
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((cairo (assoc-ref inputs "cairo"))
+ (gtk+ (assoc-ref inputs "gtk+")))
+ ;; Setting these directories in the 'basedirlist' of 'setup.cfg'
+ ;; has not effect.
+ (setenv "LD_LIBRARY_PATH"
+ (string-append cairo "/lib:" gtk+ "/lib"))
+ (setenv "HOME" (getcwd))
+ (call-with-output-file "setup.cfg"
(lambda (port)
(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 inputs outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (info (string-append data "/info"))
- (html (string-append doc "/html")))
- ;; Make installed package available for building the
- ;; documentation
- (add-installed-pythonpath inputs outputs)
- (with-directory-excursion "doc"
- ;; Produce pdf in 'A4' format.
- (substitute* (find-files "." "conf\\.py")
- (("latex_paper_size = 'letter'")
- "latex_paper_size = 'a4'"))
- (mkdir-p html)
- (mkdir-p info)
- ;; The doc recommends to run the 'html' target twice.
- (system* "python" "make.py" "html")
- (system* "python" "make.py" "html")
- (copy-recursively "build/html" html)
- (system* "python" "make.py" "latex")
- (system* "python" "make.py" "texinfo")
- (symlink (string-append html "/_images")
- (string-append info "/matplotlib-figures"))
- (with-directory-excursion "build/texinfo"
- (substitute* "matplotlib.texi"
- (("@image\\{([^,]*)" all file)
- (string-append "@image{matplotlib-figures/" file)))
- (symlink (string-append html "/_images")
- "./matplotlib-figures")
- (system* "makeinfo" "--no-split"
- "-o" "matplotlib.info" "matplotlib.texi"))
- (copy-file "build/texinfo/matplotlib.info"
- (string-append info "/matplotlib.info"))
- (copy-file "build/latex/Matplotlib.pdf"
- (string-append doc "/Matplotlib.pdf")))))
- %standard-phases))))
+ (assoc-ref inputs "tk"))))))))))
(home-page "http://matplotlib.org")
(synopsis "2D plotting library for Python")
(description
@@ -3814,6 +3771,65 @@ toolkits.")
,@(fold alist-delete (package-propagated-inputs matplotlib)
'("python-pycairo" "python-pygobject" "python-tkinter")))))))
+(define-public python-matplotlib-documentation
+ (package
+ (inherit python-matplotlib)
+ (name "python-matplotlib-documentation")
+ (native-inputs
+ `(("python-colorspacious" ,python-colorspacious)
+ ("python-sphinx" ,python-sphinx)
+ ("python-numpydoc" ,python-numpydoc)
+ ("python-ipython" ,python-ipython)
+ ("texlive" ,texlive)
+ ("texinfo" ,texinfo)
+ ,@(package-native-inputs python-matplotlib)))
+ (arguments
+ `(#:tests? #f ; we're only generating documentation
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (let* ((data (string-append (assoc-ref outputs "out") "/share"))
+ (doc (string-append data "/doc/" ,name "-"
+ ,(package-version python-matplotlib)))
+ (info (string-append data "/info"))
+ (html (string-append doc "/html")))
+ ;; Make installed package available for building the
+ ;; documentation
+ (with-directory-excursion "doc"
+ ;; Produce pdf in 'A4' format.
+ (substitute* (find-files "." "conf\\.py")
+ (("latex_paper_size = 'letter'")
+ "latex_paper_size = 'a4'"))
+ (mkdir-p html)
+ (mkdir-p info)
+ ;; The doc recommends to run the 'html' target twice.
+ (system* "python" "make.py" "html")
+ (system* "python" "make.py" "html")
+ (copy-recursively "build/html" html)
+ (system* "python" "make.py" "latex")
+ (system* "python" "make.py" "texinfo")
+ (symlink (string-append html "/_images")
+ (string-append info "/matplotlib-figures"))
+ (with-directory-excursion "build/texinfo"
+ (substitute* "matplotlib.texi"
+ (("@image\\{([^,]*)" all file)
+ (string-append "@image{matplotlib-figures/" file)))
+ (symlink (string-append html "/_images")
+ "./matplotlib-figures")
+ (system* "makeinfo" "--no-split"
+ "-o" "matplotlib.info" "matplotlib.texi"))
+ (copy-file "build/texinfo/matplotlib.info"
+ (string-append info "/matplotlib.info"))
+ (copy-file "build/latex/Matplotlib.pdf"
+ (string-append doc "/Matplotlib.pdf")))))))))
+ (synopsis "Documentation for the python-matplotlib package")))
+
+(define-public python2-matplotlib-documentation
+ (package-with-python2 python-matplotlib-documentation))
+
(define-public python2-pysnptools
(package
(name "python2-pysnptools")
--
2.11.1
bug#25834: [PATCH 4/7] gnu: python-numpy: Update to 1.12.0., Thomas Danckaert, 2017/02/22
bug#25834: [PATCH 2/7] gnu: Add python-colorspacious., Thomas Danckaert, 2017/02/22
bug#25834: [PATCH 6/7] gnu: python-ipython: Update to 5.2.2., Thomas Danckaert, 2017/02/22
bug#25834: [PATCH 1/7] gnu: Add python2-backports-shutil-get-terminal-size., Marius Bakke, 2017/02/23