diff options
| author | Danny Milosavljevic <dannym@friendly-machines.com> | 2025-12-22 15:28:02 +0100 |
|---|---|---|
| committer | Danny Milosavljevic <dannym@friendly-machines.com> | 2026-02-12 18:58:09 +0100 |
| commit | 8516a200ac520a3a55196dd73873be55e8a25b8a (patch) | |
| tree | 69ae7c47dd696611e3cc4457d5081eb3a52177d0 /gnu/packages/python-science.scm | |
| parent | 07b13851a3dbf80390f00a7ea510d4464e4ce5a8 (diff) | |
gnu: Add python-brille.
* gnu/packages/python-science.scm (python-brille): New variable.
Change-Id: I39db7aff28c9d3d80c1cd404ee91fd1ec5fc89cd
Diffstat (limited to 'gnu/packages/python-science.scm')
| -rw-r--r-- | gnu/packages/python-science.scm | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 3337b3d2169..0b771374016 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm | |||
| @@ -58,6 +58,7 @@ | |||
| 58 | (define-module (gnu packages python-science) | 58 | (define-module (gnu packages python-science) |
| 59 | #:use-module ((guix licenses) #:prefix license:) | 59 | #:use-module ((guix licenses) #:prefix license:) |
| 60 | #:use-module (gnu packages) | 60 | #:use-module (gnu packages) |
| 61 | #:use-module (gnu packages algebra) | ||
| 61 | #:use-module (gnu packages base) | 62 | #:use-module (gnu packages base) |
| 62 | #:use-module (gnu packages bioinformatics) | 63 | #:use-module (gnu packages bioinformatics) |
| 63 | #:use-module (gnu packages boost) | 64 | #:use-module (gnu packages boost) |
| @@ -71,15 +72,20 @@ | |||
| 71 | #:use-module (gnu packages databases) | 72 | #:use-module (gnu packages databases) |
| 72 | #:use-module (gnu packages digest) | 73 | #:use-module (gnu packages digest) |
| 73 | #:use-module (gnu packages duckdb) | 74 | #:use-module (gnu packages duckdb) |
| 75 | #:use-module (gnu packages elf) | ||
| 74 | #:use-module (gnu packages gcc) | 76 | #:use-module (gnu packages gcc) |
| 75 | #:use-module (gnu packages geo) | 77 | #:use-module (gnu packages geo) |
| 78 | #:use-module (gnu packages gl) | ||
| 76 | #:use-module (gnu packages graphviz) | 79 | #:use-module (gnu packages graphviz) |
| 77 | #:use-module (gnu packages image) | 80 | #:use-module (gnu packages image) |
| 78 | #:use-module (gnu packages image-processing) | 81 | #:use-module (gnu packages image-processing) |
| 82 | #:use-module (gnu packages jemalloc) | ||
| 79 | #:use-module (gnu packages jupyter) | 83 | #:use-module (gnu packages jupyter) |
| 80 | #:use-module (gnu packages machine-learning) | 84 | #:use-module (gnu packages machine-learning) |
| 81 | #:use-module (gnu packages maths) | 85 | #:use-module (gnu packages maths) |
| 82 | #:use-module (gnu packages mpi) | 86 | #:use-module (gnu packages mpi) |
| 87 | #:use-module (gnu packages networking) | ||
| 88 | #:use-module (gnu packages ninja) | ||
| 83 | #:use-module (gnu packages pcre) | 89 | #:use-module (gnu packages pcre) |
| 84 | #:use-module (gnu packages perl) | 90 | #:use-module (gnu packages perl) |
| 85 | #:use-module (gnu packages pkg-config) | 91 | #:use-module (gnu packages pkg-config) |
| @@ -93,11 +99,14 @@ | |||
| 93 | #:use-module (gnu packages python-xyz) | 99 | #:use-module (gnu packages python-xyz) |
| 94 | #:use-module (gnu packages qt) | 100 | #:use-module (gnu packages qt) |
| 95 | #:use-module (gnu packages rust-apps) | 101 | #:use-module (gnu packages rust-apps) |
| 102 | #:use-module (gnu packages serialization) | ||
| 96 | #:use-module (gnu packages simulation) | 103 | #:use-module (gnu packages simulation) |
| 97 | #:use-module (gnu packages sphinx) | 104 | #:use-module (gnu packages sphinx) |
| 98 | #:use-module (gnu packages ssh) | 105 | #:use-module (gnu packages ssh) |
| 99 | #:use-module (gnu packages statistics) | 106 | #:use-module (gnu packages statistics) |
| 107 | #:use-module (gnu packages tbb) | ||
| 100 | #:use-module (gnu packages time) | 108 | #:use-module (gnu packages time) |
| 109 | #:use-module (gnu packages tls) | ||
| 101 | #:use-module (gnu packages version-control) | 110 | #:use-module (gnu packages version-control) |
| 102 | #:use-module (gnu packages xdisorg) | 111 | #:use-module (gnu packages xdisorg) |
| 103 | #:use-module (gnu packages xml) | 112 | #:use-module (gnu packages xml) |
| @@ -110,6 +119,7 @@ | |||
| 110 | #:use-module (guix utils) | 119 | #:use-module (guix utils) |
| 111 | #:use-module (guix build-system cargo) | 120 | #:use-module (guix build-system cargo) |
| 112 | #:use-module (guix build-system cmake) | 121 | #:use-module (guix build-system cmake) |
| 122 | #:use-module (guix build-system meson) | ||
| 113 | #:use-module (guix build-system python) | 123 | #:use-module (guix build-system python) |
| 114 | #:use-module (guix build-system pyproject)) | 124 | #:use-module (guix build-system pyproject)) |
| 115 | 125 | ||
| @@ -6488,6 +6498,82 @@ Python style, together with a fast and comfortable execution environment.") | |||
| 6488 | python-setuptools | 6498 | python-setuptools |
| 6489 | python-wheel)))) | 6499 | python-wheel)))) |
| 6490 | 6500 | ||
| 6501 | (define-public python-brille | ||
| 6502 | (package | ||
| 6503 | (name "python-brille") | ||
| 6504 | (version "0.8.3") | ||
| 6505 | (source | ||
| 6506 | (origin | ||
| 6507 | (method git-fetch) | ||
| 6508 | (uri (git-reference | ||
| 6509 | (url "https://github.com/brille/brille") | ||
| 6510 | (commit (string-append "v" version)))) | ||
| 6511 | (file-name (git-file-name name version)) | ||
| 6512 | (sha256 | ||
| 6513 | (base32 "1vyxa7k6yrpxizbmljrv7bnsf7dzxsfbs4id36x09jjxwh7dysjj")))) | ||
| 6514 | (build-system cmake-build-system) | ||
| 6515 | (arguments | ||
| 6516 | (list | ||
| 6517 | #:configure-flags | ||
| 6518 | #~(list | ||
| 6519 | ;; Boost.System is header-only since 1.69, but FindBoost looks for | ||
| 6520 | ;; libboost_system.so which doesn't exist. | ||
| 6521 | "-DHIGHFIVE_USE_BOOST=OFF" | ||
| 6522 | ;; Pretend we're doing a scikit-build build to skip Conan. | ||
| 6523 | "-DSKBUILD=ON" | ||
| 6524 | (string-append "-DSKBUILD_PROJECT_NAME=brille") | ||
| 6525 | (string-append "-DSKBUILD_PROJECT_VERSION=" #$version)) | ||
| 6526 | #:imported-modules `(,@%cmake-build-system-modules | ||
| 6527 | ,@%pyproject-build-system-modules) | ||
| 6528 | #:modules '((guix build cmake-build-system) | ||
| 6529 | ((guix build python-build-system) #:select (site-packages)) | ||
| 6530 | (guix build utils)) | ||
| 6531 | #:phases | ||
| 6532 | (with-extensions (list (pyproject-guile-json)) | ||
| 6533 | #~(modify-phases %standard-phases | ||
| 6534 | (add-after 'unpack 'create-pkg-info | ||
| 6535 | (lambda _ | ||
| 6536 | ;; Create PKG-INFO so DynamicVersion.cmake finds version without git. | ||
| 6537 | (call-with-output-file "PKG-INFO" | ||
| 6538 | (lambda (port) | ||
| 6539 | (format port "Metadata-Version: 2.1 | ||
| 6540 | Name: brille | ||
| 6541 | Version: ~a | ||
| 6542 | " #$version))))) | ||
| 6543 | (add-before 'configure 'set-version | ||
| 6544 | (lambda _ | ||
| 6545 | (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) | ||
| 6546 | (add-after 'install 'install-python | ||
| 6547 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 6548 | (let ((site-packages (site-packages inputs outputs))) | ||
| 6549 | (mkdir-p (string-append site-packages "/brille")) | ||
| 6550 | ;; Install Python source files and compiled extension module. | ||
| 6551 | (for-each (lambda (file) | ||
| 6552 | (install-file file | ||
| 6553 | (string-append site-packages "/brille"))) | ||
| 6554 | (append | ||
| 6555 | (find-files "../source/brille" "\\.py$") | ||
| 6556 | (find-files "." "^_brille\\..*\\.so$")))))))))) | ||
| 6557 | (native-inputs | ||
| 6558 | (list catch2-3 | ||
| 6559 | cmake-minimal | ||
| 6560 | highfive | ||
| 6561 | pybind11 | ||
| 6562 | python-wrapper | ||
| 6563 | python-setuptools | ||
| 6564 | python-setuptools-scm)) | ||
| 6565 | (inputs | ||
| 6566 | (list hdf5)) | ||
| 6567 | (propagated-inputs | ||
| 6568 | (list python-numpy)) | ||
| 6569 | (home-page "https://github.com/brille/brille") | ||
| 6570 | (synopsis "Symmetry operations and interpolation in Brillouin zones") | ||
| 6571 | (description | ||
| 6572 | "Brille is a C++ library for symmetry operations and linear interpolation | ||
| 6573 | within an irreducible part of the first Brillouin zone. It provides Python | ||
| 6574 | bindings via pybind11 for use in phonon calculations and inelastic neutron | ||
| 6575 | scattering simulations.") | ||
| 6576 | (license license:agpl3+))) | ||
| 6491 | ;;; | 6577 | ;;; |
| 6492 | ;;; Avoid adding new packages to the end of this file. To reduce the chances | 6578 | ;;; Avoid adding new packages to the end of this file. To reduce the chances |
| 6493 | ;;; of a merge conflict, place them above by existing packages with similar | 6579 | ;;; of a merge conflict, place them above by existing packages with similar |
