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

Register file-io as a GHC boot library #22

Closed
Rufflewind opened this issue May 20, 2024 · 7 comments
Closed

Register file-io as a GHC boot library #22

Rufflewind opened this issue May 20, 2024 · 7 comments

Comments

@Rufflewind
Copy link
Member

Can file-io be included in the GHC boot libraries so that directory can depend on it?

This is motivated by haskell/directory#177 (comment) .

@Bodigrim @bgamari

@hasufell
Copy link
Member

It can. There's no formal process for it. If a boot package adds a new dependency, then GHC HQ has to include that new depednency when bundling it.

I'd go so far to say this isn't even core lib maintainers business. GHC just chooses to ship with libraries. It's a redistribution effort.

Of course we have to be mindful about e.g. circular dependencies etc.

@bgamari
Copy link

bgamari commented May 21, 2024

FWIW, GHC has no objection to adding this dependency as a boot library.

@Bodigrim
Copy link
Collaborator

Given that Cabal does not like reinstalling boot libraries, we'd better be sure that file-io is mature and stable enough.

One option is to make a release of directory which uses file-io only if a certain manual Cabal flag is set. This would allow for more testing in the wild to gain more confidence before file-io eventually becomes a boot package.

@hasufell
Copy link
Member

One option is to make a release of directory which uses file-io only if a certain manual Cabal flag is set.

I'm not sure that gains us much, because that's just directory package using a small part of file-io.

haskell/cabal#9669 needs to be solved, because it is also a security hazard. I can't fix bugs in a timely fashion as a core library maintainer.

If we were to use a Cabal flag, then:

  • it should be True by default (using file-io)
  • GHC should disable it when bundling

@BinderDavid
Copy link

FYI: https://gitlab.haskell.org/hpc/hpc/-/merge_requests/35/diffs#4c23f3e77a0ef00cf8da63e8e50eef5197724f75

I could also provide an OsPath compatible API for hpc if file-io were a boot library.

@mpickering
Copy link

@Bodigrim @hasufell @Rufflewind I have opened a GHC issue in order to discuss adding a new boot library (file-io). Please contribute there with your opinions.

https://gitlab.haskell.org/ghc/ghc/-/issues/25145

@hasufell
Copy link
Member

Ownership has been given to CLC and I moved the repo to haskell. Everything else can be handled on GHC side.

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

6 participants