From 86d02fa8010c053ba980e4c39373b9bf8af0561d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 6 Oct 2017 14:09:37 +0300 Subject: [PATCH] gnu: libstdc++: Rewrite as 'make-libstdc++' package. * gnu/packages/commencement.scm (libstdc++): Rewrite the package using the 'make-libstdc++' method. --- gnu/packages/commencement.scm | 51 ++++++++++++++++------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index af4c35e939..93199d210d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -690,34 +690,29 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (define libstdc++ ;; Intermediate libstdc++ that will allow us to build the final GCC ;; (remember that GCC-BOOT0 cannot build libstdc++.) - ;; TODO: Write in terms of 'make-libstdc++'. - (package-with-bootstrap-guile - (package (inherit gcc) - (name "libstdc++") - (arguments - `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:allowed-references ("out") - #:out-of-source? #t - #:phases (alist-cons-before - 'configure 'chdir - (lambda _ - (chdir "libstdc++-v3")) - %standard-phases) - #:configure-flags `("--disable-shared" - "--disable-libstdcxx-threads" - "--disable-libstdcxx-pch" - ,(string-append "--with-gxx-include-dir=" - (assoc-ref %outputs "out") - "/include" - ;; "/include/c++/" - ;; ,(package-version gcc) - )))) - (outputs '("out")) - (inputs %boot2-inputs) - (native-inputs '()) - (propagated-inputs '()) - (synopsis "GNU C++ standard library (intermediate)")))) + (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc)))) + (package + (inherit lib) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + #:allowed-references ("out") + + ;; XXX: libstdc++.so NEEDs ld.so for some reason. + #:validate-runpath? #f + + ;; All of the package arguments from 'make-libstdc++ + ;; except for the configure-flags. + ,@(package-arguments lib) + #:configure-flags `("--disable-shared" + "--disable-libstdcxx-threads" + "--disable-libstdcxx-pch" + ,(string-append "--with-gxx-include-dir=" + (assoc-ref %outputs "out") + "/include")))) + (outputs '("out")) + (inputs %boot2-inputs) + (synopsis "GNU C++ standard library (intermediate)")))) (define zlib-final ;; Zlib used by GCC-FINAL.