From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:43274) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQnlD-0004eH-Pn for guix-patches@gnu.org; Tue, 21 Apr 2020 03:56:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQnlC-0004eG-Rf for guix-patches@gnu.org; Tue, 21 Apr 2020 03:56:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37431) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQnlC-0004dJ-DZ for guix-patches@gnu.org; Tue, 21 Apr 2020 03:56:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jQnlC-0005mN-AT for guix-patches@gnu.org; Tue, 21 Apr 2020 03:56:02 -0400 Subject: [bug#38596] [PATCH] gnu: Add PureScript. Resent-Message-ID: References: <87k12lrdd3.fsf@asu.edu> <87imhx6hpl.fsf@cbaines.net> <87k12cifxs.fsf@asu.edu> From: Christopher Baines In-reply-to: <87k12cifxs.fsf@asu.edu> Date: Tue, 21 Apr 2020 08:55:37 +0100 Message-ID: <87o8rl46iu.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: John Soo Cc: 38596@debbugs.gnu.org --=-=-= Content-Type: text/plain John Soo writes: > Christopher Baines writes: > >> I've had an initial look through these now, sorry it's taken so long! > > No problem. I was thinking I ought to do some qa and review, myself. > >> ghc-utf8-light could do with a better description, something a little >> more informative. > > I think I made this better as well as fixing some other descriptions > lacking full sentences. Great :) >> The ghc-sourcemap and ghc-mtl-compat tests are disabled, it would be >> good to at least add a comments as to why. > > I added a comment for sourcemap. I realized mtl-compat's tests and > haddocks worked just fine so those are re-enabled. Cool. >> The ghc-protolude synopsis could potentially be more informative. > > I think I added some more commentary there. It's a bit tricky since I > have not used protolude myself so I am not sure what to provide aside > from their stated description. Sure, I think it's fine now. 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). >> I think adding specific versions of dependencies for purescript is OK, >> but only if they're justified, like if the package only builds with that >> version. The justification should also be noted in the purescript >> package description. > > Ah, thanks. Would a comment above the dependencies suffice? The packages > won't be searchable since they are not define-public (yet?). Maybe it would be good to note why the package in Guix didn't work, like I tried to use ghc-happy@1.19.12, 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 >> I don't think it's necessary to go through all the custom versions of >> packages you've added, but it would be good to at least see if there's >> one case where the upstream specification is overly strict, and the >> slightly different version from Guix would work. That at least would >> provide an example of how to override versions going forward. > > 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))))) 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? Thanks, Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl6epvlfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9Xdepw//fAVUMOefv94KO4s/+BNm1mIEXEZa5IXitj1sEX8/RAzKxV9MVbzAZotg 8a+pbVE52kugYETIeZ5S0iU4ADErTYO8NEsY4+LoXBpR+aO07BmANDMhXLmQxd/B kFLYiQ4UrjWlWSWNS3O/EfGvtvM4EV3cYla+lrh84sBjTblUkIuA8R9t901Fx9zI Jn5JO1n1VbiInvQuW8WrVuyitxPbnIpeUfpB4f7kRMcF63gHNOSb/aEQwT5lcDxy wwtv7nVOfKvnJDoGwU7itZj7d5XNMGx37kM6ATYt8Sj2WUkl3NVThtRu15dizKCI 68Pn/GHugc6m/YZSXzsnZr0q4E5r2FbmOTqaO2EvBsfkLzcfx7eQKGtSFMO+3RhU VUvfGUNtZHs6hYaIIkReZ7R+cHlyd8ZAsdMIxvsVUqhJyTR6HOM3x1AwIKCNmCGH d6Y39IyukYxBwvDH72AqZzgBlO2E9ubSRTyWHscvkH1tSMv5mcyb9oYh8ngSYyxa nR6qkXI5gsni9/br3yxxwV7KGsJ+lB7E/7GKWshgmJrekwhIb+WWzysQ53grg/eg VOZu+SAIt0IQhaZGn0nzG/vAIRHuXpRJ31MW/tg65J7VmDSdEO8sk36XF7Lcldlt 8ggcBLSYrKbTJQ8loc/zu+yurpMZnJCTyUWK6rLw8lYOaKVXn9U= =z8rU -----END PGP SIGNATURE----- --=-=-=--