guix-devel
[Top][All Lists]
Advanced

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

Re: Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledge


From: Ricardo Wurmus
Subject: Re: Haskell package versions (was bug#44174: [PATCH v2 00/15] Add hledger and its dependencies.)
Date: Sun, 01 Nov 2020 21:28:52 +0100
User-agent: mu4e 1.4.13; emacs 27.1

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]