Skip to content

Instantly share code, notes, and snippets.

@cleverca22
Created August 19, 2020 00:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cleverca22/3fbf226d87a47e0d82771cdbd6970dfa to your computer and use it in GitHub Desktop.
Save cleverca22/3fbf226d87a47e0d82771cdbd6970dfa to your computer and use it in GitHub Desktop.
{ pkgs ? (import (builtins.fetchGit {
url = "https://github.com/NixOS/nixpkgs-channels.git";
ref = "nixos-unstable";
rev = "1e3f09feaa5667be4ed6eca96a984b4642420b83";
}) {}) }:
let
ghc = pkgs.haskellPackages.override {
overrides = self: super: {
quickcheck = self.quickcheck_2_14_0;
smallcheck = self.smallcheck_1_2_0;
splitmix = pkgs.haskell.lib.dontCheck self.splitmix_0_1_0_1;
async = pkgs.haskell.lib.dontCheck super.async;
random = pkgs.haskell.lib.dontCheck self.random_1_2_0;
};
};
# ghc = pkgs.haskellPackages;
in pkgs.stdenv.mkDerivation {
pname = "haskell-pbil";
version = "1.0.0";
src = ./.;
nativeBuildInputs = [ (ghc.ghcWithPackages (hpkgs: with hpkgs; [
random
# (random_1_2_0.override {
# smallcheck = smallcheck_1_2_0;
# splitmix = splitmix_0_1_0_1;
# })
])) ];
buildPhase = ''
mkdir -p build
ghc --make \
-isrc \
-O2 \
-outputdir build \
-o build/haskell-pbil \
src/Main.hs
'';
installPhase = ''
mkdir -p $out/bin
mv build/haskell-pbil $out/bin/
'';
shellHook = ''
export PATH=\
${pkgs.haskellPackages.haskell-language-server}/bin:\
$PATH
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment