-
Notifications
You must be signed in to change notification settings - Fork 140
Description
the reason why vector has maintained such a long support window for as long as it has is largely because we literally couldn't robustly run CI on new ghc versions. That part is fixed by some fantastic insights by @lehins
Theres a limit to the CPP a project can support. (while travis CI helps a huge amount, it does burn folks out, we all miss Tibbe on containers* land). For small, low surface area projects, its pretty easy to support a huge range in perpetuity, eg https://hackage.haskell.org/package/monad-ste is one i wrote a while ago that i doubt will need an update in the next decade unless ghc changes in strange new ways :).
also, we genuinely aren't in the know about what ghc version ranges are genuinely being used outside of CI contexts.
So i did some research
- for the most gnarly and old distro in serious used: aka for RHEL 7 / Centos 7, you can get ghc 8.6.5 via https://copr.fedorainfracloud.org/coprs/petersen/ghc-8.6.5/
(@juhp is the hero for those folks in the enterprise ). Plus i'm genuinely unaware of any haskell engineering teams in those environments that dont use newer ghc versions than the one shipped by default in the distro for active development
(perhaps @simonmar or @Bodigrim or @juhp know of any? whether in their own work or via conversations with others, whats the oldest ghc they know folks actually currently use to ship the end applications?)
bsds'
-
openbsd ports tree has had the ghc ports tree version be >= 8.4 since 2018 (and they dont support versions more than 12 months)
-
free bsd ports has had >= 8.4 since June 2018, and all releases from before then are past their end of life threshold., though @raichoo can perhaps add some color
debians
*looking at debian, the oldest long term support release thats still going to have distro support in 6 months is https://wiki.debian.org/LTS debian 9 (buster), which ships with ghc 8.0, though via http://downloads.haskell.org/debian/, 8.6 and 8.8 ghc versions are available.
- In 6 months, the oldest support debian release will be debian 10 (squeeze) which ships with ghc 8.4 (though again, via the adapted @hvr ppas, newer and old ghc are available )
buntos
-
on ubuntu the oldest flavor that has any sort of support atm is TrustyTahr (though i could be reading this wrong). Though if i'm reading it correctly, https://ubuntu.com/about/release-cycle, then thats more of a commercial security updates offering.
-
Xenial seems like the oldest LTS that gets more than security updates, and thats defaulting to 7.10,, though again the @hvr ppa's provide every ghc version under the sun 7.0 - 8.10.
-
in early 2021, it looks like the oldest ubuntu flavor that will be getting non security flavored updates will be BIONIC BEAVER, which starts with 8.0 by default
-
This is all of course ignoring the hvr PPAs supporting all of these
zooming out
ultimately: what is the oldest ghc that is deliberately used by haskell devs/teams/etc to build and deliver executables in 2020, for actively developed code or updating preexisting applications? (because, old version of vectors will still exist, as will those older ghc versions, for those who need to do archaeology or bootstrapping through time and space)