pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: GO on macOS Monterrey



At Sat, 5 Mar 2022 11:06:13 -0600, Jason Bacon <outpaddling%yahoo.com@localhost> wrote:
Subject: Re: GO on macOS Monterrey
>
> > Index: lang/go/bootstrap.mk
> > ===================================================================
> > RCS file: /cvs/master/m-NetBSD/main/pkgsrc/lang/go/bootstrap.mk,v
> > retrieving revision 1.7
> > diff -u -r1.7 bootstrap.mk
> > --- lang/go/bootstrap.mk	14 Jul 2021 14:32:04 -0000	1.7
> > +++ lang/go/bootstrap.mk	4 Mar 2022 22:56:47 -0000
> > @@ -1,7 +1,7 @@
> >   # $NetBSD: bootstrap.mk,v 1.7 2021/07/14 14:32:04 jperkin Exp $
> >
> >   .if !defined(GOROOT_BOOTSTRAP) || !exists(${GOROOT_BOOTSTRAP}/bin/go)
> > -.  if ${MACHINE_ARCH} == "aarch64"
> > +.  if ${MACHINE_ARCH} == "aarch64" || (${OPSYS} == "Darwin" && ${OSX_VERSION:R} >= 12)
> >   BUILD_DEPENDS+=		go-bin-[0-9]*:../../lang/go-bin
> >   GOROOT_BOOTSTRAP=	${PREFIX}/go-bin
> >   .  else
> >
>
> I was pondering what it would take to automate this dependency
> chain. If this works, it looks like a no-brainer that should be
> committed ASAP.  I assume you have fully tested it?

Not fully tested yet, no, but it works on any "Darwin" platform!

Despite decades of working with Makefiles I still struggle knowing when
macro uses can be combined into the same expression, or might have to be
protected with ".if defined(MACRO)", or protected with a default value,
etc.  Generally I try to write my own Makefiles such that all macros are
always defined with appropriate defaults, but that is not the case in
pkgsrc (and it would be rather difficult to maintain if that were a goal).

For example here it might have to be written something more like:

 .  if ${MACHINE_ARCH} == "aarch64" || (${OPSYS} == "Darwin" && ${OSX_VERSION:U0.0:R} >= 12)

and then I'm assuming :U and :R can be successfully combined in that way
(the manual suggests so, but I find these things still need testing to
be sure they are correct in all scenarios, especially when there are no
apparent similar examples elsewhere in the infrastructure).

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpqVJKaWZlI5.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index