From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 07 13:19:18 2021 Received: (at 47539) by debbugs.gnu.org; 7 Jun 2021 17:19:18 +0000 Received: from localhost ([127.0.0.1]:56603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lqIuE-0007m9-Ea for submit@debbugs.gnu.org; Mon, 07 Jun 2021 13:19:18 -0400 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:47741) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lqIuC-0007lw-U7 for 47539@debbugs.gnu.org; Mon, 07 Jun 2021 13:19:17 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id BDB491BB5; Mon, 7 Jun 2021 13:19:10 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Mon, 07 Jun 2021 13:19:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=mesmtp; bh=Fv9JunLrjFDZwOjOMUL8vkt98k4owP+iZ1D+KxAJa4E=; b=CPLkl3pOpuO2 8CcUWJvmg9ginJZWCLslZG8h1SsL+i46trfiE8nogOrDLMb+Ts/X7nI3pkYNoGL6 7z1clErHXNPaM7KowiTjyZtWMapgn+JAuCAz6JKqm/iebMSnnBDREFVC46cmB8v9 /u8UrTVkb456rO2g+sBkYHMEQtEIWc8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=Fv9JunLrjFDZwOjOMUL8vkt98k4owP+iZ1D+KxAJa 4E=; b=FlmRi32BtCnU6MLWtShXeKmS3yaPWu6zT/gg4CSmcZnyZVoj06xGNTviB r/utP4sUh4We6dgxTGcRRMzfBouV9MA/ktFEyLMmWk0B5dtXPQARCWyqs1pk9PNF BvqGHOVSMFvXd6qlHZ0+/xaAbNCgqhr1yW3kPIHZY2ETJundlzJElx9OUZBl8hjI lSo2Sv4Gxkl3EEiHEivfbHOugxnNkxBQUvBHc663VSZdzkBKGG68bHxhCqXvV6j6 987Bigep/w6ILZMDwhbdBCQ+23MZvz0ylLbbeJO1haHr/je1t/dXD1lzs+feMbEh zLLfejHEVuRQcxsobLyzWyY8zUikg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfedtjedgudduvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvuffkfhggtggugfgjsehtqhertddttdejnecuhfhrohhmpefnvgho ucfhrghmuhhlrghrihcuoehlvghosehfrghmuhhlrghrihdrnhgrmhgvqeenucggtffrrg htthgvrhhnpeefjeevgfeujeefleekhfeitdejhfevvdfgkeekfedutdefjedvhfefledt feegudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hlvghosehfrghmuhhlrghrihdrnhgrmhgv X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 7 Jun 2021 13:19:09 -0400 (EDT) Date: Mon, 7 Jun 2021 13:19:07 -0400 From: Leo Famulari To: Xinglu Chen Subject: Re: [bug#47539] Message-ID: References: <87y2dd8r18.fsf@yoctocell.xyz> <87lf9d8l43.fsf@yoctocell.xyz> <87mts486ln.fsf@yoctocell.xyz> <87pmwxu8z5.fsf@yoctocell.xyz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <87pmwxu8z5.fsf@yoctocell.xyz> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47539 Cc: 47539@debbugs.gnu.org, Leo Prikler X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Jun 07, 2021 at 02:58:54PM +0200, Xinglu Chen wrote: > So kinda like what Cargo does? Go doesn=E2=80=99t seem to have the conce= pt of > shared libraries, I guess? Apparently it has some concept of them, but it seems that it does static compilation by default. This is touted as one of the strengths of Go: it creates fully independent run-anywhere binaries. > So if A dependes on B which depends on C, and I want to build A, then C > has to be a =E2=80=98propagated-input=E2=80=99 for B? Did I get that rig= ht? Yes, for our go-build-system. > But if I just want to build B, should C still be a =E2=80=98propagated-in= put=E2=80=99 > for B? Yes, unless B is only an end-user executable, such as Syncthing. In that case it doesn't matter if you use inputs or propagated-inputs. > Right, but shouldn=E2=80=99t it be enough to just look at the content of = the > go.mod file, won=E2=80=99t it list all the dependencies of the package? Yes, that should work too! But the module imports are the ultimate "source of truth" in terms of what is used. Sometimes you will find a Go program that has extraneous things in go.mod. They are listed in go.mod but not actually imported anywhere, and thus not used. Also, I started learning about Go before Go modules were introduced, so my admittedly weak knowledge is now even weaker. I only learned about Go in order to do Guix packaging. If it sounds like I am wrong about something, I probably am :)