Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for GHC's JavaScript backend #723

Open
RyanGlScott opened this issue May 4, 2024 · 2 comments
Open

Add support for GHC's JavaScript backend #723

RyanGlScott opened this issue May 4, 2024 · 2 comments

Comments

@RyanGlScott
Copy link
Contributor

Currently, haskell-ci relies on this GHCJS Ubuntu PPA in order to offer installation support for GHCJS. However, this PPA has not been updated since Ubuntu 18.04, and the minimum version of Ubuntu that haskell-ci now supports is Focal Fossa (20.04). As such, attempting to install GHCJS via haskell-ci will always fail (see this CI job for an example).

Perhaps haskell-ci should just remove its GHCJS support to avoid this potential footgun?

RyanGlScott added a commit to goldfirere/singletons that referenced this issue May 4, 2024
This requires a more recent version of `haskell-ci` that supports GHC 9.10.1.
Another change that this more recent version of `haskell-ci` introduces is that
it drops support for pre-20.04 versions of Ubuntu, so we must also upgrade to a
more recent version of Ubuntu (I chose Ubuntu 22.04, or Jammy Jellyfish).

Unfortunately, `haskell-ci`'s GHCJS support no longer works with recent
versions of Ubuntu (see haskell-CI/haskell-ci#723),
so I had to remove the GHCJS configuration from the CI. This does not mean that
`singletons` is dropping JavaScript support, however, as we still plan to
support building the `singletons` library with GHC's JavaScript backend (the
modern successor to GHCJS).

There is currently no way to set up a GHC JavaScript backend CI job using
`haskell-ci`, and the amount of setup required to manually create one is such
that I'm putting it off for now. If someone asks for it, we can add one later.
RyanGlScott added a commit to goldfirere/singletons that referenced this issue May 4, 2024
This requires a more recent version of `haskell-ci` that supports GHC 9.10.1.
Another change that this more recent version of `haskell-ci` introduces is that
it drops support for pre-20.04 versions of Ubuntu, so we must also upgrade to a
more recent version of Ubuntu (I chose Ubuntu 22.04, or Jammy Jellyfish).

Unfortunately, `haskell-ci`'s GHCJS support no longer works with recent
versions of Ubuntu (see haskell-CI/haskell-ci#723),
so I had to remove the GHCJS configuration from the CI. This does not mean that
`singletons` is dropping JavaScript support, however, as we still plan to
support building the `singletons` library with GHC's JavaScript backend (the
modern successor to GHCJS).

There is currently no way to set up a GHC JavaScript backend CI job using
`haskell-ci`, and the amount of setup required to manually create one is such
that I'm putting it off for now. If someone asks for it, we can add one later.
@phadej
Copy link
Collaborator

phadej commented May 4, 2024

As you notice in the comments that there's GHC's JS backend on the horizon. Eventually I'd like to support it too, so for time being I'd just leave GHCJS stuff as it is and wait to see how GHC's JS backend shapes up.

For sure we cannot use the same "compiler identifier" for JS backend, and we'll have figure out what to do when we know better. So I don't want to cleanup GHCJS stuff for now.

EDIT: in perfect world GHC JS backend would just work when corresponding GHC works (i.e. it's more of an arch/os i.e. macos vs linux vs windows or x86 vs arm, than anything else), but I don't see that happening from the beginning.

EDIT: there is "is" macos support too, which doesn't work either, there are leftovers which don't work. I'm not too eager to cleanup them, they didn't add maintenance burden so far.

@RyanGlScott
Copy link
Contributor Author

Sounds good to me. I'll retitle this issue to track explicitly supporting GHC's JavaScript backend.

@RyanGlScott RyanGlScott changed the title Remove GHCJS support? Add support for GHC's JavaScript backend May 4, 2024
RyanGlScott added a commit to goldfirere/singletons that referenced this issue May 12, 2024
This requires a more recent version of `haskell-ci` that supports GHC 9.10.1.
Another change that this more recent version of `haskell-ci` introduces is that
it drops support for pre-20.04 versions of Ubuntu, so we must also upgrade to a
more recent version of Ubuntu (I chose Ubuntu 22.04, or Jammy Jellyfish).

Unfortunately, `haskell-ci`'s GHCJS support no longer works with recent
versions of Ubuntu (see haskell-CI/haskell-ci#723),
so I had to remove the GHCJS configuration from the CI. This does not mean that
`singletons` is dropping JavaScript support, however, as we still plan to
support building the `singletons` library with GHC's JavaScript backend (the
modern successor to GHCJS).

There is currently no way to set up a GHC JavaScript backend CI job using
`haskell-ci`, and the amount of setup required to manually create one is such
that I'm putting it off for now. If someone asks for it, we can add one later.
RyanGlScott added a commit to goldfirere/singletons that referenced this issue May 12, 2024
This requires a more recent version of `haskell-ci` that supports GHC 9.10.1.
Another change that this more recent version of `haskell-ci` introduces is that
it drops support for pre-20.04 versions of Ubuntu, so we must also upgrade to a
more recent version of Ubuntu (I chose Ubuntu 22.04, or Jammy Jellyfish).

Unfortunately, `haskell-ci`'s GHCJS support no longer works with recent
versions of Ubuntu (see haskell-CI/haskell-ci#723),
so I had to remove the GHCJS configuration from the CI. This does not mean that
`singletons` is dropping JavaScript support, however, as we still plan to
support building the `singletons` library with GHC's JavaScript backend (the
modern successor to GHCJS).

There is currently no way to set up a GHC JavaScript backend CI job using
`haskell-ci`, and the amount of setup required to manually create one is such
that I'm putting it off for now. If someone asks for it, we can add one later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants