summary refs log tree commit diff
path: root/gnu/packages/gcc.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-07-31 18:19:22 -0400
committerMark H Weaver <mhw@netris.org>2014-07-31 18:26:07 -0400
commitc4df90a594672042ae106730ab5ce07fe85cf46f (patch)
tree5359be7766242b8c26c209da53831be4e72282c2 /gnu/packages/gcc.scm
parent1b13df509e435a08e1472347edbcd79c0c3eb9a7 (diff)
downloadguix-c4df90a594672042ae106730ab5ce07fe85cf46f.tar.gz
gnu: gccgo: Suppress the separate "lib" output.
Fixes <http://debbugs.gnu.org/18101>.

* gnu/packages/gcc.scm (custom-gcc): Add 'separate-lib-output?'
  keyword argument.
  (gccgo-4.8): Pass #:separate-lib-output? #f to 'custom-gcc'.
Diffstat (limited to 'gnu/packages/gcc.scm')
-rw-r--r--gnu/packages/gcc.scm11
1 files changed, 9 insertions, 2 deletions
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 @@ Go.  It also includes runtime support libraries for these languages.")
               (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 @@ Go.  It also includes runtime support libraries for these languages.")
   (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.  <http://debbugs.gnu.org/18101>
+              #:separate-lib-output? #f))
 
 (define-public gcc-objc-4.8
   (custom-gcc gcc-4.8 "gcc-objc" '("objc")))