2016-09-17 6 views
1

Nix와 Stack을 사용하여 wxHaskell 용 빌드 환경을 설정하려고합니다.스택을 nix와 함께 사용하여 wxHaskell 프로젝트를 작성하는 방법은 무엇입니까?

nix를 통해 wxWidgets-3.0.2를 설치했습니다. 이 .cabal 파일

executable hellowx-exe 
hs-source-dirs:  app 
main-is:   Main.hs 
ghc-options:  -threaded -rtsopts -with-rtsopts=-N 
build-depends:  base 
        , hellowx 
        , wx 
        , wxc 
        , wxcore 
        , wxdirect 

에 의해에서 관련 부분과

nix: 
    enable: true 
    packages: [wxwidgets] 

를 추가 내가 시도 stack.yaml 파일

resolver: lts-5.0 
extra-deps: 
- wx-0.92.2.0 
- wxc-0.92.2.0 
- wxcore-0.92.2.0 
- wxdirect-0.92.2.0 

입니다하지만 분명히 올바른 방법이 아니었다.

그래서 .yaml 파일에서 nix 부분을 제거하고 $ stack --nix build을 시도하여 실패했습니다. 내가 WX-설정 및 wxWidgets에이 괜찬을 통해 설치해야합니까 그러나 로그 파일은

[1 of 1] Compiling Main    (/run/user/1000/stack8847/wxc-0.92.2.0/Setup.hs, /run/user/1000/stack8847/wxc-0.92.2.0/.stack-work/dist/x86_64-linux-nix/Cabal-1.22.5.0/setup/Main.o) 
Linking /run/user/1000/stack8847/wxc-0.92.2.0/.stack-work/dist/x86_64-linux-nix/Cabal-1.22.5.0/setup/setup ... 
Error: wx-config not found, please install wx-config before installing wxc 

말했다. 빌드 프로세스가 어떤 이유로 그것을 찾을 수 없습니다. 이 빌드 환경을 설정하려면 어떻게해야합니까? wx-config를 포함하는 디렉토리를보기 위해 빌드 프로세스를 지시하는 방법이 있습니까? 나는 그것이 그것을 발견 할 수없는 이유를 이해할 수 없다. 그것 PATH에.

답변

1

좋아, 알아 냈어. 잘못된 "속성 이름"을 추가하고있었습니다. 여기에 제대로 모든 것을 구축 할 것으로 보인다 올바른 stack.yaml 파일

# at this point in time nix supports lts-5.0 
resolver: lts-5.0 

packages: 
-'.' 

extra-deps: 
- wx-0.92.2.0 
- wxc-0.92.2.0 
- wxcore-0.92.2.0 
- wxdirect-0.92.2.0 

# wxwidgets-3.0.2 has the attribute name wxGTK30 
# you also need zlib, mesa_noglu and x11 

nix: 
    enable: true 
    packages: [zlib, wxGTK30, mesa_noglu, x11] 

이며, 여기에서 최소한의 윈도우를 구축 할 수 있었다 (minimal.hs)

+0

어떻게 shell.nix를 사용하지 않는 거지? – CMCDragonkai