gnu: python-numpy: Update to 1.12.0.

* 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.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
Thomas Danckaert 2017-02-21 20:28:27 +01:00 committed by Marius Bakke
parent 14807141e5
commit 7ccb71e0ea
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
1 changed files with 81 additions and 65 deletions

View File

@ -3465,24 +3465,26 @@ between language specification and implementation aspects.")
;; This version of numpy is missing the documentation and is only used to ;; This version of numpy is missing the documentation and is only used to
;; build matplotlib which is required to build numpy's documentation. ;; build matplotlib which is required to build numpy's documentation.
(define python-numpy-bootstrap (define-public python-numpy
(package (package
(name "python-numpy-bootstrap") (name "python-numpy")
(version "1.10.4") (version "1.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/numpy/NumPy/" version (uri (string-append
"/numpy-" version ".tar.gz")) "https://github.com/numpy/numpy/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1bjjhvncraka5s6i4lg644jrxij6bvycxy7an20gcz3a0m11iygp")))) "025d4j4aakcp8w5i5diqh812cbbjgac7jszx1j56ivrbi1i8vv7d"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("openblas" ,openblas) `(("openblas" ,openblas)
("lapack" ,lapack))) ("lapack" ,lapack)))
(native-inputs (native-inputs
`(("python-nose" ,python-nose) `(("python-cython" ,python-cython)
("python-nose" ,python-nose)
("gfortran" ,gfortran))) ("gfortran" ,gfortran)))
(arguments (arguments
`(#:phases `(#:phases
@ -3531,8 +3533,8 @@ and Fortran code, useful linear algebra, Fourier transform, and random number
capabilities.") capabilities.")
(license license:bsd-3))) (license license:bsd-3)))
(define python2-numpy-bootstrap (define-public python2-numpy
(package-with-python2 python-numpy-bootstrap)) (package-with-python2 python-numpy))
(define-public python-munch (define-public python-munch
(package (package
@ -3589,69 +3591,83 @@ Models, is a program for performing both single-SNP and SNP-set genome-wide
association studies (GWAS) on extremely large data sets.") association studies (GWAS) on extremely large data sets.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public python-numpy (define-public python-numpy-documentation
(package (inherit python-numpy-bootstrap) (package
(name "python-numpy") (name "python-numpy-documentation")
(outputs '("out" "doc")) (version (package-version python-numpy))
(inputs (source (package-source python-numpy))
`(("which" ,which) (build-system python-build-system)
,@(package-inputs python-numpy-bootstrap)))
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-pyparsing" ,python-pyparsing)
,@(package-propagated-inputs python-numpy-bootstrap)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx) ("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc) ("python-numpydoc" ,python-numpydoc)
("texlive" ,texlive) ("texlive" ,texlive)
("texinfo" ,texinfo) ("texinfo" ,texinfo)
("perl" ,perl) ("perl" ,perl)
,@(package-native-inputs python-numpy-bootstrap))) ("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 (arguments
`(,@(substitute-keyword-arguments `(#:tests? #f ; we're only generating the documentation
(package-arguments python-numpy-bootstrap) #:phases
((#:phases phases) (modify-phases %standard-phases
`(alist-cons-after (delete 'build)
'install 'install-doc (replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
;; Make installed package available for building the (let* ((data (string-append (assoc-ref outputs "out") "/share"))
;; documentation (doc (string-append
(add-installed-pythonpath inputs outputs) data "/doc/" ,name "-"
(let* ((data (string-append (assoc-ref outputs "doc") "/share")) ,(package-version python-numpy)))
(doc (string-append (info-reader (string-append data "/info"))
data "/doc/" ,name "-" (html (string-append doc "/html"))
,(package-version python-numpy-bootstrap))) (scipy-sphinx-theme "scipy-sphinx-theme")
(info (string-append data "/info")) (sphinx-theme-checkout (assoc-ref inputs scipy-sphinx-theme))
(html (string-append doc "/html")) (pyver ,(string-append "PYVER=")))
(pyver ,(string-append "PYVER="))) (with-directory-excursion "doc"
(with-directory-excursion "doc" (copy-recursively sphinx-theme-checkout scipy-sphinx-theme)
(mkdir-p html) (mkdir-p html)
(system* "make" "html" pyver) (system* "make" "html" pyver)
(system* "make" "latex" "PAPER=a4" pyver) (system* "make" "latex" "PAPER=a4" pyver)
(system* "make" "-C" "build/latex" (system* "make" "-C" "build/latex"
"all-pdf" "PAPER=a4" pyver) "all-pdf" "PAPER=a4" pyver)
;; FIXME: Generation of the info file fails. ;; FIXME: Generation of the info file fails.
;; (system* "make" "info" pyver) ;; (system* "make" "info" pyver)
;; (mkdir-p info) ;; (mkdir-p info)
;; (copy-file "build/texinfo/numpy.info" ;; (copy-file "build/texinfo/numpy.info"
;; (string-append info "/numpy.info")) ;; (string-append info "/numpy.info"))
(for-each (lambda (file) (for-each (lambda (file)
(copy-file (string-append "build/latex" file) (copy-file (string-append "build/latex" file)
(string-append doc file))) (string-append doc file)))
'("/numpy-ref.pdf" "/numpy-user.pdf")) '("/numpy-ref.pdf" "/numpy-user.pdf"))
(with-directory-excursion "build/html" (with-directory-excursion "build/html"
(for-each (lambda (file) (for-each (lambda (file)
(let* ((dir (dirname file)) (let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir))) (tgt-dir (string-append html "/" dir)))
(unless (equal? "." dir) (unless (equal? "." dir)
(mkdir-p tgt-dir)) (mkdir-p tgt-dir))
(install-file file html))) (install-file file html)))
(find-files "." ".*")))))) (find-files "." ".*")))))
,phases))))))) #t)))))
(home-page (package-home-page python-numpy))
(synopsis "Documentation for the python-numpy package")
(description (package-description python-numpy))
(license (package-license python-numpy))))
(define-public python2-numpy (define-public python2-numpy-documentation
(package-with-python2 python-numpy)) (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 (define-public python-pygit2
(package (package
@ -3872,7 +3888,7 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("python-tkinter" ,python "tk") ("python-tkinter" ,python "tk")
("python-dateutil" ,python-dateutil) ("python-dateutil" ,python-dateutil)
("python-numpy" ,python-numpy-bootstrap) ("python-numpy" ,python-numpy)
("python-pillow" ,python-pillow) ("python-pillow" ,python-pillow)
("python-pytz" ,python-pytz) ("python-pytz" ,python-pytz)
("python-six" ,python-six) ("python-six" ,python-six)