Guest User

Untitled

a guest
Aug 18th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. { pkgs ? (import (builtins.fetchGit {
  2. url = "https://github.com/NixOS/nixpkgs-channels.git";
  3. ref = "nixos-unstable";
  4. rev = "1e3f09feaa5667be4ed6eca96a984b4642420b83";
  5. }) {}) }:
  6.  
  7. let
  8. ghc = ghc'.override {
  9. overrides = self: super: {
  10. random = self.random_1_2_0;
  11. smallcheck = self.smallcheck_1_2_0;
  12. splitmix = self.splitmix_0_1_0_1;
  13. };
  14. };
  15. ghc' = pkgs.haskellPackages;
  16. in pkgs.stdenv.mkDerivation {
  17. pname = "haskell-pbil";
  18. version = "1.0.0";
  19.  
  20. src = ./.;
  21.  
  22. nativeBuildInputs = [ (ghc.ghcWithPackages (hpkgs: with hpkgs; [
  23. random
  24. ])) ];
  25.  
  26. buildPhase = ''
  27. mkdir -p build
  28. ghc --make \
  29. -isrc \
  30. -O2 \
  31. -outputdir build \
  32. -o build/haskell-pbil \
  33. src/Main.hs
  34. '';
  35.  
  36. installPhase = ''
  37. mkdir -p $out/bin
  38. mv build/haskell-pbil $out/bin/
  39. '';
  40.  
  41. # Note that `ghc.haskell-language-server` causes an infinite recursion
  42. # from the overlay.
  43. shellHook = ''
  44. export PATH=\
  45. ${ghc'.haskell-language-server}/bin:\
  46. $PATH
  47. '';
  48. }
  49.  
Add Comment
Please, Sign In to add comment