Subject: Re: [bug#38596] [PATCH] gnu: Add PureScript.
From: Christopher Baines <[email-masked]>
To: John Soo <[email-masked]>
Cc: [email-masked]
Date: Fri, 08 May 2020 10:13:25 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

John Soo <[email-masked]> writes:

> Christopher Baines <[email-masked]> writes:
>
>> Some really minor description things I missed earlier:
>>
>> ghc-aeson-better-errors, ghc-transformers and ghc-websockets have URLs
>> in the description, @url could probably be used.
>>
>> I'd also remove the following from the ghc-bower-json description, it
>> reads more like uninformative advertising to me and isn't really
>> relevant to this specific package:
>>
>>   Bower is a package manager for the web (see http://bower.io).
>
> Done!
>
>> Maybe it would be good to note why the package in Guix didn't work, like
>> I tried to use [email-masked], and the build phase failed with some
>> type errors. That'll at least point out clearly that there's an
>> incompatability. I don't think much detail is needed, the following
>> would be fine.
>>
>>      `(("ghc-happy" ,ghc-happy-1.19.9)  ; build fails with 1.19.12
>
> Done!
>
>>> Ah thanks for the suggestion here. I found one that could be taken from
>>> the existing package in (gnu packages haskell-xyz). The rest seemed to
>>> be either pinned exactly or too strict to take from guix packages.
>>
>> Thanks, although my intent was more about adding something like this.
>>
>>   #:phases
>>   (modify-phases %standard-phases
>>     (add-after 'unpack 'patch
>>       (lambda _
>>         (substitute* "purescript.cabal"
>>           (("clock .*$")
>>            "clock,\n"))
>>         #t)))))
>
> With the addition of a patch I was able to relax most of the package
> versions I introduced to ones we have. The final remaining required
> dependency seems to be happy which I kept at 1.19.9.

Awesome. I added the patch to the list in gnu/local.mk, which I think is
necessary when building the guix package for guix at least. I also added
a small comment to the top of the patch.

>> Now I'm not sure quite how risky this is, the purescript tests aren't
>> being run, but given this is Haskell and it compiles, hopefully that
>> provides some guarantees.
>>
>> What do you think?
>
> My only caveat too is now I have not really tested this version. I had
> done some work with a prior version.  I wish I could run the tests but
> they seem to rely heavily on npm and bower.

Personally, I think that's fine for the moment. It builds at least and I
can run purs to at least get the help.

I've gone ahead and pushed these patches as
de488b3a5fff4535471f6706da03e1b74e6a37fd, thanks for all your work!

Chris