From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: Go build system Date: Mon, 25 Jul 2016 15:50:06 -0400 Message-ID: <20160725195006.GA532@jasmine> References: <20160711213621.GA22573@jasmine> <87mvl68yhn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRltV-0001bU-Rb for guix-devel@gnu.org; Mon, 25 Jul 2016 15:50:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bRltR-0002cH-Mn for guix-devel@gnu.org; Mon, 25 Jul 2016 15:50:28 -0400 Content-Disposition: inline In-Reply-To: <87mvl68yhn.fsf@gnu.org> 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: Ludovic =?iso-8859-1?Q?Court=E8s?= Cc: guix-devel@gnu.org On Mon, Jul 25, 2016 at 12:25:40AM +0200, Ludovic Courtès wrote: > It outlines the command sequence that needs to be run. I’d suggest > starting from that in ‘go-build-system’. Let’s make it work for this > package, and then we can adjust if some of the assumptions happened to > be specific to Syncthing. Okay, I'll try it out. We will have to decide what to do about bundled dependencies. Bundling the source code of dependencies appears to be standard practice in the world of Go. The compiler began supporting this directly in the 1.5 series: https://github.com/golang/go/wiki/PackageManagementTools#go15vendorexperiment This is the manifest of Syncthing's dependencies, which are bundled in the same directory: https://github.com/syncthing/syncthing/blob/master/vendor/manifest If that manifest is a standard thing, we could make a go-importer that used it to create new packages. I don't fully understand Debian's packaging, but it seems that they only use external packages to provide 2 of 39 dependencies, bootstrap and font-awesome: https://anonscm.debian.org/git/pkg-go/packages/syncthing.git/tree/debian/rules#n42