* Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledger and its dependencies.) [not found] ` <87eeldym1l.fsf@elephly.net> @ 2020-11-01 20:02 ` Christopher Baines 2020-11-01 20:28 ` Ricardo Wurmus 0 siblings, 1 reply; 3+ messages in thread From: Christopher Baines @ 2020-11-01 20:02 UTC (permalink / raw) To: guix-devel, Ricardo Wurmus [-- Attachment #1: Type: text/plain, Size: 2153 bytes --] Ricardo Wurmus <rekado@elephly.net> writes: > Christopher Baines <mail@cbaines.net> writes: > >>> Carlo Holl (15): >>> gnu: Add ghc-control-monad-free. >>> gnu: Add ghc-csv. >>> gnu: Add ghc-decimal. >>> gnu: ghc-doctest: Update to 0.16.3. >>> gnu: Add ghc-hspec-megaparsec. >>> gnu: Add ghc-lucid. >>> gnu: Add ghc-only. >>> gnu: Add ghc-text-short. >>> gnu: Add ghc-tabular. >>> gnu: Add ghc-uglymemo. >>> gnu: Add ghc-wizards. >>> gnu: Add ghc-cassava. >>> gnu: Add ghc-cassava-megaparsec. >>> gnu: Add ghc-hledger-lib. >>> gnu: Add hledger. >>> >>> gnu/packages/finance.scm | 63 ++++ >>> gnu/packages/haskell-xyz.scm | 557 ++++++++++++++++++++++++++++++++++- >>> 2 files changed, 608 insertions(+), 12 deletions(-) >> >> Awesome! I went through and tweaked some descriptions and wrapping and >> pushed to master as e6bfb02eb79777b760031384d4a3c14239f7fb55. > > Unfortunately, some of these packages are the latest versions on > Hackage, but we need to ensure that all Haskell packages are picked at > versions corresponding to the currently supported version of LTSHaskell > in Guix. We are behind the current LTSHaskell with our packages, so now > we have the situation where we have packages that are *newer* than the > latest LTSHaskell release and packages that are *older* than what the > latest LTSHaskell release prescribes. > > We should fix this soon, because mixing Haskell packages from different > LTS releases (or even ignoring the LTS releases in favour of the latest > versions on Hackage) results in dependency hell for those users who want > to use Guix for Haskell development. I'm not really aware of any Haskell specific packaging practices, and while I can't guarantee I'd have read it, if there is a reason to not use the latest version of Haskell packages, it would be good to have that reason set out in the docs [1]. 1: https://guix.gnu.org/manual/en/html_node/Packaging-Guidelines.html#Packaging-Guidelines I didn't look too carefully at the versions here, apart from the ghc-doctest package, where I concluded that any related packages that failed to build were already broken. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledger and its dependencies.) 2020-11-01 20:02 ` Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledger and its dependencies.) Christopher Baines @ 2020-11-01 20:28 ` Ricardo Wurmus 2020-11-02 11:23 ` zimoun 0 siblings, 1 reply; 3+ messages in thread From: Ricardo Wurmus @ 2020-11-01 20:28 UTC (permalink / raw) To: Christopher Baines; +Cc: guix-devel Christopher Baines <mail@cbaines.net> writes: > Ricardo Wurmus <rekado@elephly.net> writes: > >> Christopher Baines <mail@cbaines.net> writes: >> >>>> Carlo Holl (15): >>>> gnu: Add ghc-control-monad-free. >>>> gnu: Add ghc-csv. >>>> gnu: Add ghc-decimal. >>>> gnu: ghc-doctest: Update to 0.16.3. >>>> gnu: Add ghc-hspec-megaparsec. >>>> gnu: Add ghc-lucid. >>>> gnu: Add ghc-only. >>>> gnu: Add ghc-text-short. >>>> gnu: Add ghc-tabular. >>>> gnu: Add ghc-uglymemo. >>>> gnu: Add ghc-wizards. >>>> gnu: Add ghc-cassava. >>>> gnu: Add ghc-cassava-megaparsec. >>>> gnu: Add ghc-hledger-lib. >>>> gnu: Add hledger. >>>> >>>> gnu/packages/finance.scm | 63 ++++ >>>> gnu/packages/haskell-xyz.scm | 557 ++++++++++++++++++++++++++++++++++- >>>> 2 files changed, 608 insertions(+), 12 deletions(-) >>> >>> Awesome! I went through and tweaked some descriptions and wrapping and >>> pushed to master as e6bfb02eb79777b760031384d4a3c14239f7fb55. >> >> Unfortunately, some of these packages are the latest versions on >> Hackage, but we need to ensure that all Haskell packages are picked at >> versions corresponding to the currently supported version of LTSHaskell >> in Guix. We are behind the current LTSHaskell with our packages, so now >> we have the situation where we have packages that are *newer* than the >> latest LTSHaskell release and packages that are *older* than what the >> latest LTSHaskell release prescribes. >> >> We should fix this soon, because mixing Haskell packages from different >> LTS releases (or even ignoring the LTS releases in favour of the latest >> versions on Hackage) results in dependency hell for those users who want >> to use Guix for Haskell development. > > I'm not really aware of any Haskell specific packaging practices, and > while I can't guarantee I'd have read it, if there is a reason to not > use the latest version of Haskell packages, it would be good to have > that reason set out in the docs [1]. > > 1: https://guix.gnu.org/manual/en/html_node/Packaging-Guidelines.html#Packaging-Guidelines The reason is past compatibility problems with inconsistent Haskell packages. GHC itself bundles some packages that serve as the baseline for all Haskell packages, and that’s what the LTSHaskell releases are based on. If we cannot upgrade all Haskell packages to their latest versions at all times then we cannot use arbitrary versions — sticking to LTSHaskell is an easy way to ensure compatibility without having to manically upgrade Haskell packages all the time. The documentation should be updated to warn against upgrading to arbitrary versions. -- Ricardo ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledger and its dependencies.) 2020-11-01 20:28 ` Ricardo Wurmus @ 2020-11-02 11:23 ` zimoun 0 siblings, 0 replies; 3+ messages in thread From: zimoun @ 2020-11-02 11:23 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: Guix Devel Hi, On Sun, 1 Nov 2020 at 21:27, Ricardo Wurmus <rekado@elephly.net> wrote: > The documentation should be updated to warn against upgrading to > arbitrary versions. Does it make sense to add a check in the linter? Or in refresh? All the best, simon ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-02 11:24 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20201023074653.8885-1-carloholl@gmail.com> [not found] ` <20201101020236.1108-1-carloholl@gmail.com> [not found] ` <87a6w1xkmi.fsf@cbaines.net> [not found] ` <87eeldym1l.fsf@elephly.net> 2020-11-01 20:02 ` Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledger and its dependencies.) Christopher Baines 2020-11-01 20:28 ` Ricardo Wurmus 2020-11-02 11:23 ` zimoun
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).