~ruther/guix-local

c4df90a594672042ae106730ab5ce07fe85cf46f — Mark H Weaver 11 years ago 1b13df5
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'.
1 files changed, 9 insertions(+), 2 deletions(-)

M gnu/packages/gcc.scm
M gnu/packages/gcc.scm => gnu/packages/gcc.scm +9 -2
@@ 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")))