2015-02-02 9 views
2

GHC 7.8.3을 기본 시스템 전체 Haskell 컴파일러로 만들고 싶습니다. 전체 플랫폼을 설치하고 싶지는 않습니다.NixOS : 시스템 전체에 7.8.3 버전의 GHC 사용

$ ghc --verion 
$ The Glorious Glasgow Haskell Compilation System, version 7.6.3 

나는 몇 가지 팁을 발견했습니다 ... 그러나

{ 
    environment.systemPackages = with pkgs; [ 
     haskellPackages_ghc783_profiling.alex 
     haskellPackages_ghc783_profiling.happy 
     # ghc.ghc783 -- not sure about this one 
     haskellPackages_ghc783_profiling.ghc 
     haskellPackages_ghc783_profiling.cabalInstall 
    ]; 
} 

기본적으로 7.6.3 쇼 VER, 그리고 어디에서 오는지 나는 상상할 수 없다 : 여기 내 configurarion.nix 파일의 조각이다 Wiki pages에 :

pkgs : { 
    packageOverrides = self : rec { 
    hsEnv = self.haskellPackages.ghcWithPackages (self : [ 
     self.haskellPlatform 
     # add more packages here 
     # 
     # I tried to replace `self.haskellPlatform` 
     # with `self:ghc783`, 
     # with `self:haskellPackages.ghc_783_profiling.ghc`, and 
     # with `self:ghc`, but all that produces errors. 
    ]); 
    }; 
} 

그래서, 버전 7.8.3이 기본값으로 만들 수있는 올바른 방법은 무엇입니까?

+0

'7.6.3'이 어디에서 왔는지 알고 싶다면'which' 명령을 사용하여 경로를 찾을 수 있습니다. – Sibi

+0

나는'which'에 익숙하다. 내 구성에는 나열되어 있지 않지만 실제로 시스템에 존재한다는 것을 의미한다. (: –

답변

0

사용자 nix env에 설치 했습니까? 시도하십시오 nix-env -q.

내가 원하는 버전으로 haskellPackages 이름을 변경하고 하스켈 환경 추가 모듈 like this one:

사용 nixpkgs.config.packageOverrides을 사용하여 다양한 특정 GHC 버전 시스템을 사용하려면

+0

Unfortunatelly, 호스트 파티션 문제로 인해 내 NixOS VM이 다운 됨. 며칠 만에 다시 확인하고 다시 확인하십시오 Fortunatelly, 내 구성이 복구되었습니다 . –

+0

흠. 최소한의 새로 설치로이 문제를 더 이상 재현 할 수 없습니다. –

1

:

nixpkgs.config.cabal.libraryProfiling = true; 
nixpkgs.config.packageOverrides = in_pkgs : rec 
    { 
    haskellPackages = in_pkgs.haskellPackages_ghc784_profiling; 
    hsEnv = in_pkgs.haskellPackages_ghc784_profiling.ghcWithPackages hsPkgs; 
    } 

hsPkgs 정의는 패키지 목록이 될 수 있습니다 생성자 :

environment.systemPackageshsEnv을 추가하십시오.

environment.systemPackages = [ hsEnv ];