diff --git a/glicid/packages/mpi.scm b/glicid/packages/mpi.scm index 34191ce..1732f36 100644 --- a/glicid/packages/mpi.scm +++ b/glicid/packages/mpi.scm @@ -100,6 +100,9 @@ ) +(define openmpi-latest gnu:openmpi) + + (define (transform-package original-package suffix) (package (inherit original-package) @@ -107,105 +110,48 @@ ) ) -(define openmpi-latest gnu:openmpi) -(define-public openmpi-glicid package-input-rewriting/spec `( - ("slurm" . ,slurm-20.02) ;; we need this for glicid - #:deep? #t +(define (instead-of package-a-spec package-b) + (package-input-rewriting/spec `( + (,package-a-spec . ,(const package-b) + ) + ; #:deep? #t ) - (transform-package openmpi-latest "glicid")) - -(define-public openmpi-glicid-with-newer-rdma-core package-input-rewriting/spec `( - ("rdma-core" . ,rdma-core-latest) ;; defined on glicid - #:deep? #t - ) - (transform-package openmpi-latest "-with-newer-rdma")) - - - - -;(define-public openmpi-glicid (transform-package openmpi "glicid")) - - -;(define-public openmpi-glicid-b -; (package -; (inherit gnu:openmpi) -; (name (string-append (package-name openmpi-latest) "-glicid" )) -; -; (inputs `( -; (package-input-rewriting `( -; (,slurm . ,slurm-20.02) ;; we need this for glicid -; )) -; ,@(package-inputs openmpi-latest))) -; ) -;) - - -;(define-public openmpi-glicid-with-newer-rdma-core -; (package -; (inherit openmpi-glicid) -; (name (string-append (package-name openmpi-glicid) "-with-newer-rdma-core" )) -; -; (inputs `( -; (package-input-rewriting `( -; (,rdma-core . ,rdma-core-latest) ;; we need this for glicid -; )) -; -; ,@(package-inputs openmpi-glicid))) -; ) -;) - -(define-public openmpi-glicid-with-newer-libfabric - (package - (inherit openmpi-glicid) - (name (string-append (package-name openmpi-glicid) "-with-newer-libfabric" )) - - (inputs `( - ,@(package-input-rewriting `( - (,libfabric . ,libfabric-latest) ;; we need this for glicid - )) - - ,@(package-inputs openmpi-glicid))) - ) -) - -(define-public openmpi-glicid-with-newer-ucx - (package - (inherit openmpi-glicid) - (name (string-append (package-name openmpi-glicid) "-with-newer-ucx" )) - - (inputs `( - (package-input-rewriting `( - (,ucx . ,ucx-latest) ;; we need this for glicid - )) - - ,@(package-inputs openmpi-glicid))) - ) -) - -(define-public openmpi-glicid-with-newer-libfabric-rdma - (package - (inherit openmpi-glicid-with-newer-libfabric) - (name (string-append (package-name openmpi-glicid-with-newer-libfabric) "-rdma" )) - - (inputs `( - (package-input-rewriting `( - (,rdma-core . ,rdma-core-latest) ;; we need this for glicid - )) - - ,@(package-inputs openmpi-glicid-with-newer-libfabric))) - ) + ) ) -(define openmpi-glicid-transform-gcc-11 +(define slurm20-instead-of-slurm (instead-of "slurm" slurm-20.02)) + + +(define openmpi-glicid + (transform-package + ((instead-of "slurm" slurm-20.02) openmpi) "glicid")) + +(define openmpi-glicid-libfabric + (transform-package + ((instead-of "libfabric" libfabric-latest) openmpi-glicid) "libfabric")) + +(define openmpi-glicid-rdma + (transform-package + ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid) "rdma-core")) + +(define openmpi-glicid-ucx + (transform-package + ((instead-of "ucx" ucx-latest) openmpi-glicid) "ucx")) + +(define openmpi-glicid-libfabric-rdma + (transform-package + ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid-libfabric) "rdma")) + + +(define openmpi-glicid-transform-gcc-11 (gcc11-instead-of-gcc openmpi-glicid)) (define-public openmpi-glicid-gcc-11 - (package + (package (inherit openmpi-glicid-transform-gcc-11) (name (string-append (package-name openmpi-glicid-transform-gcc-11) "-gcc-11" )) ) ) -openmpi-glicid