From owner-freebsd-ports@freebsd.org Tue Apr 18 18:08:39 2017 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70464D44383 for ; Tue, 18 Apr 2017 18:08:39 +0000 (UTC) (envelope-from steve@mouf.net) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 4D835A45 for ; Tue, 18 Apr 2017 18:08:39 +0000 (UTC) (envelope-from steve@mouf.net) Received: by mailman.ysv.freebsd.org (Postfix) id 4CD1FD44382; Tue, 18 Apr 2017 18:08:39 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C737D44381 for ; Tue, 18 Apr 2017 18:08:39 +0000 (UTC) (envelope-from steve@mouf.net) Received: from mouf.net (mouf.net [IPv6:2607:fc50:0:4400:216:3eff:fe69:33b3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mouf.net", Issuer "mouf.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 0C102A44; Tue, 18 Apr 2017 18:08:38 +0000 (UTC) (envelope-from steve@mouf.net) Received: from [IPv6:2001:470:5:72d:120b:a9ff:fe33:73f8] ([IPv6:2001:470:5:72d:120b:a9ff:fe33:73f8]) (authenticated bits=0) by mouf.net (8.14.9/8.14.9) with ESMTP id v3II8TY2047522 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 18 Apr 2017 18:08:35 GMT (envelope-from steve@mouf.net) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mouf.net; s=mail; t=1492538917; bh=yrBSS2P/V1g62oSRePbkNVduW+0u2vNH982Dppo58HM=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=WkX8SW3qxHttETAhZ503cRaFiUXtpXNKeuR6T7+O7BHBDZQcl+dj8pS9Mn/AB4LoW immDl7Z84owxA+3OCwjKrAIxO82A7M1wkp6ZkGGA37W0jRxJljvnTlebn4LO+tFH64 f5JKNDTFUF2DFXObSFjG6eLI87FvuGal9gEtMgPs= Subject: Re: Packaging Go Libs To: Julien Laffaye Cc: "ports@freebsd.org" References: From: Steve Wills Message-ID: Date: Tue, 18 Apr 2017 14:08:23 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="TlHAidNud0Q5a6wR480mfJwEjVLjd1esS" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mouf.net [IPv6:2607:fc50:0:4400:216:3eff:fe69:33b3]); Tue, 18 Apr 2017 18:08:35 +0000 (UTC) X-Spam-Status: No, score=1.5 required=4.5 tests=HELO_MISC_IP,RDNS_NONE autolearn=no autolearn_force=no version=3.4.1 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mouf.net X-Virus-Scanned: clamav-milter 0.99.2 at mouf.net X-Virus-Status: Clean X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Apr 2017 18:08:39 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --TlHAidNud0Q5a6wR480mfJwEjVLjd1esS Content-Type: multipart/mixed; boundary="cpKp3N8boojL2mS2n62GHT6LSvQR3F1Ox"; protected-headers="v1" From: Steve Wills To: Julien Laffaye Cc: "ports@freebsd.org" Message-ID: Subject: Re: Packaging Go Libs References: In-Reply-To: --cpKp3N8boojL2mS2n62GHT6LSvQR3F1Ox Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable I've thought about that or perhaps a quick script to turn a vendor.json in the the appropriate GH_TUPLE for a port Makefile, but even that seems less necessary these days as more and more projects included a vendor dir in their source tree. Thanks to everyone for their input, seems we all agree, so I'll go ahead with this plan. Thanks, Steve On 04/18/2017 10:24, Julien Laffaye wrote: > I agree with you. > Maybe we should provide helpers to do the "fetching dependencies" part = so > that will be less cumbersome. >=20 > On Mon, Apr 17, 2017 at 4:20 PM, Steve Wills wrote: >=20 >> Hi, >> >> I'd like to propose eliminating packaging of Go libs. >> >> Almost every Go app is developed with a different version of any given= >> lib than what another Go app might use. Forcing a Go app to use a >> different version than what upstream might have chosen is error prone = at >> best and likely to produce a build that's unsupported upstream. So for= >> the packaged libs to even be useful, we would have to have as many >> versions of each lib as there are consumers, or nearly as many. >> >> Further, best practice in the Go community is for Go apps to vendor al= l >> their dependencies and almost all apps do that. This is the reason mos= t >> Go apps use different versions of it's libs. >> >> So to me, packaging Go libs doesn't make sense and I think we should >> remove the Go libs from ports. >> >> Existing ports which use the Go libs should be updated to not use the = Go >> lib ports by doing one of these, in priority order: >> >> * Converted to using vendored deps included with the package source if= >> possible (preferred) >> * Fetching the versions of deps specified by upstream (in the case of >> vendor.json) >> * As a last resort (deps are not included nor versions specified >> exactly) fetching versions of deps available at the time of upstream >> development >> >> Further, documentation should be added to the Porters Handbook saying >> that we don't package Go libs and portlint should be updated to check >> for installing files in GO_SRCDIR and GO_LIBDIR (exceot lang/go*). >> >> For reference, here's the list of Go lib ports that I found at the mom= ent: >> >> archivers/go-compress >> databases/gomdb >> databases/gosqlite3 >> databases/levigo >> databases/radix.v2 >> databases/redigo >> devel/go-bayesian >> devel/go-cobra >> devel/go-codec >> devel/go-cpuid >> devel/go-crc32 >> devel/go-faker >> devel/go-form >> devel/go-go.uuid >> devel/go-goregen >> devel/go-hashicorp-logutils >> devel/go-json-rest >> devel/go-logrus >> devel/go-metrics >> devel/go-nuid >> devel/go-pflag >> devel/go-protobuf >> devel/go-raw >> devel/go-runewidth >> devel/go-slices >> devel/go-sql-driver >> devel/go-uuid >> devel/go-yaml >> devel/goprotobuf >> net/go-amqp >> net/go-geoip >> net/go-httppath >> net/go-httptreemux >> net/go-nats >> net/go.net >> security/go.crypto >> security/goptlib >> textproc/go.text >> www/go-fasthttp >> www/webgo >> >> Does anyone have any objection or reasoning why this doesn't make sens= e? >> >> Thanks, >> Steve >> >> > _______________________________________________ > freebsd-ports@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org= " >=20 --cpKp3N8boojL2mS2n62GHT6LSvQR3F1Ox-- --TlHAidNud0Q5a6wR480mfJwEjVLjd1esS Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGjBAEBCgCNFiEEmPpBSlwqDvnP0K0N9c9isyB7G6EFAlj2VhdfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk4 RkE0MTRBNUMyQTBFRjlDRkQwQUQwREY1Q0Y2MkIzMjA3QjFCQTEPHHN0ZXZlQG1v dWYubmV0AAoJEPXPYrMgexuhubsH+wVi6HDaxf+zfGiOtNho64KhFzAVPPKYdkPz R2kNI5jAy2UtkassW2mjGWlTnau5RSRskNwincrqwdomDMhFCKzFDOD2Tr8ugKzZ vV5XTQiGCpvMTH1y1offr4BWlPTcuWHFWqWCkW0FIFtHjFENLT7AQS0gZAr7T7Pr ZdNB+GBgFTM0yKnk2zdFaBooGRSnNzC/xEdMT8NlzfRRWYhUilEUuAyM6JKvi7Vm uf2OaBfzL25eaVcoG7X2kTwtImo8Yd4d0Kove9Jzs+tgYznXLmfBMMOb7tWsswoB z2+SUkQPCOQaVKk8YFf9eX9FU7kyRZpW+foAiJ+7WAlv1W1lJSM= =MKj8 -----END PGP SIGNATURE----- --TlHAidNud0Q5a6wR480mfJwEjVLjd1esS--