diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-11-26 23:34:05 +0900 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-12-19 14:35:20 +0900 |
commit | 0b6c957ca18ba90d1517dd80b3ec90e66fcbfc47 (patch) | |
tree | afdfac30ecdcfd87026bb2a406c0b0a54e9b0540 /gnu/packages | |
parent | 1de944c18bf2bf964ce22901bb098e267d4dfc13 (diff) | |
download | guix-0b6c957ca18ba90d1517dd80b3ec90e66fcbfc47.tar.gz guix-0b6c957ca18ba90d1517dd80b3ec90e66fcbfc47.zip |
gnu: Add pyre.
* gnu/packages/python-science.scm (pyre): New variable.
Change-Id: I4a26d7a83f24210104cb0ab50b5392ab97d9bfc4
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/python-science.scm | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index fb518c162d..8de49ac7ea 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages chemistry) #:use-module (gnu packages cmake) + #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crates-io) #:use-module (gnu packages crypto) @@ -78,6 +79,7 @@ #:use-module (gnu packages rust-apps) #:use-module (gnu packages simulation) #:use-module (gnu packages sphinx) + #:use-module (gnu packages ssh) #:use-module (gnu packages statistics) #:use-module (gnu packages time) #:use-module (gnu packages xdisorg) @@ -89,9 +91,89 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cargo) + #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (guix build-system pyproject)) +(define-public pyre + (package + (name "pyre") + (version "1.12.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyre/pyre") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0crmssga481q2ggwcmj40nj5n9975wri14p609jdr9hwg4vdyvj2")))) + (build-system cmake-build-system) + (arguments + (list + #:imported-modules (append %cmake-build-system-modules + %python-build-system-modules) + #:modules '((guix build cmake-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) + #:configure-flags + #~(list (string-append "-DPYRE_VERSION=" #$version) + (string-append "-DPYRE_DEST_PACKAGES=" + (python:site-packages %build-inputs %outputs))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'enable-bytecode-determinism + (assoc-ref python:%standard-phases 'enable-bytecode-determinism)) + ;; Move the check phase after the Python 'pyre' module + ;; is installed and made available. + (delete 'check) + (add-after 'install 'add-to-pythonpath + (lambda* (#:key inputs outputs #:allow-other-keys) + (python:add-installed-pythonpath inputs outputs))) + (add-after 'add-to-pythonpath 'wrap + (assoc-ref python:%standard-phases 'wrap)) + (add-after 'add-to-pythonpath 'check + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (when tests? + (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + (let ((ignored-tests + (list + ;; The MPI tests are failing for unknown reasons (see: + ;; https://github.com/pyre/pyre/issues/126). + "tests.mpi" + ;; These tests have a cleanup phase that fails + ;; non-deterministically (see: + ;; https://github.com/pyre/pyre/issues/125). + "tests.pyre.lib.viz.flow" + ;; This test expects a TCP port 22 to be listening. + "tests.pyre.pkg.ipc.tcp.py" + ;; These postgres tests require a running postgresql + ;; daemon; they are also skipped in upstream CI. + "tests.postgres.ext" + ;; This test fails due to pre-1980 timestamps, not + ;; supported by ZIP. + "tests.pyre.pkg.filesystem.zip_open.py" + ;; This one trips on the patched python3 shebang. + "tests.pyre.pkg.filesystem.local_open.py"))) + (invoke "ctest" + "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1") + "-E" (string-join ignored-tests "|"))))))))) + (native-inputs (list openssh-sans-x python python-numpy pybind11 zip)) + (inputs (list gsl hdf5 openmpi postgresql)) + (propagated-inputs (list python-pyyaml)) ;for the Python bindings + (home-page "http://pyre.orthologue.com/") + (synopsis "Framework for building Scientific applications") + (description + "This package provides a framework for building scientific applications. +It aims to bring state of the art software design practices to scientific +computing, with the goal of providing a strong skeleton on which to build +scientific codes by steering the implementation towards usability and +maintainability.") + (license license:bsd-3))) + (define-public python-cvxpy (package (name "python-cvxpy") |