From b38a292b8f50a68a1dc680058d82e847eb1fc7bb Mon Sep 17 00:00:00 2001 From: Yann Dupont Date: Mon, 22 Nov 2021 23:00:51 +0100 Subject: [PATCH] gcc transformation moved to utils --- glicid/packages/cluster.scm | 5 +- glicid/packages/fabric-management.scm | 73 ++++++++------------------- glicid/packages/mpi.scm | 24 +-------- glicid/utils.scm | 25 +++++++++ 4 files changed, 50 insertions(+), 77 deletions(-) diff --git a/glicid/packages/cluster.scm b/glicid/packages/cluster.scm index 80fd708..a1165ed 100644 --- a/glicid/packages/cluster.scm +++ b/glicid/packages/cluster.scm @@ -92,7 +92,6 @@ #:use-module (glicid utils) ) - ;;;;;;;; (define-public keepalived-2.2.4 @@ -115,7 +114,9 @@ ) ) -(define keepalived-latest (latest-version keepalived-2.2.4 gnu:keepalived)) +(define local:keepalived keepalived-2.2.4) +(define keepalived-latest (latest-version local:keepalived gnu:keepalived)) + (define-public keepalived-glicid (package diff --git a/glicid/packages/fabric-management.scm b/glicid/packages/fabric-management.scm index bda6f76..9cd7245 100644 --- a/glicid/packages/fabric-management.scm +++ b/glicid/packages/fabric-management.scm @@ -112,72 +112,41 @@ ) ) -; (define-public ucx ucx-1.11.2) +(define local:ucx ucx-1.11.2) -(define-public glicid-ucx +(define-public ucx-latest (latest-version local:ucx gnu:ucx)) + +(define-public ucx-glicid (package - (inherit ucx) - (name "glicid-ucx") + (inherit ucx-latest) (inputs `( ("libfabric", libfabric) ;; latest of glicid or gnu version ("rdma-core",rdma-core) ;; latest of glicid or gnu version - ,@(package-inputs ucx))) + ,@(package-inputs ucx-latest))) ) ) -(define-public glicid-ucx-gcc-11 - (package - (inherit ucx) - (name "glicid-ucx-gcc-11") +(define ucx-glicid-transform-gcc-10 + (gcc10-instead-of-gcc ucx-glicid)) - (inputs `(("gcc-11", gcc-11) - ("gfortran-11", gfortran-11) - ,@(package-inputs ucx))) - ) +(define ucx-glicid-transform-gcc-11 + (gcc11-instead-of-gcc ucx-glicid)) + +(define-public ucx-glicid-gcc-10 + (package + (inherit ucx-glicid-transform-gcc-10) + (version (string-append (package-version ucx-glicid-transform-gcc-10) "-gcc-10" )) + ) ) -(define-public glicid-ucx-gcc-10 - (package - (inherit ucx) - (name "glicid-ucx-gcc-10") - - (inputs `(("gcc-10", gcc-10) - ("gfortran-10", gfortran-10) - ,@(package-inputs ucx))) - ) +(define-public ucx-glicid-gcc-11 + (package + (inherit ucx-glicid-transform-gcc-11) + (version (string-append (package-version ucx-glicid-transform-gcc-11) "-gcc-11" )) + ) ) -(define-public glicid-specific-ucx-gcc-11 - (package - (inherit ucx) - (name "glicid-specific-ucx-gcc-11") - (version "1.10.0") - - (inputs `(("gcc", gcc-11) - ("gfortran", gfortran-11) - ("libfabric", glicid-libfabric-gcc-11) - ("rdma-core",glicid-rdma-core-gcc-11) - - ,@(package-inputs ucx))) - ) -) - -(define-public glicid-specific-ucx-gcc-10 - (package - (inherit ucx) - (name "glicid-specific-ucx-gcc-10") - - - (inputs `(("gcc", gcc-10) - ("gfortran", gfortran-10) - ("libfabric", glicid-libfabric-gcc-11) - ("rdma-core",glicid-rdma-core-gcc-11) - - ,@(package-inputs ucx))) - ) -) - ;;; glicid/fabric-management.scm ends here diff --git a/glicid/packages/mpi.scm b/glicid/packages/mpi.scm index ae020bb..08b8f66 100644 --- a/glicid/packages/mpi.scm +++ b/glicid/packages/mpi.scm @@ -93,9 +93,7 @@ #:use-module (glicid packages gcc) #:use-module (glicid packages linux) #:use-module (glicid packages fabric-management) - - - + #:use-module (glicid utils) ) @@ -112,26 +110,6 @@ ) ) -(use-modules (guix transformations)) - - -(define gcc11-instead-of-gcc - ;; This is a procedure to replace GCC by GCC11, - ;; recursively. -; (package-input-rewriting/spec `((,gcc-toolchain . ,(const gcc-toolchain-11))))) - (package-input-rewriting `( - (,gcc-toolchain . ,gcc-toolchain-11) - (,gfortran-toolchain . ,gfortran-toolchain-11) - ) - ) -) - -(define gcc10-instead-of-gcc - ;; This is a procedure to replace GCC by GCC10, - ;; recursively. -; (package-input-rewriting/spec `((,gcc-toolchain . ,(const gcc-toolchain-10))))) - (package-input-rewriting `((,gcc-toolchain . ,gcc-toolchain-10)))) - (define openmpi-glicid-transform-gcc-10 (gcc10-instead-of-gcc openmpi-glicid)) diff --git a/glicid/utils.scm b/glicid/utils.scm index 7c317a6..339620f 100644 --- a/glicid/utils.scm +++ b/glicid/utils.scm @@ -1,8 +1,33 @@ (define-module (glicid utils) #:use-module (guix packages) + #:use-module (guix transformations) + #:use-module (gnu packages gcc) + #:use-module (glicid packages gcc) + #:use-module (gnu packages commencement) #:export (latest-version) + #:export (gcc11-instead-of-gcc) + #:export (gcc10-instead-of-gcc) + ) ;; helper function ;; return latest version of 2 packages (define (latest-version v1 v2) (if (string> (package-version v1) (package-version v2)) v1 v2)) + +(define gcc11-instead-of-gcc + ;; This is a procedure to replace GCC by GCC11, + ;; recursively. +; (package-input-rewriting/spec `((,gcc-toolchain . ,(const gcc-toolchain-11))))) + (package-input-rewriting `( + (,gcc-toolchain . ,gcc-toolchain-11) + (,gfortran-toolchain . ,gfortran-toolchain-11) + ) + ) +) + +(define gcc10-instead-of-gcc + ;; This is a procedure to replace GCC by GCC10, + ;; recursively. +; (package-input-rewriting/spec `((,gcc-toolchain . ,(const gcc-toolchain-10))))) + (package-input-rewriting `((,gcc-toolchain . ,gcc-toolchain-10)))) +