(define-module (glicid packages mpi) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) ; #:use-module (guix licenses) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages commencement) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module ((guix utils) #:select (target-64bit?)) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages freeipmi) #:use-module (gnu packages linux) #:use-module ((gnu packages mpi) #:prefix gnu:) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages parallel) #:use-module (gnu packages storage) #:use-module (gnu packages networking) #:use-module (gnu packages gtk) #:use-module (gnu packages python) #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages commencement) #:use-module (gnu packages gcc) #:use-module (gnu packages chemistry) #:use-module (gnu packages sphinx) #:use-module (srfi srfi-1) #:use-module (gnu packages mpi) #:use-module (gnu packages sssd) #:use-module (gnu packages fabric-management) #:use-module (gnu packages benchmark) #:use-module (gnu packages messaging) #:use-module (gnu packages web) #:use-module (gnu packages gnome) #:use-module (gnu packages cluster) #:use-module (gnu packages libevent) #:use-module (gnu packages xorg) #:use-module (gnu packages fontutils) #:use-module (gnu packages flex) #:use-module (gnu packages bison) #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) #:use-module (gnu packages fontutils) #:use-module (guix build-system gnu) #:use-module (gnu packages image) #:use-module (gnu packages maths) #:use-module (guix utils) #:use-module (gnu packages cmake) #:use-module (gnu packages pretty-print) #:use-module (gnu packages boost) #:use-module (gnu packages curl) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages xml) #:use-module (gnu packages admin) #:use-module (gnu packages assembly) #:use-module (gnu packages authentication) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages gperf) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx) #:use-module (gnu packages tls) #:use-module (gnu packages web) ;; #:use-module (gnu packages glicid) #:use-module (gnu packages pretty-print) #:use-module (gnu packages virtualization) #:use-module (glicid packages gcc) #:use-module (glicid packages linux) #:use-module (glicid packages fabric-management) #:use-module (glicid utils) #:use-module (gnu packages parallel) #:use-module (glicid packages parallel) ) (define openmpi-latest gnu:openmpi) (define (transform-package original-package suffix) (package (inherit original-package) (name (string-append (package-name original-package) "-" suffix )) ) ) (define (instead-of package-a-spec package-b) (package-input-rewriting/spec `( (,package-a-spec . ,(const package-b) ) ; #:deep? #t ) ) ) (define-public openmpi-glicid (transform-package ((instead-of "slurm" slurm-glicid) openmpi) "glicid")) (define-public openmpi-glicid-libfabric (transform-package ((instead-of "libfabric" libfabric-latest) openmpi-glicid) "libfabric")) (define-public openmpi-glicid-rdma (transform-package ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid) "rdma-core")) (define-public openmpi-glicid-ucx (transform-package ((instead-of "ucx" ucx-latest) openmpi-glicid) "ucx")) (define-public openmpi-glicid-libfabric-rdma (transform-package ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid-libfabric) "rdma")) (define-public openmpi-glicid-libfabric-ucx (transform-package ((instead-of "ucx" ucx-latest) openmpi-glicid-libfabric) "ucx")) (define-public openmpi-glicid-libfabric-rdma-ucx (transform-package ((instead-of "ucx" ucx-latest) openmpi-glicid-libfabric-rdma) "ucx")) (define openmpi-glicid-transform-gcc-11 (gcc11-instead-of-gcc openmpi-glicid)) (define-public openmpi-glicid-gcc-11 (package (inherit openmpi-glicid-transform-gcc-11) (name (string-append (package-name openmpi-glicid-transform-gcc-11) "-gcc-11" )) ) )