2 inputs.nixpkgs.url = "flake:nixpkgs";
3 inputs.symantic-base.url = "git://git.sourcephile.fr/haskell/symantic-base";
4 inputs.symantic-base.inputs.nixpkgs.follows = "nixpkgs";
6 pkg = "symantic-parser";
7 lib = inputs.nixpkgs.lib;
8 forAllSystems = f: lib.genAttrs lib.systems.flakeExposed (system: f rec {
10 pkgs = inputs.nixpkgs.legacyPackages.${system};
11 haskellPackages = pkgs.haskell.packages."ghc924".extend (with pkgs.haskell.lib; hfinal: hsuper: {
12 ${pkg} = doBenchmark (buildFromSdist (hfinal.callCabal2nix pkg ./. {}));
13 eventlog2html = doJailbreak (unmarkBroken hsuper.eventlog2html);
14 hs-speedscope = doJailbreak (unmarkBroken hsuper.hs-speedscope);
15 ormolu = doJailbreak (unmarkBroken hsuper.ormolu);
16 symantic-base = buildFromSdist (hfinal.callCabal2nix "symantic-base" inputs.symantic-base {});
17 text-short = dontCheck hsuper.text-short;
18 trie-simple = doJailbreak (unmarkBroken hsuper.trie-simple);
19 criterion = dontCheck hsuper.criterion; # Reason "killed for running longer than 30 seconds!"
24 defaultPackage = forAllSystems ({haskellPackages, ...}: haskellPackages.${pkg});
26 devShell = forAllSystems ({pkgs, haskellPackages, ...}:
27 haskellPackages.shellFor {
28 packages = ps: [ ps.${pkg} ];
30 haskellPackages.cabal-install
31 #haskellPackages.eventlog2html
32 #haskellPackages.ghc-events
34 haskellPackages.haskell-language-server
36 #haskellPackages.hs-speedscope
37 haskellPackages.ormolu
38 #haskellPackages.profiteur
44 # FIXME: remove when Nixpkgs' haskellPackages.ormolu is no longer broken
45 CABAL_TEST_FLAGS = "-fdisable-ormolu-check";