all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xinglu Chen <public@yoctocell.xyz>
To: Lars-Dominik Braun <lars@6xq.net>
Cc: 49606@debbugs.gnu.org, Ricardo Wurmus <rekado@elephly.net>,
	Sarah Morgensen <iskarian@mgsn.dev>,
	John Kehayias <john.kehayias@protonmail.com>
Subject: [bug#49606] [PATCH wip-haskell v2] gnu: Add ghc-8.10.
Date: Mon, 13 Sep 2021 18:07:26 +0200	[thread overview]
Message-ID: <8735q8v4qp.fsf@yoctocell.xyz> (raw)
In-Reply-To: <YT9fJdTVyHUOtSPR@noor.fritz.box>

[-- Attachment #1: Type: text/plain, Size: 5106 bytes --]

On Mon, Sep 13 2021, Lars-Dominik Braun wrote:

> Hi,
>
>> Any comments/thoughts on this, anyone?
> I looked at the patch and would like to propose minor modifications. In
> particular I
>
> - removed the 'fix-cc-name phase, which is inherited from ghc-8.8 anyway

Aye, the patch has bitrotted a bit.

> - converted the failing test (which I can’t get to pass either) into
>   an expected failure instead of nulling it out and

Either way works for me.  :-)

> - renamed the package to ghc-next, which should avoid
>   https://issues.guix.gnu.org/47335 – if we also rename GHC 8.8 in a
>   different patch.

AFAIK, ‘-next’ packages are usually unstable versions of the regular
version, e.g., ‘emacs-next’ and ‘guile-next’.  ‘ghc-8.10’ is a stable
release, so I am not sure if the ‘-next’ prefix is appropriate.

Also, I would imagine that other language ecosystems also have to
problem of the default compiler not being the latest version, e.g., the
‘rust’ package points to rust-1.45, but rust-1.52 is the latest
available version.

> I think we can merge this patch to master, since it only adds a new GHC
> version and has no further implications. Thoughts?

Originally, the plan was to apply this patch to the ‘wip-haskell’
branch, which contained a patch that results in rebuilding all Haskell
pacakges, and then update our Stackage LTS version (which hasn’t been
updated for ~2 years)[1].  But seeing as there isn’t much interest in a
Haskell update, applying to ‘master’ seems like a better idea.

[1]:
<https://yhetil.org/guix/e7BRZzcL_m4HQVFynEoJhiwl7-MNGGeVEXrXExHAjPuEl9KtiGsySm7YY5sQ4evmx_O3V1mhFq_p3PafWbCKy9t5_0gfR2I2IJCmV8JTryY=@protonmail.com/>

> diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
> index 3d10bdc946..ca0498e6d9 100644
> --- a/gnu/packages/haskell.scm
> +++ b/gnu/packages/haskell.scm
> @@ -21,6 +21,7 @@
>  ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
>  ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
>  ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
> +;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -663,6 +664,60 @@ interactive environment for the functional language Haskell.")
>                                  (file-pattern ".*\\.conf\\.d$")
>                                  (file-type 'directory))))))
>  
> +(define-public ghc-8.10
> +  (package
> +    (inherit ghc-8.8)
> +    (name "ghc-next")
> +    (version "8.10.7")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://www.haskell.org/ghc/dist/"
> +                           version "/ghc-" version "-src.tar.xz"))
> +       (sha256
> +        (base32 "179ws2q0dinl1a39wm9j37xzwm84zfz3c5543vz8v479khigdvp3"))))
> +    (native-inputs
> +     `(("ghc-bootstrap" ,ghc-8.8)
> +       ("ghc-testsuite"
> +        ,(origin
> +           (method url-fetch)
> +           (uri (string-append
> +                 "https://www.haskell.org/ghc/dist/"
> +                 version "/ghc-" version "-testsuite.tar.xz"))
> +           (patches (search-patches "ghc-testsuite-dlopen-pie.patch"))
> +           (sha256
> +            (base32
> +             "1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz"))))
> +       ("git" ,git-minimal)                     ; invoked during tests
> +       ,@(filter (match-lambda
> +                   (("ghc-bootstrap" . _) #f)
> +                   (("ghc-testsuite" . _) #f)
> +                   (_ #t))
> +                 (package-native-inputs ghc-8.8))))
> +    (arguments
> +     (substitute-keyword-arguments (package-arguments ghc-8.8)
> +       ((#:phases phases '%standard-phases)
> +        `(modify-phases ,phases
> +           (add-after 'unpack-testsuite 'patch-more-shebangs
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (let ((bash (assoc-ref inputs "bash")))
> +                 (substitute* '("testsuite/tests/driver/T8602/T8602.script")
> +                   (("/bin/sh")
> +                    (string-append bash "/bin/sh"))))))
> +           ;; Mark failing tests as broken. Reason for failure is unknown.
> +           (add-after 'skip-more-tests 'skip-even-more-tests
> +             (lambda _
> +               (substitute* '("testsuite/tests/driver/T16521/all.T")
> +                 (("extra_files" all) (string-append "[" all))
> +                 (("\\]\\), " all)
> +                  (string-append all "expect_broken(0)], ")))))))))
> +    (native-search-paths (list (search-path-specification
> +                                (variable "GHC_PACKAGE_PATH")
> +                                (files (list
> +                                        (string-append "lib/ghc-" version)))
> +                                (file-pattern ".*\\.conf\\.d$")
> +                                (file-type 'directory))))))
> +

The updated patch LGTM, and great that you updated it to 8.10.7!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

  reply	other threads:[~2021-09-13 16:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-17 15:34 [bug#49606] [PATCH] gnu: Add ghc-8.10 Xinglu Chen
2021-07-17 19:24 ` Sarah Morgensen via Guix-patches via
2021-07-23 20:48   ` Xinglu Chen
2021-07-30 22:12 ` [bug#49606] [PATCH wip-haskell v2] " Xinglu Chen
2021-08-12 10:18   ` Xinglu Chen
2021-09-13 14:24     ` Lars-Dominik Braun
2021-09-13 16:07       ` Xinglu Chen [this message]
2021-09-13 16:55         ` John Kehayias via Guix-patches via
2021-09-14 13:02         ` Lars-Dominik Braun
2021-09-14 15:21           ` Xinglu Chen
2021-09-15  7:46             ` bug#49606: " Lars-Dominik Braun
2021-09-15 19:31               ` [bug#49606] " John Kehayias via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8735q8v4qp.fsf@yoctocell.xyz \
    --to=public@yoctocell.xyz \
    --cc=49606@debbugs.gnu.org \
    --cc=iskarian@mgsn.dev \
    --cc=john.kehayias@protonmail.com \
    --cc=lars@6xq.net \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.