gnu: Add 'gcc-toolchain'.
* gnu/packages/base.scm (gcc-toolchain): New procedure. (gcc-toolchain-4.8): New variable.
This commit is contained in:
		
							parent
							
								
									7458bd0a4a
								
							
						
					
					
						commit
						a28ef66e04
					
				
					 1 changed files with 42 additions and 0 deletions
				
			
		|  | @ -1133,4 +1133,46 @@ store.") | |||
|       ("gcc" ,gcc-final) | ||||
|       ("libc" ,glibc-final)))) | ||||
| 
 | ||||
| (define (gcc-toolchain gcc) | ||||
|   "Return a complete toolchain for GCC." | ||||
|   (package | ||||
|     (name "gcc-toolchain") | ||||
|     (version (package-version gcc)) | ||||
|     (source #f) | ||||
|     (build-system trivial-build-system) | ||||
|     (arguments | ||||
|      '(#:modules ((guix build union)) | ||||
|        #:builder (begin | ||||
|                    (use-modules (ice-9 match) | ||||
|                                 (guix build union)) | ||||
| 
 | ||||
|                    (match %build-inputs | ||||
|                      (((names . directories) ...) | ||||
|                       (union-build (assoc-ref %outputs "out") | ||||
|                                    directories))) | ||||
| 
 | ||||
|                    (union-build (assoc-ref %outputs "debug") | ||||
|                                 (list (assoc-ref %build-inputs | ||||
|                                                  "libc-debug")))))) | ||||
|     (license (package-license gcc)) | ||||
|     (synopsis "Complete GCC tool chain for C/C++ development") | ||||
|     (description | ||||
|      "This package provides a complete GCC tool chain for C/C++ development to | ||||
| 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 "http://gcc.gnu.org/") | ||||
|     (outputs '("out" "debug")) | ||||
| 
 | ||||
|     ;; 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 | ||||
|     ;; before Binutils' ld in the user's profile. | ||||
|     (inputs `(("gcc" ,gcc) | ||||
|               ("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper"))) | ||||
|               ("binutils" ,binutils-final) | ||||
|               ("libc" ,glibc-final) | ||||
|               ("libc-debug" ,glibc-final "debug"))))) | ||||
| 
 | ||||
| (define-public gcc-toolchain-4.8 | ||||
|   (gcc-toolchain gcc-final)) | ||||
| 
 | ||||
| ;;; base.scm ends here | ||||
|  |  | |||
		Reference in a new issue