diff options
| author | Orahcio Felício de Sousa <orahcio@gmail.com> | 2026-08-26 11:16:59 -0300 |
|---|---|---|
| committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2026-08-26 21:04:17 +0100 |
| commit | 4030784ea5c3ec47bd3cde8aee7ffdaa3ed759fd (patch) | |
| tree | 66da5f3eb5d1ec0ade5e7393b09a370f00ef75ed /gnu/packages/maths.scm | |
| parent | e42227e1c7e7055e27cecada52ec801a75e44909 (diff) | |
gnu: Add go-github-com-cpmech-gosl.
* gnu/packages/maths.scm (go-github-com-cpmech-gosl): New variable.
Merges: guix/guix!10813
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/maths.scm')
| -rw-r--r-- | gnu/packages/maths.scm | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ecc8cece440..0f320675580 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm | |||
| @@ -76,6 +76,7 @@ | |||
| 76 | ;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io> | 76 | ;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io> |
| 77 | ;;; Copyright © 2026 Luca Alloatti <luca-guix@f-si.org> | 77 | ;;; Copyright © 2026 Luca Alloatti <luca-guix@f-si.org> |
| 78 | ;;; Copyright © 2026 Akiyoshi Suda <code@akiyoshisuda.com> | 78 | ;;; Copyright © 2026 Akiyoshi Suda <code@akiyoshisuda.com> |
| 79 | ;;; Copyright © 2026 Orahcio Felício de Sousa <orahcio@gmail.com> | ||
| 79 | ;;; | 80 | ;;; |
| 80 | ;;; This file is part of GNU Guix. | 81 | ;;; This file is part of GNU Guix. |
| 81 | ;;; | 82 | ;;; |
| @@ -108,6 +109,7 @@ | |||
| 108 | #:use-module (guix build-system copy) | 109 | #:use-module (guix build-system copy) |
| 109 | #:use-module (guix build-system dune) | 110 | #:use-module (guix build-system dune) |
| 110 | #:use-module (guix build-system glib-or-gtk) | 111 | #:use-module (guix build-system glib-or-gtk) |
| 112 | #:use-module (guix build-system go) | ||
| 111 | #:use-module (guix build-system gnu) | 113 | #:use-module (guix build-system gnu) |
| 112 | #:use-module (guix build-system meson) | 114 | #:use-module (guix build-system meson) |
| 113 | #:use-module (guix build-system ocaml) | 115 | #:use-module (guix build-system ocaml) |
| @@ -518,6 +520,75 @@ programming languages.") | |||
| 518 | problems. It processes input in the standard SMT-LIB format.") | 520 | problems. It processes input in the standard SMT-LIB format.") |
| 519 | (license (list license:expat license:bsd-3)))) | 521 | (license (list license:expat license:bsd-3)))) |
| 520 | 522 | ||
| 523 | (define-public go-github-com-cpmech-gosl | ||
| 524 | (package | ||
| 525 | (name "go-github-com-cpmech-gosl") | ||
| 526 | (version "1.2.12") | ||
| 527 | (source | ||
| 528 | (origin | ||
| 529 | (method git-fetch) | ||
| 530 | (uri (git-reference | ||
| 531 | (url "https://github.com/cpmech/gosl") | ||
| 532 | (commit (string-append "v" version)))) | ||
| 533 | (file-name (git-file-name name version)) | ||
| 534 | (sha256 | ||
| 535 | (base32 "1gfx8wqfrxsssprdf3ccgm60nv65dgsygwrx0a1ajga3lzp6iw2d")))) | ||
| 536 | (build-system go-build-system) | ||
| 537 | (arguments | ||
| 538 | (list | ||
| 539 | #:skip-build? #t | ||
| 540 | #:import-path "github.com/cpmech/gosl" | ||
| 541 | #:test-flags #~(list "-vet=off") | ||
| 542 | #:phases | ||
| 543 | #~(modify-phases %standard-phases | ||
| 544 | ;; Adapt la flags for Guix libraries. | ||
| 545 | (add-after 'unpack 'patch-la-flags | ||
| 546 | (lambda* (#:key import-path #:allow-other-keys) | ||
| 547 | (substitute* (string-append "src/" import-path "/la/flags.go") | ||
| 548 | (("_seq") ""))))))) | ||
| 549 | (propagated-inputs | ||
| 550 | (list fftw | ||
| 551 | gfortran | ||
| 552 | (list gfortran "lib") | ||
| 553 | lapack | ||
| 554 | metis | ||
| 555 | mumps | ||
| 556 | openblas | ||
| 557 | suitesparse)) | ||
| 558 | (home-page "https://github.com/cpmech/gosl") | ||
| 559 | (synopsis "Go Scientific Library") | ||
| 560 | (description | ||
| 561 | "Gosl is a set of tools for developing scientific simulations using the | ||
| 562 | Go programing language. It provides numerical methods and solvers for | ||
| 563 | differential equations but also present some functions for @acronym{Fast | ||
| 564 | Fourier Transforms, FFT}, the generation of random numbers, probability | ||
| 565 | distributions, and computational geometry. | ||
| 566 | |||
| 567 | Gosl includes the following Go packages: | ||
| 568 | |||
| 569 | @itemize | ||
| 570 | @item @code{chk} - to check numerical results and for unit testing | ||
| 571 | @item @code{fun} - special functions, DFT, FFT, Bessel, elliptical integrals, | ||
| 572 | orthogonal polynomials, interpolators | ||
| 573 | @item @code{gm} - geometry algorithms and structures | ||
| 574 | @item @code{hb} - pseudo hierarchical binary (hb) data file format | ||
| 575 | @item @code{io} - input/output, including printing to the terminal and | ||
| 576 | handling files | ||
| 577 | @item @code{la} - linear algebra: vector, matrix, efficient sparse solvers, | ||
| 578 | eigenvalues, decompositions | ||
| 579 | @item @code{num} - fundamental numerical methods such as root solvers, | ||
| 580 | non-linear solvers, numerical derivatives, and quadrature | ||
| 581 | @item @code{ode} - solvers for ordinary differential equations | ||
| 582 | @item @code{opt} - numerical optimization: Interior Point, Conjugate | ||
| 583 | Gradients, Powell, Grad Descent | ||
| 584 | @item @code{pde} - solvers for partial differential equations (FDM, Spectral, | ||
| 585 | FEM) | ||
| 586 | @item @code{rnd} - random numbers and probability distributions | ||
| 587 | @item @code{utl} - to generate series (e.g., linspace) and other functions as | ||
| 588 | in pylab/matlab/octave | ||
| 589 | @end itemize") | ||
| 590 | (license license:bsd-3))) | ||
| 591 | |||
| 521 | (define-public qdldl | 592 | (define-public qdldl |
| 522 | (package | 593 | (package |
| 523 | (name "qdldl") | 594 | (name "qdldl") |
