2017-09-13 4 views
3

Je voudrais utiliser le script de travail dans reflex-platform pour compiler un projet qui a été géré avec la pile jusqu'à présent comme expliqué here.Utilisation de Reflex Platform pour compiler un projet de pile avec des paquets locaux

Dans la liste des paquets de stack.yaml j'ai une référence à un ensemble situé dans un chemin local, quelque chose comme:

packages: 
- '.' 
- ../<my_package> 

Quand je lance le script que je reçois une erreur de nix étrange en disant qu'une fonction anonyme a été appelé sans argument requis (avec le nom du paquet local).

error: anonymous function at /nix/store/sci0xi7jjwl9krpsp051iry1blz0jaw0-cabal2nix-for-unknown-package/default.nix:1:1 called without required argument ‘my_package’, at /nix/store/wgg4rzg3hyywfd7b0917qmj4617rza7k-nixpkgs-32833c010ecf868826aaa3b60d322bf697f37134-src/pkgs/development/haskell-modules/make-package-set.nix:69:27

Comment puis-je indiquer à nix où le trouver?

Répondre

1

Vous pouvez ajouter my_package en utilisant le mécanisme dérogatoire paquet dans haskellPackages, comme décrit dans le NixPkgs Manual

Le fichier cabal.project, tel qu'il est utilisé à cette fin, est à peu près équivalent à un ensemble de dérogations ajouté à haskellPackages. Si vous passez entièrement à Nix, vous pouvez supprimer le cabal.project lorsque vous avez terminé, car il sera obsolète. NixPkgs 'haskellPackages n'en a pas besoin. Il utilise seulement cabal-install pour construire des paquets uniques à la fois.