aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/python-science.scm60
1 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 8df311baea..7b5ab44e0c 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -35,7 +35,9 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
#:use-module (gnu packages image-processing)
@@ -58,6 +60,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix packages)
+ #:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
@@ -509,6 +512,63 @@ doing practical, real world data analysis in Python.")
context of a task dependency graph. It has some similarities to make.")
(license license:bsd-2)))
+(define-public python-pythran
+ (package
+ (name "python-pythran")
+ (version "0.11.0")
+ (home-page "https://github.com/serge-sans-paille/pythran")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cm7wfcyvkp1wmq7n1lyf2d3sj6158jf63bagjpjmfnjwij19n0p"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled Boost and xsimd.
+ (delete-file-recursively "third_party")))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-install-third-parties
+ (lambda _
+ (substitute* "setup.py"
+ (("third_parties = .*")
+ "third_parties = []\n"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Remove compiler flag that trips newer GCC:
+ ;; https://github.com/serge-sans-paille/pythran/issues/908
+ (substitute* "pythran/tests/__init__.py"
+ (("'-Wno-absolute-value',")
+ ""))
+ (setenv "HOME" (getcwd))
+ ;; This setup is modelled after the upstream CI system.
+ (call-with-output-file ".pythranrc"
+ (lambda (port)
+ (format port "[compiler]\nblas=openblas~%")))
+ (invoke "pytest" "-vv"
+ (string-append "--numprocesses="
+ (number->string
+ (parallel-job-count)))
+ "pythran/tests/test_cases.py")))))))
+ (native-inputs
+ ;; For tests.
+ (list openblas python-pytest python-pytest-xdist))
+ (propagated-inputs
+ (list boost xsimd ;headers need to be available
+ python-beniget python-gast python-numpy python-ply))
+ (synopsis "Ahead of Time compiler for numeric kernels")
+ (description
+ "Pythran is an ahead of time compiler for a subset of the Python
+language, with a focus on scientific computing. It takes a Python module
+annotated with a few interface descriptions and turns it into a native
+Python module with the same interface, but (hopefully) faster.")
+ (license license:bsd-3)))
+
(define-public python-bottleneck
(package
(name "python-bottleneck")
itectures. Additionally, since the option is apparently not required on the big-endian powerpc64 architecture, this change also has the nice effect of omitting the option in that case. * gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Remove the code that adds the "--with-long-double-128" configure option for powerpc64le, since it is now redundant. The cross-gcc-arguments procedure uses (and adds to) the configure options of its xgcc argument (a package). This means that regardless of which gcc from gcc.scm is used as the xgcc, the above change in gcc.scm is sufficient to ensure that the cross-gcc-arguments procedure's configure options will include "--with-long-double-128" on the powerpc64le and powerpc architectures. Chris Marusich 2021-06-19Merge branch 'master' into core-updates...Note: this merge actually changes the 'curl' and 'python-attrs' derivations, as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and 12964df69a99de6190422c752fef65ef813f3b6b respectively. 4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it cannot currently be tested. Conflicts: gnu/local.mk gnu/packages/aidc.scm gnu/packages/boost.scm gnu/packages/curl.scm gnu/packages/nettle.scm gnu/packages/networking.scm gnu/packages/python-xyz.scm gnu/packages/tls.scm Marius Bakke 2021-06-14gnu: gcc-8: Make static libs reproducible...This fixes the nonreproducibility in gcc documented here: https://reproducible-builds.org/docs/archives/#gnu-libtool * gnu/packages/patches/gcc-8-sort-libtool-find-output.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gcc.scm (gcc-8)[source]: Apply it. Carl Dong 2021-06-13gnu: GCC: Switch to GCC 10....* gnu/packages/patches/gcc-cross-gxx-include-dir.patch: New file. * gnu/packages/patches/gcc-10-cross-environment-variables.patch: New file. * gnu/packages/gcc.scm (gcc): Point to GCC-10. (gcc-objc): Point to GCC-OBJC-10. (gcc-objc++): Point to GCC-OBJC++-10. * gnu/packages/cross-base.scm (cross-gcc)[source](patches): Apply the new patches. Marius Bakke 2021-06-06Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/algebra.scm gnu/packages/bioinformatics.scm gnu/packages/curl.scm gnu/packages/docbook.scm gnu/packages/emacs-xyz.scm gnu/packages/maths.scm gnu/packages/plotutils.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/radio.scm gnu/packages/readline.scm gnu/packages/tls.scm gnu/packages/xml.scm gnu/packages/xorg.scm Marius Bakke