Re: devel/llvm10: deprecate, set short expiration ( lang/ghc810 has LLVM_VERSION= 10 )

From: Brooks Davis <brooks_at_freebsd.org>
Date: Thu, 21 Sep 2023 13:27:28 UTC
On Thu, Sep 21, 2023 at 03:08:43PM +0300, Gleb Popov wrote:
> On Thu, Sep 21, 2023 at 2:28???PM Brooks Davis <brooks@freebsd.org> wrote:
> >
> > This seems to be an arm-only thing.  What's going on here? Do we have to
> > keep llvm10 around forever just for ghc on arm?
> >
> > -- Brooks
> >
> 
> GHC has a native code generator and a LLVM-based one. On ARM the
> native generator doesn't work with old GHC's, so the only way to have
> Haskell working is via LLVM. At the same time the LLVM backend can
> still be used even with new GHC and on amd64.
> 
> Removing llvm10 would remove lang/ghc810 and its dependents from the
> ARM package list and would also prevent bootstrapping newer GHC's on
> this platform. Luckily, we already have GHC 8.10 bootstrapped for ARM,
> which still makes it possible to build lang/ghc92 and proceed from
> there. GHC 9.2 uses LLVM 12, which I hope will stay for a while.
> 
> That being said, I don't really have an opinion on LLVM 10 removal. I
> don't have time to keep up with Haskell stuff anymore so I don't want
> to drag other into maintaining more old software.

One compromise position would be to dial back the default options in
llvm10 to only those required by ghc (or just llvm+clang+lld).  It
probably doesn't make sense to confine it to arm only as it would be
missed in exp-runs.

-- Brooks