From patchwork Wed Dec 11 10:30:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Konrad Hinsen X-Patchwork-Id: 16488 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 CDB8417858; Wed, 11 Dec 2019 10:31:13 +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 6158D17849 for ; Wed, 11 Dec 2019 10:31:13 +0000 (GMT) Received: from localhost ([::1]:40586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iezGy-0001Q9-LK for patchwork@mira.cbaines.net; Wed, 11 Dec 2019 05:31:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53687) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iezGq-0001Q3-IL for guix-patches@gnu.org; Wed, 11 Dec 2019 05:31:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iezGo-000096-WD for guix-patches@gnu.org; Wed, 11 Dec 2019 05:31:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:50974) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iezGo-00008S-SM for guix-patches@gnu.org; Wed, 11 Dec 2019 05:31:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iezGo-000727-Q7 for guix-patches@gnu.org; Wed, 11 Dec 2019 05:31:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#38436] [PATCH] gnu: Add gfortran-toolchain References: In-Reply-To: Resent-From: Konrad Hinsen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 11 Dec 2019 10:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38436 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 38436@debbugs.gnu.org Received: via spool by 38436-submit@debbugs.gnu.org id=B38436.157606024826992 (code B ref 38436); Wed, 11 Dec 2019 10:31:02 +0000 Received: (at 38436) by debbugs.gnu.org; 11 Dec 2019 10:30:48 +0000 Received: from localhost ([127.0.0.1]:56946 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iezGa-00071H-0a for submit@debbugs.gnu.org; Wed, 11 Dec 2019 05:30:48 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:54827) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iezGY-000715-FI for 38436@debbugs.gnu.org; Wed, 11 Dec 2019 05:30:46 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id B08CFD19; Wed, 11 Dec 2019 05:30:40 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Wed, 11 Dec 2019 05:30:40 -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=c0aFbYFBZck3gpapm1VEb8U8ko M/HyU/w8/8uNuqvHY=; b=TiLX33viU2ISvAcyw1Zd7H+wl4EmwZ7obcnuaj9aUy 6i1c7jRspoGnjivW591f5mEHis7lMDcn+guk6G5N6dAtX0YLxODfHj4eLXPHCDI0 U87lisJsApEI9U6KHrqobbCYdmTg2gJb42SkGEwf3OLts4LdCmidInvSkbZe9Fu3 922Fx2b0s0Lom+jDpUgcgEAp7zMskuckGGxuF7WMzQBo+zNjc2k0CPdFS/MeOj9/ o7U8QlSmEIvZUmcApsu7WLKa5XJkuabolWgFmm+cWn9haupZEG2Y4YRkyVyk/0ho Fp8XRtFeHNh5P0eHDBQ16LtErd0wWgDi8QaaQbeWmIVw== 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=c0aFbY FBZck3gpapm1VEb8U8koM/HyU/w8/8uNuqvHY=; b=s0bSc+5arRHH1Vf9a6P2CQ wAeROgPXyGWW24t6njkShdq2zHYn4JTV9akvEc9x6WMSHovQbior7G7mPq9pkQ0u phc318BEsTfSTZspNdkV3fABfVZ272c/wW1pDJxMs29uzjvM7nCwd2c4sVm+qfiF NyTXq1BOF7l6ps/qgljGLcGK0b5NB9K7gOhjiCZ9ilmVU2Rb993dq2UpK+m3ZjbK 4YPHabqBuDWezhSKbvY7BqGaRsabS07tplOe7eIaFs5QQDOU4mNMjD74/krZFtye NCuk5WIXMQYP5f782Qio9TN08jHZZrwFNGUReLpBJsgIcQuFsvsdJ0n9LgHoP3dw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudelhedguddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkgggtgfesthhqredttd dtjeenucfhrhhomhepmfhonhhrrgguucfjihhnshgvnhcuoehkohhnrhgrugdrhhhinhhs vghnsehfrghsthhmrghilhdrnhgvtheqnecuffhomhgrihhnpehgnhhurdhorhhgnecukf hppeduleehrddvvddurddtrddvtdeinecurfgrrhgrmhepmhgrihhlfhhrohhmpehkohhn rhgrugdrhhhinhhsvghnsehfrghsthhmrghilhdrnhgvthenucevlhhushhtvghrufhiii gvpedt X-ME-Proxy: Received: from KHs-MacBook.local (soleil-ext.synchrotron.fr [195.221.0.206]) by mail.messagingengine.com (Postfix) with ESMTPA id B585130600FE; Wed, 11 Dec 2019 05:30:39 -0500 (EST) From: Konrad Hinsen Date: Wed, 11 Dec 2019 11:30:38 +0100 Message-ID: MIME-Version: 1.0 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 | 54 ++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 68030376fc..e147836fc5 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2517,16 +2517,29 @@ COREUTILS-FINAL vs. COREUTILS, etc." ;;; GCC toolchain. ;;; -;; 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)) +;;; 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. + +;; The synopsis and description must be literal strings (not constructed +;; using string-append or format) to make them translatable. +(define gcc-synopsis + "Complete GCC tool chain for C/C++ development") +(define gcc-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 @code{debug} output), and +binutils.") (define* (make-gcc-toolchain gcc - #:optional - (libc #f)) - "Return a complete toolchain for GCC. If LIBC is specified, target that libc." + #:optional + (synopsis gcc-synopsis) + (description gcc-description) + (libc #f)) + "Return a complete toolchain for GCC. If SYNOPSIS and/or +DESCRIPTION are given, use them for documentation instead of the +defaults for the C/C++ toolchain. If LIBC is specified, target that libc." (let ((gcc (if libc (make-gcc-libc gcc libc) gcc)) (libc (if libc libc glibc-final))) (package @@ -2559,17 +2572,11 @@ COREUTILS-FINAL vs. COREUTILS, etc." (search-paths (package-search-paths gcc)) (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 -an d binaries, plus debugging symbols in the @code{debug} output), and Binutils.") + (synopsis synopsis) + (description description) (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) @@ -2601,4 +2608,19 @@ an d binaries, plus debugging symbols in the @code{debug} output), and Binutils (define-public gcc-toolchain-9 (make-gcc-toolchain gcc-9)) +;; Provide the Fortran 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 gfortran-synopsis + "Complete GCC tool chain for Fortran development") +(define gfortran-description + "This package provides a complete GCC tool chain for Fortran 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.") + +(define-public gfortran-toolchain + (make-gcc-toolchain gfortran gfortran-synopsis gfortran-description)) + ;;; commencement.scm ends here