From 5a48a066ab40435b050c5601038343ca2ccb834a Mon Sep 17 00:00:00 2001
From: Ludovic Courtès <ludo@gnu.org>
Date: Sat, 28 Apr 2018 22:27:49 +0200
Subject: gnu: gcc-toolchain: Add "static" output.

This allows the use of 'gcc-toolchain' to create statically-linked
executables (requires libc.a.)

* gnu/packages/commencement.scm (make-gcc-toolchain): Add "static"
output.  Add "libc-static" to 'inputs'.  Add call to 'union-build' for
the "static" output.
---
 gnu/packages/commencement.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

(limited to 'gnu/packages')

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index fe9fbebcc2..1026ee8929 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1026,7 +1026,10 @@ (define (make-gcc-toolchain gcc)
 
                      (union-build (assoc-ref %outputs "debug")
                                   (list (assoc-ref %build-inputs
-                                                   "libc-debug")))))))
+                                                   "libc-debug")))
+                     (union-build (assoc-ref %outputs "static")
+                                  (list (assoc-ref %build-inputs
+                                                   "libc-static")))))))
 
     (native-search-paths (package-native-search-paths gcc))
     (search-paths (package-search-paths gcc))
@@ -1038,7 +1041,7 @@ (define (make-gcc-toolchain gcc)
 be installed in user profiles.  This includes GCC, as well as libc (headers
 and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
     (home-page "https://gcc.gnu.org/")
-    (outputs '("out" "debug"))
+    (outputs '("out" "debug" "static"))
 
     ;; The main raison d'être of this "meta-package" is (1) to conveniently
     ;; install everything that we need, and (2) to make sure ld-wrapper comes
@@ -1047,7 +1050,8 @@ (define (make-gcc-toolchain gcc)
               ("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper")))
               ("binutils" ,binutils-final)
               ("libc" ,glibc-final)
-              ("libc-debug" ,glibc-final "debug")))))
+              ("libc-debug" ,glibc-final "debug")
+              ("libc-static" ,glibc-final "static")))))
 
 (define-public gcc-toolchain-4.8
   (make-gcc-toolchain gcc-4.8))
-- 
cgit v1.2.3