diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index aed2e8925e..938c38e670 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -281,10 +281,13 @@ (define-public gcc-4.9 (base32 "0zki3ngi0gsidnmsp88mjl2868cc7cm5wm1vwqw6znja28d7hd6k")))))) -(define (custom-gcc gcc name languages) +(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t)) "Return a custom version of GCC that supports LANGUAGES." (package (inherit gcc) (name name) + (outputs (if separate-lib-output? + (package-outputs gcc) + (delete "lib" (package-outputs gcc)))) (arguments (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system) (guix build utils) @@ -302,7 +305,11 @@ (define-public gfortran-4.8 (custom-gcc gcc-4.8 "gfortran" '("fortran"))) (define-public gccgo-4.8 - (custom-gcc gcc-4.8 "gccgo" '("go"))) + (custom-gcc gcc-4.8 "gccgo" '("go") + ;; Suppress the separate "lib" output, because otherwise the + ;; "lib" and "out" outputs would refer to each other, creating + ;; a cyclic dependency. + #:separate-lib-output? #f)) (define-public gcc-objc-4.8 (custom-gcc gcc-4.8 "gcc-objc" '("objc")))