all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: 74581@debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>,
	Lars-Dominik Braun <lars@6xq.net>, Marius Bakke <marius@gnu.org>,
	Munyoki Kilyungi <me@bonfacemunyoki.com>,
	Sharlatan Hellseher <sharlatanus@gmail.com>,
	Tanguy Le Carrour <tanguy@bioneland.org>,
	jgart <jgart@dismail.de>
Subject: [bug#74581] [PATCH] gnu: Add pyre.
Date: Thu, 28 Nov 2024 16:55:48 +0900	[thread overview]
Message-ID: <ab8f63e2ad9217bbd5bdbbae75e0b9d36302d0ce.1732780548.git.maxim.cournoyer@gmail.com> (raw)

* gnu/packages/python-science.scm (pyre): New variable.

Change-Id: I4a26d7a83f24210104cb0ab50b5392ab97d9bfc4
---
 gnu/packages/python-science.scm | 82 +++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ef6d529ffd..30d149dfb6 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -53,6 +53,7 @@ (define-module (gnu packages python-science)
   #: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 @@ (define-module (gnu packages python-science)
   #: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 @@ (define-module (gnu packages python-science)
   #: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")

base-commit: 5ff9e51e2c4dae0dc74f5c85ec553e89fe1824fd
-- 
2.46.0





                 reply	other threads:[~2024-11-28  7:57 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ab8f63e2ad9217bbd5bdbbae75e0b9d36302d0ce.1732780548.git.maxim.cournoyer@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=74581@debbugs.gnu.org \
    --cc=jgart@dismail.de \
    --cc=lars@6xq.net \
    --cc=marius@gnu.org \
    --cc=me@bonfacemunyoki.com \
    --cc=sharlatanus@gmail.com \
    --cc=tanguy@bioneland.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.