Consume buildHaskell functions

Use the newly defined `buildHaskell` function for a few of my existing Haskell
projects. So far, it works as intended!
This commit is contained in:
William Carroll 2020-08-12 16:28:39 +01:00
parent 4ea55dd013
commit 2da4b12266
3 changed files with 45 additions and 57 deletions

View file

@ -1,27 +1,27 @@
let
pkgs = import /home/wpcarro/nixpkgs {};
ghc = pkgs.haskellPackages.ghcWithPackages (hpkgs: [
hpkgs.servant-server
hpkgs.aeson
hpkgs.wai-cors
hpkgs.warp
hpkgs.jwt
hpkgs.unordered-containers
hpkgs.base64
hpkgs.http-conduit
hpkgs.rio
]);
in pkgs.stdenv.mkDerivation {
name = "LearnPianoChords-server";
briefcase = import /home/wpcarro/briefcase {};
in briefcase.buildHaskell.program {
name = "server";
srcs = builtins.path {
path = ./.;
name = "LearnPianoChords-server-src";
};
buildPhase = ''
${ghc} -O Main.hs \
-XOverloadedStrings \
-XNoImplicitPrelude \
-XRecordWildCards \
-XTypeApplications
'';
ghcExtensions = [
"OverloadedStrings"
"NoImplicitPrelude"
"RecordWildCards"
"TypeApplications"
];
deps = hpkgs: with hpkgs; [
servant-server
aeson
wai-cors
warp
jwt
unordered-containers
base64
http-conduit
rio
envy
];
}

View file

@ -1,19 +1,17 @@
let
pkgs = import /home/wpcarro/nixpkgs {};
in pkgs.mkShell {
buildInputs = with pkgs; [
(haskellPackages.ghcWithPackages (hpkgs: [
hpkgs.hspec
hpkgs.servant-server
hpkgs.aeson
hpkgs.wai-cors
hpkgs.warp
hpkgs.jwt
hpkgs.unordered-containers
hpkgs.base64
hpkgs.http-conduit
hpkgs.rio
hpkgs.envy
]))
briefcase = import /home/wpcarro/briefcase {};
in briefcase.buildHaskell.shell {
deps = hpkgs: with hpkgs; [
hspec
servant-server
aeson
wai-cors
warp
jwt
unordered-containers
base64
http-conduit
rio
envy
];
}