Message ID | 20231002124736.179251-1-thomas.perale@essensium.com |
---|---|
Headers | show
Return-Path: <buildroot-bounces@buildroot.org> X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Rzgjb3GjMz1yng for <incoming-buildroot@patchwork.ozlabs.org>; Mon, 2 Oct 2023 23:48:19 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id E78CF41E19; Mon, 2 Oct 2023 12:48:16 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org E78CF41E19 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0cfu-uRA0z4g; Mon, 2 Oct 2023 12:48:15 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 968B941E37; Mon, 2 Oct 2023 12:48:14 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 968B941E37 X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id C133E1BF589 for <buildroot@lists.busybox.net>; Mon, 2 Oct 2023 12:48:12 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9774D61014 for <buildroot@lists.busybox.net>; Mon, 2 Oct 2023 12:48:12 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9774D61014 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UQmPjy30OcPX for <buildroot@lists.busybox.net>; Mon, 2 Oct 2023 12:48:11 +0000 (UTC) Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by smtp3.osuosl.org (Postfix) with ESMTPS id 85CD660AB7 for <buildroot@buildroot.org>; Mon, 2 Oct 2023 12:48:10 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 85CD660AB7 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5347e657a11so11540061a12.2 for <buildroot@buildroot.org>; Mon, 02 Oct 2023 05:48:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696250888; x=1696855688; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mVswFznrLudlE7Y9qKU4eGdwYYUYSyi+9DP2RVCQ9C0=; b=fYXC0DuWDoO3PPoKxJhDbRxlUr+pldvBnHysF0fPhUqbaPgQlWV2z1Xf1zqoKHqsG3 cb0xNNi+AvZXzy5wAAN56YZANkGi/ZUNq1KhsdOwlCp9gxxIa1K7ettfYn8l9OBUZs0m 9UDwwQx3gqz8a/QSu1Qnull31o5LUdmoLoRDuWkpgAUxoO0xr1WOZjg+/LR4A6Y4ozhE o6PdisTUwPA2IBdSCyKjhNM8fsXWa09ORbCNWECYr4G+uPG3OqCb4CMpjQ1T+o4XNuq1 yCOf3V0SVFuFQOA8YvG7zmCORM3dEOmDif0xMMW9JjSJIK4O22B4Ix482K6Miecn12lg eDNg== X-Gm-Message-State: AOJu0Ywr8kN3K/IkSutYEingv3OhF9+TZzMxyQWejzJmpjb28WwwV9NB 58dpP9PRCAUiYo9klJxvB8bXYhbzJzplzyx9H/cYb77r X-Google-Smtp-Source: AGHT+IFV73P1yV20NNUiZW/zRdn4AZDQiyS6QFyDds3Xb/eeOioYir6k9wHbktKWrxF00fv4yWS3CA== X-Received: by 2002:a17:907:7851:b0:9ae:594d:d3fc with SMTP id lb17-20020a170907785100b009ae594dd3fcmr8478035ejc.17.1696250888174; Mon, 02 Oct 2023 05:48:08 -0700 (PDT) Received: from localhost.localdomain ([79.132.253.132]) by smtp.gmail.com with ESMTPSA id p3-20020a17090635c300b0098951bb4dc3sm16688189ejb.184.2023.10.02.05.48.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Oct 2023 05:48:07 -0700 (PDT) To: buildroot@buildroot.org Date: Mon, 2 Oct 2023 14:47:22 +0200 Message-ID: <20231002124736.179251-1-thomas.perale@essensium.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=essensium.com; s=google; t=1696250888; x=1696855688; darn=buildroot.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=mVswFznrLudlE7Y9qKU4eGdwYYUYSyi+9DP2RVCQ9C0=; b=OFcDbMXTzMd/F4x4D/wK/o+XA1yjSNf/peSKXrwWDNwxMMRh+QgMpGie6oT/CIjXlH /BeBCgrO7x0/uU0NdICtGfqUAsg1wRHBrsII9SN2+k1R6IRVPgO4qCIVjAm7E4FFhQLN IpiOLJX/J2g+PtJPaP8a7mrSbxfROlNGdZcXlefiT934KEGANEDCWv4ByhmirE+4GrEZ +3Qr2DxJQP2QyQCpaQ/NChcJzxFKqX7JWlBzxECCnFdpX1OkhBW57K+ps+3MSe8oTbmh +Z6SblQWPpplHDsGsdMS/8ZoW7yIOE8YpWllKZZ3z0qLy4sUNaZfGQBQb6fkkxULnY2A 9olw== X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=essensium.com header.i=@essensium.com header.a=rsa-sha256 header.s=google header.b=OFcDbMXT Subject: [Buildroot] [PATCH 0/6] support for a pre-compiled Go compiler X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot <buildroot.buildroot.org> List-Unsubscribe: <https://lists.buildroot.org/mailman/options/buildroot>, <mailto:buildroot-request@buildroot.org?subject=unsubscribe> List-Archive: <http://lists.buildroot.org/pipermail/buildroot/> List-Post: <mailto:buildroot@buildroot.org> List-Help: <mailto:buildroot-request@buildroot.org?subject=help> List-Subscribe: <https://lists.buildroot.org/mailman/listinfo/buildroot>, <mailto:buildroot-request@buildroot.org?subject=subscribe> From: Thomas Perale via buildroot <buildroot@buildroot.org> Reply-To: Thomas Perale <thomas.perale@essensium.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, Geoff Levand <geoff@infradead.org>, Fabio Estevam <festevam@gmail.com>, Anisse Astier <anisse@astier.eu>, "Yann E . MORIN" <yann.morin.1998@free.fr>, Angelo Compagnucci <angelo.compagnucci@gmail.com>, Marcin Niestroj <m.niestroj@grinn-global.com>, Christian Stewart <christian@aperture.us>, Romain Naour <romain.naour@gmail.com>, Thomas Perale <thomas.perale@mind.be> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" <buildroot-bounces@buildroot.org> |
Series |
support for a pre-compiled Go compiler
|
expand
|
From: Thomas Perale <thomas.perale@mind.be> Improvement suggested on the buildroot TODO list (https://www.elinux.org/Buildroot#Todo_list). This patch adds support for a pre-built version of the Go compiler that doesn't requires users to go through the different compilation stages of the Go compiler and speeds up the overall build time. This is a new version of a patch I proposed for the same feature last year (see https://lore.kernel.org/buildroot/CA+h8R2pNRrBsChKS3PHQtT0_rsVF3Wi3LwMTD9jKFoKf1ot2-A@mail.gmail.com/#b). It introduces a new directory structure for host compilers with different providers: package/ ├─ go/ <-- Virtual package │ ├─ go-src/ <-- Build from source option │ ├─ go-bin/ <-- Download pre-build option │ ├─ go-bootstrap-stage1/ <-- Dependency for go-bootstrap-stage2 │ ├─ go-bootstrap-stage2/ <-- Dependency for go-src │ ├─ go.mk <-- Common variables │ ├─ Config.in <-- Common variables/virtual package definition The subdirectory structure is used to put the `GO_VERSION` variable in common between the different provider. This subdirectory proposal should be extended to the Rust compiler case and NodeJS proposal Thomas Petazzoni did (https://patchwork.ozlabs.org/project/buildroot/list/?series=319967) to unify the naming of for the different compilers options. Thomas Perale (6): DEVELOPERS: add Thomas Perale for 'go' package/go: new subdirectory for go variants package/go: make host package a virtual package package/pkg-golang: select go compiler package/go/go-bin: new go provider support/testing: add tests for Go providers .checkpackageignore | 2 +- DEVELOPERS | 5 +- package/Config.in.host | 2 - package/balena-engine/Config.in | 1 + package/cni-plugins/Config.in | 1 + package/containerd/Config.in | 1 + package/crucible/Config.in | 1 + package/delve/Config.in | 1 + package/delve/Config.in.host | 1 + package/docker-cli/Config.in | 1 + package/docker-compose/Config.in | 1 + package/docker-engine/Config.in | 1 + package/embiggen-disk/Config.in | 1 + package/flannel/Config.in | 1 + package/gitlab-runner/Config.in | 1 + package/go/Config.in.host | 44 +++++++++++++++ package/go/go-bin/Config.in.host | 14 +++++ package/go/go-bin/go-bin.hash | 8 +++ package/go/go-bin/go-bin.mk | 19 +++++++ .../go-bootstrap-stage1/Config.in.host | 0 .../go-bootstrap-stage1.hash | 0 .../go-bootstrap-stage1.mk | 0 .../go-bootstrap-stage2/Config.in.host | 0 .../go-bootstrap-stage2.hash | 0 .../go-bootstrap-stage2.mk | 0 ...explicit-option-for-crosscompilation.patch | 0 ...ldvcs-false-when-building-go-bootstr.patch | 0 package/go/{go.hash => go-src/go-src.hash} | 0 package/go/go-src/go-src.mk | 54 +++++++++++++++++++ package/go/go.mk | 42 ++------------- package/gocryptfs/Config.in | 1 + package/mender-artifact/Config.in.host | 1 + package/mender-connect/Config.in | 1 + package/mender/Config.in | 1 + package/moby-buildkit/Config.in | 1 + package/moby-buildkit/Config.in.host | 1 + package/nerdctl/Config.in | 1 + package/runc/Config.in | 1 + package/runc/Config.in.host | 1 + package/tinifier/Config.in | 1 + package/wtfutil/Config.in | 1 + support/testing/tests/package/test_go.py | 41 ++++++++++++++ 42 files changed, 211 insertions(+), 43 deletions(-) create mode 100644 package/go/go-bin/Config.in.host create mode 100644 package/go/go-bin/go-bin.hash create mode 100644 package/go/go-bin/go-bin.mk rename package/{ => go}/go-bootstrap-stage1/Config.in.host (100%) rename package/{ => go}/go-bootstrap-stage1/go-bootstrap-stage1.hash (100%) rename package/{ => go}/go-bootstrap-stage1/go-bootstrap-stage1.mk (100%) rename package/{ => go}/go-bootstrap-stage2/Config.in.host (100%) rename package/{ => go}/go-bootstrap-stage2/go-bootstrap-stage2.hash (100%) rename package/{ => go}/go-bootstrap-stage2/go-bootstrap-stage2.mk (100%) rename package/go/{ => go-src}/0001-build.go-explicit-option-for-crosscompilation.patch (100%) rename package/go/{ => go-src}/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch (100%) rename package/go/{go.hash => go-src/go-src.hash} (100%) create mode 100644 package/go/go-src/go-src.mk create mode 100644 support/testing/tests/package/test_go.py