Skip to content

Update Haskell package set to LTS 15.8 (plus other fixes)#85178

Merged
peti merged 15 commits intomasterfrom
haskell-updates
Apr 17, 2020
Merged

Update Haskell package set to LTS 15.8 (plus other fixes)#85178
peti merged 15 commits intomasterfrom
haskell-updates

Conversation

@peti
Copy link
Member

@peti peti commented Apr 13, 2020

This PR is test-built by Hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. I'll fix up the remaining errors and merge it on Friday, 2020-04-17 20:00 CET. You can watch this live on Twitch at https://www.twitch.tv/peti343. In addition to the chat features offered by Twitch, there is also a voice conference at https://discord.gg/YTEa3XR that viewers can use to chat with me and with each other.

TODO

@peti peti added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Apr 13, 2020
@peti peti self-assigned this Apr 13, 2020
@ofborg ofborg bot added 8.has: documentation This PR adds or changes documentation 8.has: package (new) This PR adds a new package labels Apr 13, 2020
@ofborg ofborg bot requested a review from kosmikus April 13, 2020 19:55
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels Apr 13, 2020
@nh2
Copy link
Contributor

nh2 commented Apr 17, 2020

One thing I'd like us to look into:

My CI failure against master says:

Configuring ghc-lib-parser-ex-8.8.5.8...
Setup: Encountered missing dependencies:
ghc-lib-parser -any

builder for '/nix/store/4bhjr2nz9i2lyffp6ivqwxf7dxakx4ch-ghc-lib-parser-ex-8.8.5.8.drv' failed with exit code 1

And indeed, hackage-packages.nix doesn't list in "ghc-lib-parser-ex" a dependency on ghc-lib-parser, even though the cabal file of that version lists the dependency.

@cdepillabout
Copy link
Member

@nh2 It looks like that dependency is behind a flag, which is maybe why cabal2nix isn't picking it up.

https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex.cabal

@nh2
Copy link
Contributor

nh2 commented Apr 17, 2020

It looks like that dependency is behind a flag, which is maybe why cabal2nix isn't picking it up.

@cdepillabout Thanks! And it looks like the logic is changing again: shayne-fletcher/ghc-lib-parser-ex#42

I've asked in shayne-fletcher/ghc-lib-parser-ex#42 (comment).

@guibou
Copy link
Contributor

guibou commented Apr 17, 2020

krank author here. I'm really happy that you are trying krank to track outdated overrides. Please, let me know (here or in krank issue tracker) if there is any improvement I can do.

@nh2
Copy link
Contributor

nh2 commented Apr 17, 2020

@guibou I hadn't known about krank until now, that sounds really useful also for my own projects (and especially ugprades of NixOS!).

No specific requests yet, but I noticed one thing: Given that krank is a Haskell program, could you add it to Stackage? That would significantly increase the chances that it itself will not break in nixpkgs (reducing maintenance effort over here), and will also make it much easier to get it to build e.g. in static-haskell-nix.

@ofborg ofborg bot added the 8.has: clean-up This PR removes packages or removes other cruft label Apr 17, 2020
@peti peti force-pushed the haskell-updates branch from 5eb51fc to 5c17368 Compare April 17, 2020 18:48
peti and others added 9 commits April 17, 2020 20:49
This update was generated by hackage2nix v2.15.1 from Hackage revision
commercialhaskell/all-cabal-hashes@fcda256.
* ghcHEAD: bump to 8.11.20200403

* ghcHead: reduce diff vs. 8.10.1

dontAddExtraLibs was removed by accident (IMO) in ea19a8e

* ghcHEAD: add ability to use system libffi

- enable nixpkgs' libffi
- minimise diffs against 8.10.1
- remove patching

* remove configure warning about --with-curses-includes

configure: WARNING: unrecognized options: --with-curses-includes
jappeace and others added 5 commits April 17, 2020 20:50
This also unbreaks `haskell-ci`.
- get the current Git head of haskell-tensorflow
- adjust dependencies
This closes #79441.

ghcWithPackages is using `ghc-pkg recache` to build its package
database. By doing so, it overrides the `package.cache[.lock]` files.

Details are unclear, but GHC 8.10 changed a bit the behavior.
Previously, it was unconditionally replacing the files by new ones. Now
it tries to open (for modification) the files. These files are symlinks
to another nix derivation, which is hence read-only.

This commit removes the files before running `ghc-pkg recache`, hence it
will just write the new files.

Tested with `haskellPackages.ghcWithPackages` (i.e. GHC 8.8) and
`haskell.packages.ghc8101.ghcWithPackages` (i.e GHC 8.10) with the
following nix file, at the root of the nixpkgs repository:

```
with import ./. {
  overlays = [
    (
      self: super: {
        haskellPackages = super.haskell.packages.ghc8101.override {
          overrides = selfh: superh: {
             th-lift-instances = super.haskell.lib.doJailbreak superh.th-lift-instances;
             th-expand-syns    = super.haskell.lib.doJailbreak superh.th-expand-syns;
             th-reify-many     = super.haskell.lib.doJailbreak superh.th-reify-many;
             th-orphans        = super.haskell.lib.doJailbreak superh.th-orphans;
             haskell-src-meta  = super.haskell.lib.doJailbreak superh.haskell-src-meta;
          };
        };
      }
  )
  ];
};
haskellPackages.ghcWithPackages(p:[p.PyF])
```

This will test with GHC 8.10. Comment out the `overlays` to test with
GHC 8.8.
@peti peti force-pushed the haskell-updates branch from 5c17368 to d6aedf7 Compare April 17, 2020 18:51
@peti peti merged commit e9687df into master Apr 17, 2020
@peti
Copy link
Member Author

peti commented Apr 24, 2020

Next week we'll merge #85926.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language 8.has: clean-up This PR removes packages or removes other cruft 8.has: documentation This PR adds or changes documentation 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.