unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).