From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id yJQwGFSJdF8YQQAA0tVLHw (envelope-from ) for ; Wed, 30 Sep 2020 13:34:12 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id 8IMnFFSJdF85NQAA1q6Kng (envelope-from ) for ; Wed, 30 Sep 2020 13:34:12 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 87D8F940237 for ; Wed, 30 Sep 2020 13:34:11 +0000 (UTC) Received: from localhost ([::1]:51582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNcFF-0000XW-AR for larch@yhetil.org; Wed, 30 Sep 2020 09:34:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNcF8-0000XC-7X for guix-patches@gnu.org; Wed, 30 Sep 2020 09:34:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:47099) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNcF7-0004vV-Rf for guix-patches@gnu.org; Wed, 30 Sep 2020 09:34:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kNcF7-0008OL-Kb for guix-patches@gnu.org; Wed, 30 Sep 2020 09:34:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43679] [PATCH 0/5] Add '--with-toolchain' package transformation option Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 30 Sep 2020 13:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43679 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 43679@debbugs.gnu.org Received: via spool by 43679-submit@debbugs.gnu.org id=B43679.160147278432192 (code B ref 43679); Wed, 30 Sep 2020 13:34:01 +0000 Received: (at 43679) by debbugs.gnu.org; 30 Sep 2020 13:33:04 +0000 Received: from localhost ([127.0.0.1]:58645 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNcEC-0008N9-9k for submit@debbugs.gnu.org; Wed, 30 Sep 2020 09:33:04 -0400 Received: from mail-qk1-f193.google.com ([209.85.222.193]:42983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kNcEA-0008Me-1w for 43679@debbugs.gnu.org; Wed, 30 Sep 2020 09:33:02 -0400 Received: by mail-qk1-f193.google.com with SMTP id v123so1335118qkd.9 for <43679@debbugs.gnu.org>; Wed, 30 Sep 2020 06:33:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ICGbIZDhJaH3eAJRc3IqfnAakCDpTclAu7AGZmsZdcw=; b=d8FdEDjCyIn/bnib1lMwLAZwsrGjk9BsTsUrulXhWhbNZC1K3dboXYj4YnhSurN2aV AlFgIcLxn8++DI3qxrMoJ1uYP5Tyzyfnidm4pA/Nx1rHBpu+p7qmxx7IsIHpmkcu4XUM 1c7eQJGDw0ZTtXwCDrccnwTRCtuSjeAkzChY6wI7bZbNcoQD+AUvuh4qQ5MrU+3ttbyu x/qvmHNMM0ro5Z7fAydWR4a8qFs3PoQ4loLNqZMwNNGJPJ4gQVMIq+XCFC3VIPL21P/O Lru8FJJC68Q/L9j8UJZq6EnGgdD2UnrUJR5mtsYuIUYAAhhkmOtGz3glwPjLcPTB6Y+O xlQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ICGbIZDhJaH3eAJRc3IqfnAakCDpTclAu7AGZmsZdcw=; b=UQNqk0ET7Tz7liB6Gzs494W6Bw2yQTsi0UsXbQGiIhI3JsZ+vorln5xQgcC6EKhYM4 y4nHdGRirFkNdm7ypUhcKn0pvDEL2vGFD9VHLzyQw3nUDzQv2lX4S5gvNTEQ0YZSCK58 pgvI6H0JSPP71oqfTl6Ji/u+NZPseUsuniATNQ0Td/YVbXJWGpZDY24/6T1JsGXHrdwp Jz+hI8Cy5fEdERS5Zl/WlYLYM41wevqZtKnaPzHGCIfJkl9yzce2q3d62LGnX0lNtKg9 7Kz238MzfY08n3r/SQabReIaY46scv/LKgI+SfHlVwZAapb0Ah2sS9wlZKOVwhDPTjIF XiyA== X-Gm-Message-State: AOAM5326o2wQsZtSboP9qw6wQhsIxjkmCmuhX2SnRqulx3kkSoGg41gn nMwtFq9IPGiENpHipgsO2xwbr2Pt5RifxI1llkw= X-Google-Smtp-Source: ABdhPJy0N5Bn5tkY4nrI5htm2WC9/M5v2HXDuZFGecMoS8ywIOrJ11W2dVWz4IWmKXi3+AsEpkwrGVUYqCWevZpZxlo= X-Received: by 2002:a37:7c2:: with SMTP id 185mr2389306qkh.304.1601472776356; Wed, 30 Sep 2020 06:32:56 -0700 (PDT) MIME-Version: 1.0 References: <20200928195305.30096-1-ludo@gnu.org> <865z7wuajc.fsf@gmail.com> <871rij4pp6.fsf@gnu.org> In-Reply-To: <871rij4pp6.fsf@gnu.org> From: zimoun Date: Wed, 30 Sep 2020 15:32:45 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.4 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.4 (-) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=d8FdEDjC; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: KLyn49nk53fn Hi, On Wed, 30 Sep 2020 at 10:46, Ludovic Court=C3=A8s wrote: > > However, =E2=80=99=E2=80=93with-toolchain=E2=80=99 can be misleading si= nce it is > > =E2=80=99gnu-build-system=E2=80=99 and C/C++ software specific. I mean= , the patch #4 > > adding =E2=80=99build-system-with-toolchain=E2=80=99 contains: [...] > Yeah this option is meant for C/C++ as I wrote above and (I think) in > the documentation. Yes in the manual, not in the command line helper. Without bikeshedding, I find '--with-toolchain' a bad name since it is only 'gnu-build-system' related. And from my point of view, it is also a bad name for the procedures 'build-system-with-toolchain' and 'package-with-toolchain' -- but it does not matter since they are not written in stone, contrary to command line options harder to change. > > - change the =E2=80=99=E2=80=93with-toolchain=E2=80=99 to =E2=80=99= =E2=80=93with-gcc-toolchain=E2=80=99 > > =E2=80=98--with-gcc-toolchain=3Dclang-toolchain=E2=80=99 would look stran= ge. :-) Why not? :-) My point is: '--with-toolchain' is not specific enough. Maybe '--with-gnu-toolchain'? > > - tweak =E2=80=99build-system-with-toolchain=E2=80=99 to pass =E2=80= =99toolchain-packages=E2=80=99 as > > parameter somehow and be able to run: > > > > guix build coq --with-toolchain=3Dcoq=3Docaml-toolchain4.07 > > Can=E2=80=99t you use =E2=80=98--with-input=3DocamlX.Y=3DocamlA.B=E2=80= =99 in this case? If not, we > could devise a separate option rather than overload this one. No, in this case one should use: guix build coq \ --with-input=3Docaml=3Docaml@4.07 \ --with-input=3Docaml-findlib=3Docaml4.07-findlib to recompile the package 'coq' with the 4.07 'ocaml-build-system'. For the 'clojure-build-system', there are 3 inputs to specify. (I have not checked all the build systems :-)). And note it works only if the tools used by the build system are not hidden. For consistency, it appears to me easier to have one "toolchain" per build system, say ocaml-toolchain, gcc-toolchain, haskell-toolchain, and then provides this toolchain to the option '--with-toolchain'. However, it is complicated to remove the 'build-inputs' since they are not hard coded -- as it is the case in 'build-system-with-toolchain'. Or another option is to have one command line option per build system: --with-gnu-toolchain, --with-ocaml-toolchain, --with-cargo-toolchain, etc.. > > Yeah but that=E2=80=99s maybe what people want: rebuild the world with = another > > toolchain, probably optimized for some specific machine (HPC cluster). > > Yes, though it doesn=E2=80=99t necessarily make sense. :-) Sadly! > But yeah, perhaps rebuilding everything above the given package would be > more in line with what people expect. Yeah...maybe providing "what people expect" could reduce the gap in the HPC community. > >> Another option I considered was to graft the package that > >> =E2=80=98--with-toolchain=E2=80=99 targets instead of rebuilding its d= ependents. > >> Again that=E2=80=99d only work if the resulting binaries are ABI-compa= tible, > >> but maybe that=E2=80=99s a reasonable assumption. It would definitely= save > >> build time. Should it be grafted, or should there be a separate > >> option to do that? Thoughts? > > > > From my perspective, it should be another option. For example, I > > imagine people want to rebuild all the stack with Name-It=C2=A9 compile= r. Or > > the Name-It=C2=A9 compiler could be not-ABI compatible. > > I=E2=80=99m not interested in proprietary compilers if that=E2=80=99s wha= t you have in > mind. Besides, the SysV ABI is defined for C, so normally all C > compilers produce ABI-compatible code. There are exceptions such as > OpenMP (Clang is moving to their own libomp, I think, whereas GCC has > libgomp.) It was what I have in mind. :-) But do the exceptions you point not imply another option? All the best, simon