mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-06-17 17:51:45 +02:00
reformatting and cleaning repo
This commit is contained in:
parent
263fc568f0
commit
dd9a55f327
42 changed files with 10407 additions and 11840 deletions
|
@ -1,296 +1,140 @@
|
|||
(define-module (glicid packages maths)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((gnu packages maths) #:prefix gnu:)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (glicid utils)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system dune)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system ocaml)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system ruby)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages coq)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages datamash)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages prolog)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages scheme)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages simulation)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
(define-public scalapack-upstream
|
||||
(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")
|
||||
;; (patches (search-patches "scalapack-blacs-mpi-deprecations.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ccic46psf2hl9wsyflvkn5rxg8k17q578m9mzimvm9brbggf0na"))))
|
||||
(arguments
|
||||
`(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'mpi-setup
|
||||
,%openmpi-setup))))))
|
||||
#: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 local:scalapack
|
||||
scalapack-upstream)
|
||||
(define-public scalapack-latest
|
||||
(latest-version local:scalapack gnu:scalapack))
|
||||
(define-public scalapack-upstream
|
||||
(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)
|
||||
|
||||
(define-public scalapack-latest (latest-version local:scalapack gnu:scalapack))
|
||||
|
||||
(define-public openblas-upstream-0.3.15
|
||||
(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"))))))
|
||||
(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"))))))
|
||||
|
||||
|
||||
(define-public hdf5-glicid
|
||||
(package
|
||||
(inherit gnu:hdf5-parallel-openmpi)
|
||||
(name "hdf5-glicid")
|
||||
(inputs (modify-inputs (package-inputs gnu:hdf5-parallel-openmpi)
|
||||
(prepend gfortran-toolchain)))))
|
||||
(package
|
||||
(inherit gnu:hdf5-parallel-openmpi)
|
||||
(name "hdf5-glicid")
|
||||
(inputs (modify-inputs (package-inputs gnu:hdf5-parallel-openmpi)
|
||||
(prepend gfortran-toolchain)))))
|
||||
|
||||
|
||||
(define local:openblas
|
||||
openblas-upstream-0.3.15)
|
||||
(define-public scalapack-latest
|
||||
(latest-version local:openblas gnu:openblas))
|
||||
|
||||
|
||||
(use-modules (guix packages))
|
||||
(use-modules (guix download))
|
||||
(use-modules (gnu packages linux))
|
||||
(use-modules (gnu packages gcc))
|
||||
(use-modules (gnu packages compression))
|
||||
|
||||
;(use-modules (gnu packages glicid))
|
||||
(use-modules (guix git-download))
|
||||
(use-modules (guix build-system cmake))
|
||||
(use-modules ((guix licenses)
|
||||
#:prefix license:))
|
||||
|
||||
(define local:openblas openblas-upstream-0.3.15)
|
||||
(define-public scalapack-latest (latest-version local:openblas gnu:openblas))
|
||||
|
||||
(define-public libsolv-upstream
|
||||
(package
|
||||
(name "libsolv")
|
||||
(version "0.7.23")
|
||||
(source (origin
|
||||
(package
|
||||
(name "libsolv")
|
||||
(version "0.7.23")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openSUSE/libsolv.git")
|
||||
(commit version)))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(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))
|
||||
)
|
||||
(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)) )
|
||||
|
||||
(define-public glicid-dealii
|
||||
(package
|
||||
(inherit gnu:dealii)
|
||||
(version "9.6.0")
|
||||
(name "glicid-dealii")
|
||||
(arguments
|
||||
(list #:build-type "Release" ; Only Debug, Release or DebugRelease.
|
||||
;; The tests take too long and must be explicitly enabled with
|
||||
;; "make setup_tests".
|
||||
;; See https://www.dealii.org/developer/developers/testsuite.html.
|
||||
;; (They can also be run for an already installed deal.II.)
|
||||
#: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")
|
||||
;; Don't compile the examples because the source and
|
||||
;; CMakeLists.txt are installed anyway, allowing users to
|
||||
;; do so for themselves.
|
||||
"-DDEAL_II_COMPILE_EXAMPLES=OFF"
|
||||
(string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc
|
||||
"/examples")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Without unsetting CPATH, the build fails with the following
|
||||
;; error (similar to <https://bugs.gnu.org/30756>):
|
||||
;;
|
||||
;; /gnu/store/…-gcc-11.3.0/include/c++/math.h:30:16: fatal error: math.h: No such file or directory
|
||||
;; 30 | # include_next <math.h>
|
||||
;; | ^~~~~~~~
|
||||
;;
|
||||
;; Why does unsetting CPATH magically fix the error?
|
||||
;; TODO: Properly fix this issue.
|
||||
(add-after 'set-paths 'unset-cpath
|
||||
(lambda _
|
||||
(unsetenv "CPATH")))
|
||||
(add-after 'install 'remove-build-logs
|
||||
;; These build logs leak the name of the build directory by
|
||||
;; storing the values of CMAKE_SOURCE_DIR and
|
||||
;; CMAKE_BINARY_DIR.
|
||||
(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")))))))))
|
||||
))
|
||||
|
||||
(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
|
||||
(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
|
||||
;; The build failure fixed by this phase does not manifest when
|
||||
;; Kokkos is included via Trilinos.
|
||||
(delete 'unset-cpath)))))
|
||||
(synopsis "Finite element library (with MPI support)")))
|
||||
|
||||
(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)")))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue