From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Griffin Subject: Re: Go & bundling Date: Mon, 25 Jul 2016 23:06:14 -0500 Message-ID: <1469505974.2463655.676750633.7062B3FE@webmail.messagingengine.com> References: <20160711213621.GA22573@jasmine> <87mvl68yhn.fsf@gnu.org> <20160725195006.GA532@jasmine> <87k2g9cr1j.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52767) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRtdc-00078K-Q9 for guix-devel@gnu.org; Tue, 26 Jul 2016 00:06:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bRtdY-0004Ls-J3 for guix-devel@gnu.org; Tue, 26 Jul 2016 00:06:35 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:39897) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRtdU-0004KR-E2 for guix-devel@gnu.org; Tue, 26 Jul 2016 00:06:32 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 510302046C for ; Tue, 26 Jul 2016 00:06:15 -0400 (EDT) In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org Leo Famulari wrote: > If that manifest is a standard thing, we could make a go-importer that > used it to create new packages. The manifest is not standardized, or rather, there are too many competing standards. On Mon, Jul 25, 2016, at 08:56 PM, Catonano wrote: > The "new packages" indicated in the manifest could, in turn, have bundled dependencies. So the importer should be a recursive one. > Like the one that Jelle is using for npm. > > Right ? If we are going to unbundle packages, I think it would be best if our code ignored any manifest files entirely. Versioning is a mess in the Go ecosystem, and usually the version specified in them only reflects the most recent commit that the developers had on their machine when they ran the vendor command. Rarely is it an actual tagged, stable release. BTW, the following command will probably be useful. It lists the dependencies of the current package (whose source is in the current directory), minus the stdlib. go list -f '{{join .Deps "\n"}}' | xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}' I hope that helps! -- Alex Griffin