diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index cececca..c2742fb 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages texinfo) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (ice-9 regex)) @@ -211,6 +212,41 @@ Go. It also includes standard libraries for these languages.") (base32 "04sqn0ds17ys8l6zn7vyyvjz1a7hsk4zb0381vlw9wnr7az48nsl")))))) +(define (custom-gcc gcc name languages) + (package (inherit gcc) + (name name) + (arguments + (substitute-keyword-arguments (package-arguments gcc) + ((#:configure-flags flags) + (map (lambda (x) + (if (list? x) + (map (lambda (y) + (if (equal? "--enable-languages=c,c++" y) + (string-append "--enable-languages=" + languages) + y)) + x) + x)) + flags)))))) + +;; (define-public gcc-ada-4.8 +;; (custom-gcc gcc-4.8 "gcc-ada" "ada")) + +(define-public gcc-fortran-4.8 + (custom-gcc gcc-4.8 "gcc-fortran" "fortran")) + +(define-public gcc-go-4.8 + (custom-gcc gcc-4.8 "gcc-go" "go")) + +;; (define-public gcc-java-4.8 +;; (custom-gcc gcc-4.8 "gcc-java" "java")) + +(define-public gcc-objc-4.8 + (custom-gcc gcc-4.8 "gcc-objc" "objc")) + +(define-public gcc-objc++-4.8 + (custom-gcc gcc-4.8 "gcc-objc++" "obj-c++")) + (define-public isl (package (name "isl")