Skip site navigation (1)Skip section navigation (2)
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>