On Sun, Jun 02, 2019 at 03:06:28PM -0700, Greg Steuck wrote:
> In my quest to update the ports [tree] to ghc 8.6.4 I arrived at a fork re
> ShellCheck.
> 
> The first blocker is ANN/TemplateHaskell is [broken] enough that
> patching is required to get rid of all ShellCheck testing code. Now,
> the next snag is the ancient version of ShellCheck in ports. At least
> a couple of places need to be patched for Semigroup and MonadFail
> issues. My natural impulse would be to upgrade ShellCheck to the most
> recent version 0.6.0, except it has a larger dependency
> set and at least aeson is not in ports. At this point I'm not sure
> which way to go. Is the new version with a larger set of deps a better
> option? Or the patched-up old version? Since I personally don't use
> ShellCheck, I can't make the call easily. Opinions? Patches?
> 
> [broken]https://marc.info/?l=openbsd-ports&m=155949514223604&w=2
> [tree]https://github.com/blackgnezdo/ports/commits/ghc_864_jun1

I realize the ShellCheck port is quite out of date. Indeed, as you
noticed, ShellCheck now depends on aeson, a piece of software that used
to be in the ports tree but was removed.

A quick look indicates that re-importing aeson would require a
number of new ports to be imported as well, including contravariant,
unordered-containers, uuid-types, th-abstraction, transformers. This
list may not be complete. devel/hs-json could then be removed.

The question is whether adding new hs ports is worth the maintenance
burden. That's not a question I can answer. If ShellCheck is the
only program that actually depends on aeson and it increases the
maintenance burden too much, maybe the best option would be to just
remove ShellCheck. Users can still install ShellCheck through cabal in
this case.

Thanks,
Caspar Schutijser

Reply via email to