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

ghc 8.4: update configuration #35200

Merged
merged 1 commit into from Feb 19, 2018
Merged

ghc 8.4: update configuration #35200

merged 1 commit into from Feb 19, 2018

Conversation

deepfire
Copy link
Contributor

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@deepfire
Copy link
Contributor Author

deepfire commented Feb 19, 2018

@peti, this updates the package set in two ways:

  1. The updates to securemem, deepseq-generics and funcmp have been interned (the documentation has a section on how that was done)
  2. The trims are in accord with the latest nh: https://github.com/deepfire/nh
  3. The override DB is published at: https://github.com/deepfire/configuration-ghc-8.4.x

I'm still super-nervous releasing this into the open world, but at least now it has a README, a help system, and most of the pressing, outstanding concerns have been relieved, I believe..

@peti peti merged commit e2cb118 into NixOS:master Feb 19, 2018
## Needed for (<>) in prelude
## Setup: Encountered missing dependencies:
## base >=3 && <4.11
jailbreak = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am surprised that jailbreak is necessary. I released funcmp 1.9 specifically to address ghc 8.4.x compatibility. Did I make a mistake somewhere? According to http://hackage.haskell.org/package/funcmp, the 1.9 version accepts base >= 4.5 && < 5.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something must have messed up in the gearbox, investigating..

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I ran to facilitate investigation:

nh audit --skip-baseline
Generating override cache: 63/63
Assembling overrides................................................................. done.
                  ChasingBottoms: no upstream specified
                      haskell-gi: hackage 0.21.0 obsoletes upstream fix (version 0.21.0), committed Tue Jan  9 19:38:03 MSK 2018 < release uploaded Thu, 11 Jan 2018 09:57:02 GMT
                 haskell-gi-base: hackage 0.21.0 obsoletes upstream fix (version 0.21.0), committed Tue Jan  9 19:38:03 MSK 2018 < release uploaded Thu, 11 Jan 2018 09:55:04 GMT
               vector-algorithms: no upstream specified
deepfire@andromedae:~/holotype$ nh trim --skip-baseline funcmp
Generating override cache: 63/63
-( trimming in progress
TRIM funcmp>
TRIM funcmp -all>  Assembling overrides................................................................. done.
FATAL: failed to build 'funcmp', without overriding 'default'
FATAL: logs:  nh log funcmp default
CABAL-MISSING-DEPS
Setup: Encountered missing dependencies:
base >=3 && <4.11
FAILED
TRIM funcmp -jailbreak>    ## Needs bump to a versioned attribute
  ##
  ## Needed for (<>) in prelude  funcmp = super.funcmp_1_9;

Assembling overrides................................................................. done.
FATAL: failed to build 'funcmp', without overriding 'jailbreak'
FATAL: logs:  nh log funcmp jailbreak
CABAL-MISSING-DEPS
Setup: Encountered missing dependencies:
base >=3 && <4.11
FAILED
TRIM funcmp -src>  SKIPPED, explanation exists:  nh x emit_explanation src funcmp
deepfire@andromedae:~/holotype$ nh info funcmp
attribute 'funcmp':

           status: shadowed
        overrides: jailbreak src
  nixpkgs release: 1.8
 upstream release: 1.9
 override release: 1.9
             meta: src.explanation

What I see from the above, is that https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/development/haskell-modules/hackage-packages.nix still defines funcmp to be 1.8 -- which still has the problem for any default users of funcmp on GHC 8.4 -- even if they wouldn't have it if they used funcmp_1_9.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @peti

Copy link
Contributor Author

@deepfire deepfire Feb 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The without overriding 'default' "explanation" is sufficiently confusing it needs attention, I guess.. It actually means "without overriding anything" or "by default", but shell script programming..

Copy link
Member

@peti peti Feb 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, funcmp does not compile on GHC 8.4.x even after the jailbreak and funcmp_1_9 compiles fine on GHC 8.4.x without the jailbreak. Adding the jailbreak to the 1.9 version does not hurt, but it seems unnecessary to me (and it's not going to benefit users of the 1.8 version in any way either).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, the trimmer has messed up and was building funcmp-1.8 while attempting to trim the jailbreak override -- that's clearly a bug..

Copy link
Contributor Author

@deepfire deepfire Feb 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in deepfire/nh@f58d22c -- postmortem in deepfire/nh#10

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

Successfully merging this pull request may close these issues.

None yet

3 participants