On 1/9/19 3:30 AM, Jonathan Perkin wrote:
I was looking for an out-of-the-box solution for a while, and was part of lengthy discussions on the subject, but I've since come to the opinion that if something can be done relatively easily in mk.conf, it's better to leave the pkgsrc base alone.* On 2019-01-09 at 08:51 GMT,maya%netbsd.org@localhost wrote:mk/compiler/gcc.mk has, # Special case packages which are themselves a dependency of gcc runtime. . if empty(PKGPATH:Mdevel/libtool-base) && empty(PKGPATH:Mdevel/binutils) && \ empty(PKGPATH:Mlang/gcc4?) && empty(PKGPATH:Mlang/gcc[5-9]) Seems like a good place ot expand upon that, but I haven't understood how pkgsrc-from-GCC works out for the Joyent case.It's complicated, which is why I've never advocated that we attempt to make it work out of the box. It will also differ across operating systems depending on whether they require libgcc and thus a gcc-libs dependency for everything or not.
This is the cost of supporting so many different architectures and operating systems, from embedded devices to supercomputers. I think it's a pretty reasonable cost when compared with the benefits that pkgsrc provides.
So I would advocate a general goal of giving end users the ability to configure pkgsrc the way they want with reasonable effort, over trying to make it just work for everyone, when there are such vastly different use cases.
Ultimately, a wrapper around the bootstrap process seems just as "out of the box" to the average user as an altered bootstrap process would, without the inevitable breakage (from someone's perspective) and long delays of discussions trying to avoid said breakage.
For the scientific researchers I support, I provide auto-pkgsrc-setup: http://netbsd.org/~bacon/ Cheers, JB