繁体   English   中英

在NixOS上强制Haskell Stack为版本1.7。*

[英]Forcing Haskell Stack to be Version 1.7.* on NixOS

语境。

  1. 我正在运行NixOS,我的configuration.nix包含了stack
  2. 运行stack --version产生Version 1.6.3 x86_64
  3. 但我需要Version >=1.7才能编译我的团队正在研究的最前沿的Haskell包。
  4. nixpkgs搜索的当前版本是1.6.5 ,无论如何都太旧了。
  5. 我认为通常在非NixOS上你可以在你的主文件夹中运行“堆栈升级”,但这似乎不起作用。

问:有没有人知道如何强制NixOS上的堆栈编译成版本,即1.7.1

添加此叠加层应该可以解决问题:

(self: super: {
  haskellPackages = super.haskellPackages.extend
    (hself: hsuper: {
      stack = (hsuper.callHackage "stack" "1.7.1" {})
              .overrideScope (hself2: hsuper2: {
        Cabal = hself2.Cabal_2_2_0_1;
        hpack = hself2.hpack_0_28_2;
      });
    });
})

这成功地在Nixpkgs master上构建stack 它将作为stack属性或haskellPackages.stack属性提供。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM