From patchwork Fri Nov 29 17:46:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Konrad Hinsen X-Patchwork-Id: 16318 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 90E361781F; Sat, 30 Nov 2019 14:51:11 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 454FF17811 for ; Sat, 30 Nov 2019 14:51:11 +0000 (GMT) Received: from localhost ([::1]:40848 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ib45W-0003kp-MA for patchwork@mira.cbaines.net; Sat, 30 Nov 2019 09:51:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47209) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ib45P-0003k6-NP for guix-patches@gnu.org; Sat, 30 Nov 2019 09:51:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ib45O-0007PE-BB for guix-patches@gnu.org; Sat, 30 Nov 2019 09:51:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:56125) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ib45O-0007Nc-6y for guix-patches@gnu.org; Sat, 30 Nov 2019 09:51:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ib45O-0002Zm-5j for guix-patches@gnu.org; Sat, 30 Nov 2019 09:51:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#38436] [PATCH] gnu; Add gfortran-toolchain Resent-From: Konrad Hinsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 Nov 2019 14:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38436 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 38436@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15751254439870 (code B ref -1); Sat, 30 Nov 2019 14:51:01 +0000 Received: (at submit) by debbugs.gnu.org; 30 Nov 2019 14:50:43 +0000 Received: from localhost ([127.0.0.1]:33865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ib455-0002Z8-7V for submit@debbugs.gnu.org; Sat, 30 Nov 2019 09:50:43 -0500 Received: from lists.gnu.org ([209.51.188.17]:56378) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ib454-0002Z0-4K for submit@debbugs.gnu.org; Sat, 30 Nov 2019 09:50:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47164) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ib450-0003gc-27 for guix-patches@gnu.org; Sat, 30 Nov 2019 09:50:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ib44y-0006Id-Hr for guix-patches@gnu.org; Sat, 30 Nov 2019 09:50:37 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:55145) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ib44y-00068B-2T for guix-patches@gnu.org; Sat, 30 Nov 2019 09:50:36 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 95B61782; Sat, 30 Nov 2019 09:50:31 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Sat, 30 Nov 2019 09:50:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= from:to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=fm2; bh=orwS37FyezlXjSS4O8NDyOyvXU fxcdAch623ANJkyCg=; b=mkRY4JxvydyG5WqCo2id2PTk3HIqbMsv6MHhWKK0To RgoKBF8AfsF71zKn2aP8f5/jNOYP32el8MnveMP4aJyb3ZARcacERjdoGvekjzQn QYMoY1zwjgP7s5eQay2bAyYvQL+L3usvpCCFNIcQzWVl4EnjXQZ2G0WpKcQEC19V u7Wg59AhFoWTcU1nG2su+rZVGPz3QVUupdQ96f4cVfY60wYDpVZawXQPX6McnA+B Rjl2ekQtr7pUloR/fwSeGKjEKtHpS43VnkB9R3CjHkdtX3C+ASuNUDvG0eDKHjBs M2rjnFpuzQVDtulTD1mc8vtsO9t6iT3YOn6KcClMrS2Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=orwS37 FyezlXjSS4O8NDyOyvXUfxcdAch623ANJkyCg=; b=SLhO3Wd1koeSjVogXRwNlz r10/sW9qEHt04HrHTr3RhlRUoYXd5sg9o1gvSoSkcGQBW0XPGrBoJY6y2i9VQZXk 7m//JB48DRlpJ50oCdIjfQ1lk2oKmz8C3/zxbVn1M4SxtkZ7JwvAVCAp9gZwSMnW ohXc9lWvcnLeZqEgh8MLI/4wbsjMQH6BOv1hfJnTJLf+SywXB0Ad/e3JLpvldUh8 bW4FsWFixB069Qd0AQZJbXHnKdqqT6f0lRqPShShNwp27yTZlDeYwsF2JwMWHG/j +ihmt7VQuA/Xu/y7/CQ+LPal6gEepNcL0LkY6sFQiZCsXR7fyLwIZ03HHJEk54Hg == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudejuddgjedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkgggtgfesthhqredttd dtjeenucfhrhhomhepmfhonhhrrgguucfjihhnshgvnhcuoehkohhnrhgrugdrhhhinhhs vghnsehfrghsthhmrghilhdrnhgvtheqnecuffhomhgrihhnpehgnhhurdhorhhgnecukf hppeelvddrudeiledrjedruddtudenucfrrghrrghmpehmrghilhhfrhhomhepkhhonhhr rggurdhhihhnshgvnhesfhgrshhtmhgrihhlrdhnvghtnecuvehluhhsthgvrhfuihiivg eptd X-ME-Proxy: Received: from khs-macbook.home (lfbn-1-4320-101.w92-169.abo.wanadoo.fr [92.169.7.101]) by mail.messagingengine.com (Postfix) with ESMTPA id 924E130600AD; Sat, 30 Nov 2019 09:50:30 -0500 (EST) From: Konrad Hinsen Date: Fri, 29 Nov 2019 18:46:31 +0100 Message-ID: MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/commencement.scm: (gfortran-toolchain): New variable. * gnu/packages/commencement.scm: (make-gcc-toolchain): Added argument "language" --- gnu/packages/commencement.scm | 52 +++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 6a382c7517..8c57af749e 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2515,16 +2515,23 @@ COREUTILS-FINAL vs. COREUTILS, etc." ;;; GCC toolchain. ;;; +;;; Toolchain packages combine everything needed for compilation, +;;; and ensure that ld-wrapper comes before binutils' ld in the +;;; user's profile, as otherwise dynamic library lookup would not +;;; work correctly. + ;; Using the following procedure, a gcc toolchain targeting glibc-2.27 can be ;; instantiated like this: ;; ;; (define-public gcc-glibc-2.27-toolchain ;; (make-gcc-toolchain gcc glibc-2.27)) -(define* (make-gcc-toolchain gcc - #:optional - (libc #f)) - "Return a complete toolchain for GCC. If LIBC is specified, target that libc." +(define* (make-gcc-toolchain language + gcc + #:optional + (libc #f)) + "Return a complete toolchain for GCC. If LIBC is specified, target that libc. + Insert LANGUAGE into the documentation strings." (let ((gcc (if libc (make-gcc-libc gcc libc) gcc)) (libc (if libc libc glibc-final))) (package @@ -2557,17 +2564,19 @@ COREUTILS-FINAL vs. COREUTILS, etc." (search-paths (package-search-paths gcc)) (license (package-license gcc)) - (synopsis "Complete GCC tool chain for C/C++ development") + (synopsis (format #f + "Complete GCC tool chain for ~a development" + language)) (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 -an d binaries, plus debugging symbols in the @code{debug} output), and Binutils.") + (format + #f + "This package provides a complete GCC tool chain for ~a development to +be installed in user profiles. This includes GCC, as well as libc (headers +and binaries, plus debugging symbols in the @code{debug} output), and Binutils." + language)) (home-page "https://gcc.gnu.org/") (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 - ;; before Binutils' ld in the user's profile. (inputs `(("gcc" ,gcc) ("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper"))) ("binutils" ,binutils-final) @@ -2576,27 +2585,34 @@ an d binaries, plus debugging symbols in the @code{debug} output), and Binutils ("libc-static" ,libc "static")))))) (define-public gcc-toolchain - (make-gcc-toolchain gcc-final)) + (make-gcc-toolchain "C/C++" gcc-final)) (define-public gcc-toolchain-4.8 - (make-gcc-toolchain gcc-4.8)) + (make-gcc-toolchain "C/C++" gcc-4.8)) (define-public gcc-toolchain-4.9 - (make-gcc-toolchain gcc-4.9)) + (make-gcc-toolchain "C/C++" gcc-4.9)) (define-public gcc-toolchain-5 - (make-gcc-toolchain gcc-5)) + (make-gcc-toolchain "C/C++" gcc-5)) (define-public gcc-toolchain-6 - (make-gcc-toolchain gcc-6)) + (make-gcc-toolchain "C/C++" gcc-6)) (define-public gcc-toolchain-7 gcc-toolchain) (define-public gcc-toolchain-8 - (make-gcc-toolchain gcc-8)) + (make-gcc-toolchain "C/C++" gcc-8)) (define-public gcc-toolchain-9 - (make-gcc-toolchain gcc-9)) + (make-gcc-toolchain "C/C++" gcc-9)) + +;; Provide the toolchain package only for the version of gfortran +;; that is used by Guix intenally to build Fortran libraries, +;; because combining code compiled with different versions can +;; cause problems. +(define-public gfortran-toolchain + (make-gcc-toolchain "Fortran" gfortran)) ;;; commencement.scm ends here