(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))))