guix-glicid/glicid/packages/maths.scm

141 lines
7.4 KiB
Scheme
Raw Normal View History

(define-module (glicid packages maths)
2025-02-10 13:12:59 +01:00
#:use-module (guix packages)
#:use-module (glicid utils)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module ((gnu packages maths) #:prefix gnu:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages mpi)
#:use-module ((guix licenses) #:prefix license:)
)
(define-public scalapack-upstream
2025-02-10 13:12:59 +01:00
(package
(inherit gnu:scalapack)
(name "scalapack-upstream")
(version "2.1.0-new-upstream")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://oauth2:glpat-RsX2GjsD2WrzXubiJeou@gitlab.univ-nantes.fr/CCIPL/legacy_code_mirror/scalapack.git")
(commit "myv2.0.2")))
(file-name "scalapack-univ-myv2")
(sha256 (base32 "1ccic46psf2hl9wsyflvkn5rxg8k17q578m9mzimvm9brbggf0na"))))
(arguments
`(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES")
#:phases (modify-phases %standard-phases
(add-before 'check 'mpi-setup
,%openmpi-setup))))))
(define local:scalapack scalapack-upstream)
2025-02-10 13:12:59 +01:00
(define-public scalapack-latest (latest-version local:scalapack gnu:scalapack))
(define-public openblas-upstream-0.3.15
2025-02-10 13:12:59 +01:00
(package
(inherit gnu:openblas)
(name "openblas-upstream")
(version "0.3.15")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xianyi/OpenBLAS/releases/download/v" version "/OpenBLAS-" version ".tar.gz"))
(sha256 (base32 "1gjbkrsh6n28hdp2ciyjigc8vg764d2r0jbzl63v753mjzn9va9h"))))))
2023-09-13 12:11:51 +02:00
(define-public hdf5-glicid
2025-02-10 13:12:59 +01:00
(package
(inherit gnu:hdf5-parallel-openmpi)
(name "hdf5-glicid")
(inputs (modify-inputs (package-inputs gnu:hdf5-parallel-openmpi)
(prepend gfortran-toolchain)))))
2023-03-23 09:11:55 +01:00
2025-02-10 13:12:59 +01:00
(define local:openblas openblas-upstream-0.3.15)
(define-public scalapack-latest (latest-version local:openblas gnu:openblas))
2023-03-23 09:11:55 +01:00
(define-public libsolv-upstream
2025-02-10 13:12:59 +01:00
(package
(name "libsolv")
(version "0.7.23")
(source (origin
2023-03-23 09:11:55 +01:00
(method git-fetch)
(uri (git-reference
(url "https://github.com/openSUSE/libsolv.git")
(commit version)))
(file-name (string-append name "-" version ".tar.gz"))
2025-02-10 13:12:59 +01:00
(sha256 (base32 "12z63kcna9swh3vzxk3sac0l4by5z8q22wip9cyq5b7wp9m3hn4b"))))
(build-system cmake-build-system)
(inputs (list zlib))
(home-page "https://github.com/openSUSE/libsolv")
(synopsis "libsolv, a free package dependency solver using a satisfiability algorithm.")
(description "libsolv, a free package dependency solver using a satisfiability algorithm.")
(license license:bsd-3)) )
2023-03-23 09:11:55 +01:00
(define-public glicid-dealii
2025-02-10 13:12:59 +01:00
(package
(inherit gnu:dealii)
(version "9.6.0")
(name "glicid-dealii")
(arguments
(list #:build-type "Release"
#:tests? #f
#:configure-flags
#~(let ((doc (string-append #$output:doc "/share/doc/"
#$name "-" #$version)))
(list "-DDEAL_II_COMPONENT_DOCUMENTATION=OFF"
(string-append "-DCMAKE_CXX_FLAGS='-march=znver3'")
(string-append "-DDEAL_II_DOCREADME_RELDIR=" doc)
(string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html")
"-DDEAL_II_COMPILE_EXAMPLES=OFF"
(string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc
"/examples")))
#:phases
#~(modify-phases %standard-phases
(add-after 'set-paths 'unset-cpath
(lambda _
(unsetenv "CPATH")))
(add-after 'install 'remove-build-logs
(lambda _
(let ((doc (string-append #$output:doc "/share/doc/"
#$name "-" #$version)))
(for-each delete-file
(map (lambda (f) (string-append doc "/" f))
'("detailed.log" "summary.log"))))))))) ))
(define trilinos-for-dealii-openmpi
(@@ (gnu packages maths) trilinos-for-dealii-openmpi))
(define-public glicid-dealii-openmpi
2025-02-10 13:12:59 +01:00
(package
(inherit glicid-dealii)
(name "glicid-dealii-openmpi")
(inputs
(modify-inputs (package-inputs glicid-dealii)
(delete "arpack")
(prepend gnu:arpack-ng-openmpi
gnu:metis
gnu:scalapack)))
(propagated-inputs
(modify-inputs (package-propagated-inputs glicid-dealii)
(delete "hdf5" "kokkos" "sundials")
(prepend gnu:hdf5-parallel-openmpi
openmpi
gnu:p4est-openmpi
gnu:petsc-openmpi
gnu:slepc-openmpi
gnu:sundials-openmpi
trilinos-for-dealii-openmpi)))
(arguments
(substitute-keyword-arguments (package-arguments glicid-dealii)
((#:configure-flags flags)
#~(cons "-DDEAL_II_WITH_MPI=ON" #$flags))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(delete 'unset-cpath)))))
(synopsis "Finite element library (with MPI support)")))