Package: guix-patches;
Reported by: Thomas Danckaert <post <at> thomasdanckaert.be>
Date: Wed, 22 Feb 2017 10:31:01 UTC
Severity: normal
Tags: patch
Merged with 25705
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
Message #20 received at 25834 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 25834 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 4/7] gnu: python-numpy: Update to 1.12.0. Date: Wed, 22 Feb 2017 12:22:50 +0100
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/python.scm (python-numpy): Update to 1.12.0. [source]: Use github instead of sourceforge. [native-inputs]: Add python-cython. To simplify the handling of dependency cycles (numpy documentation depends on matplotlib, which depends on numpy), we split out the documentation into a separate package: (python-numpy-bootstrap, python2-numpy-bootstrap): Remove variables. (python-numpy-documentation, python2-numpy-documentation): New variables. --- gnu/packages/python.scm | 146 ++++++++++++++++++++++++++---------------------- 1 file changed, 79 insertions(+), 67 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 95cea0e89..c45cc9db4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3278,24 +3278,26 @@ between language specification and implementation aspects.") ;; This version of numpy is missing the documentation and is only used to ;; build matplotlib which is required to build numpy's documentation. -(define python-numpy-bootstrap +(define-public python-numpy (package - (name "python-numpy-bootstrap") - (version "1.10.4") + (name "python-numpy") + (version "1.12.0") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/numpy/NumPy/" version - "/numpy-" version ".tar.gz")) + (uri (string-append + "https://github.com/numpy/numpy/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1bjjhvncraka5s6i4lg644jrxij6bvycxy7an20gcz3a0m11iygp")))) + "025d4j4aakcp8w5i5diqh812cbbjgac7jszx1j56ivrbi1i8vv7d")))) (build-system python-build-system) (inputs `(("openblas" ,openblas) ("lapack" ,lapack))) (native-inputs - `(("python-nose" ,python-nose) + `(("python-cython" ,python-cython) + ("python-nose" ,python-nose) ("gfortran" ,gfortran))) (arguments `(#:phases @@ -3344,8 +3346,8 @@ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities.") (license license:bsd-3))) -(define python2-numpy-bootstrap - (package-with-python2 python-numpy-bootstrap)) +(define-public python2-numpy + (package-with-python2 python-numpy)) (define-public python-munch (package @@ -3401,69 +3403,79 @@ Models, is a program for performing both single-SNP and SNP-set genome-wide association studies (GWAS) on extremely large data sets.") (license license:asl2.0))) -(define-public python-numpy - (package (inherit python-numpy-bootstrap) - (name "python-numpy") - (outputs '("out" "doc")) - (inputs - `(("which" ,which) - ,@(package-inputs python-numpy-bootstrap))) - (propagated-inputs - `(("python-matplotlib" ,python-matplotlib) - ("python-pyparsing" ,python-pyparsing) - ,@(package-propagated-inputs python-numpy-bootstrap))) +(define-public python-numpy-documentation + (package (inherit python-numpy) + (name "python-numpy-documentation") (native-inputs - `(("pkg-config" ,pkg-config) + `(("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("pkg-config" ,pkg-config) ("python-sphinx" ,python-sphinx) ("python-numpydoc" ,python-numpydoc) ("texlive" ,texlive) ("texinfo" ,texinfo) ("perl" ,perl) - ,@(package-native-inputs python-numpy-bootstrap))) - (arguments - `(,@(substitute-keyword-arguments - (package-arguments python-numpy-bootstrap) - ((#:phases phases) - `(alist-cons-after - 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Make installed package available for building the - ;; documentation - (add-installed-pythonpath inputs outputs) - (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - (doc (string-append - data "/doc/" ,name "-" - ,(package-version python-numpy-bootstrap))) - (info (string-append data "/info")) - (html (string-append doc "/html")) - (pyver ,(string-append "PYVER="))) - (with-directory-excursion "doc" - (mkdir-p html) - (system* "make" "html" pyver) - (system* "make" "latex" "PAPER=a4" pyver) - (system* "make" "-C" "build/latex" - "all-pdf" "PAPER=a4" pyver) - ;; FIXME: Generation of the info file fails. - ;; (system* "make" "info" pyver) - ;; (mkdir-p info) - ;; (copy-file "build/texinfo/numpy.info" - ;; (string-append info "/numpy.info")) - (for-each (lambda (file) - (copy-file (string-append "build/latex" file) - (string-append doc file))) - '("/numpy-ref.pdf" "/numpy-user.pdf")) - (with-directory-excursion "build/html" - (for-each (lambda (file) - (let* ((dir (dirname file)) - (tgt-dir (string-append html "/" dir))) - (unless (equal? "." dir) - (mkdir-p tgt-dir)) - (install-file file html))) - (find-files "." ".*")))))) - ,phases))))))) - -(define-public python2-numpy - (package-with-python2 python-numpy)) + ("scipy-sphinx-theme" + ,(origin ; The build script expects scipy-sphinx-theme as a git submodule + (method git-fetch) + (uri (git-reference + (url "https://github.com/scipy/scipy-sphinx-theme.git") + (commit "c466764e22"))) + (sha256 + (base32 + "0q2y87clwlsgc7wvlsn9pzyssybcq10plwhq2w1ydykfsyyqbmkl")))) + ,@(package-native-inputs python-numpy))) + (arguments + `(#:tests? #f ; we're only generating the documentation + #:phases + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make installed package available for building the + ;; documentation + (add-installed-pythonpath inputs outputs) + (let* ((data (string-append (assoc-ref outputs "out") "/share")) + (doc (string-append + data "/doc/" ,name "-" + ,(package-version python-numpy))) + (info-reader (string-append data "/info")) + (html (string-append doc "/html")) + (scipy-sphinx-theme "scipy-sphinx-theme") + (sphinx-theme-checkout (assoc-ref inputs scipy-sphinx-theme)) + (pyver ,(string-append "PYVER="))) + (with-directory-excursion "doc" + (copy-recursively sphinx-theme-checkout scipy-sphinx-theme) + (mkdir-p html) + (system* "make" "html" pyver) + (system* "make" "latex" "PAPER=a4" pyver) + (system* "make" "-C" "build/latex" + "all-pdf" "PAPER=a4" pyver) + ;; FIXME: Generation of the info file fails. + ;; (system* "make" "info" pyver) + ;; (mkdir-p info) + ;; (copy-file "build/texinfo/numpy.info" + ;; (string-append info "/numpy.info")) + (for-each (lambda (file) + (copy-file (string-append "build/latex" file) + (string-append doc file))) + '("/numpy-ref.pdf" "/numpy-user.pdf")) + (with-directory-excursion "build/html" + (for-each (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (install-file file html))) + (find-files "." ".*")))))))))) + (synopsis "Documentation for the python-numpy package"))) + +(define-public python2-numpy-documentation + (let ((numpy-documentation (package-with-python2 python-numpy-documentation))) + (package + (inherit numpy-documentation) + (native-inputs `(("python2-functools32" ,python2-functools32) + ,@(package-native-inputs numpy-documentation)))))) (define-public python-pygit2 (package @@ -3682,7 +3694,7 @@ between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.") ("gobject-introspection" ,gobject-introspection) ("python-tkinter" ,python "tk") ("python-dateutil" ,python-dateutil-2) - ("python-numpy" ,python-numpy-bootstrap) + ("python-numpy" ,python-numpy) ("python-pillow" ,python-pillow) ("python-pytz" ,python-pytz) ("python-six" ,python-six) -- 2.11.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.