Date: Wed, 30 Oct 2019 11:15:00 +0400 From: Gleb Popov <arrowd@freebsd.org> To: Mathieu Arnold <mat@freebsd.org> Cc: Jason Bacon <bacon4000@gmail.com>, Yuri <yuri@rawbw.com>, Tobias Kortkamp <tobik@freebsd.org>, Raphael Kubo da Costa <rakuco@freebsd.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r515803 - head/devel/bazel Message-ID: <CALH631=jJqWH9UhTy0eXs1NVwbAk93U_FDh%2B6GN2Y98zJH_XLQ@mail.gmail.com> In-Reply-To: <20191030062749.tersvou4qmhg2xv2@atuin.in.mat.cc> References: <201910271742.x9RHgvQP017264@repo.freebsd.org> <09d56af7-96f5-dcfd-d70c-d20d54e97ea2@rawbw.com> <20191027222033.GA81623@urd.tobik.me> <778754a2-2aa5-831a-7441-a9a59c25b512@rawbw.com> <1d688197-0ca7-025d-bdcd-4d23631182b2@gmail.com> <CALH631mMuVzGKw_wKrVTHbt-CeRsLKGiM7Yc-iBpAQ6QOSrRWw@mail.gmail.com> <20191028222852.mrgkywe5vjvsvpdk@atuin.in.mat.cc> <CALH631nr1B9y=7L-9LFbZBp900v-XTDPJCemhOFL-M=KQ76Kdw@mail.gmail.com> <20191030062749.tersvou4qmhg2xv2@atuin.in.mat.cc>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 30, 2019 at 10:27 AM Mathieu Arnold <mat@freebsd.org> wrote: > On Tue, Oct 29, 2019 at 09:33:10AM +0400, Gleb Popov wrote: > > My approach at least provide a stable binary package, and actually a > > way to build from source too - it just don't follow usual `make > > install` procedure. > > The problem with that is that comes from some false assumption. It is > not *your* port. As such it is not ok to have some obscure steps that > nobody else knows about. Ports belong to everyone, and anyone should be > able to update a port. If you have to do some arcane thing that is not > in the normal procedure to build a port, like pregenerating some binary > package (which is what the port is supposed to do in the first place), > then you are doing it wrong. > Actually, there are many examples in our ports tree that use "arcane things". Uses/cabal.mk has auxiliary targets to generate large portions of Haskell ports Makefiles. You can, in theory, write them manually, but this is exceptionally tedious. I believe, something like that is also implemented for Go and Rust ports. The same thing for wine-i386. >From my experience, it is not that often when you can update the port just by bumping {PORT,DIST}VERSION. In most cases you still need to do "obscure steps", depending on your understanding of obscurity. Some of which are documented and some are not. Speaking for myself, I did documented cabal.mk (although not in Porter Handbook) and also would have document TensorFlow's Makefile, would the port be finished. Again, I agree that making TensorFlow build the usual way is better than any other approach, but we can see that maintainer can't keep up with it. And no wonder - it is extermely large piece of software with unfriendly build system. So, I still lean toward prepackaged approach + documenting the procedure. > -- > Mathieu Arnold >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALH631=jJqWH9UhTy0eXs1NVwbAk93U_FDh%2B6GN2Y98zJH_XLQ>