Skip to content
Snippets Groups Projects
clash-lib.nix 2.63 KiB
Newer Older
{ mkDerivation, Glob, aeson, aeson-pretty, ansi-terminal, array
, async, attoparsec, base, base16-bytestring, binary, bytestring
, clash-prelude, concurrent-supply, containers, cryptohash-sha256
, data-binary-ieee754, data-default, deepseq, directory, dlist
, doctest-parallel, exceptions, extra, fetchgit, filepath, ghc
, ghc-bignum, ghc-boot-th, ghc-typelits-knownnat, hashable
, haskell-src-exts, haskell-src-meta, hint, infinite-list, lens
, lib, mtl, ordered-containers, pretty-show, prettyprinter
, prettyprinter-interp, primitive, quickcheck-text
, string-interpolate, stringsearch, tasty, tasty-hunit
, tasty-quickcheck, tasty-th, template-haskell, temporary
, terminal-size, text, time, transformers, trifecta
, unordered-containers, vector, vector-binary-instances, yaml
}:
mkDerivation {
  pname = "clash-lib";
  version = "1.7.0";
  src = fetchgit {
    url = "https://github.com/clash-lang/clash-compiler";
    sha256 = "1myvhkbw93gqsq9kyk7anbvvrn4c45bw99sr8l2486nb6svkwabh";
    rev = "8bfb4ec58543e14e968e2c336594a529565996c2";
    fetchSubmodules = true;
  };
  postUnpack = "sourceRoot+=/clash-lib/; echo source root reset to $sourceRoot";
  isLibrary = true;
  isExecutable = true;
  enableSeparateDataOutput = true;
  libraryHaskellDepends = [
    aeson aeson-pretty ansi-terminal array async attoparsec base
    base16-bytestring binary bytestring clash-prelude concurrent-supply
    containers cryptohash-sha256 data-binary-ieee754 data-default
    deepseq directory dlist exceptions extra filepath ghc ghc-bignum
    ghc-boot-th hashable haskell-src-meta hint infinite-list lens mtl
    ordered-containers pretty-show prettyprinter prettyprinter-interp
    primitive string-interpolate template-haskell temporary
    terminal-size text time transformers trifecta unordered-containers
    vector vector-binary-instances yaml
  ];
  executableHaskellDepends = [
    aeson base bytestring containers deepseq directory Glob
    stringsearch yaml
  ];
  testHaskellDepends = [
    aeson aeson-pretty base base16-bytestring bytestring clash-prelude
    concurrent-supply containers data-default deepseq doctest-parallel
    filepath ghc ghc-typelits-knownnat haskell-src-exts lens
    pretty-show quickcheck-text tasty tasty-hunit tasty-quickcheck
    tasty-th template-haskell text transformers unordered-containers
  ];
  enableLibraryProfiling = true;
  enableExecutableProfiling = true;
  doHaddock = false;
  jailbreak = true;
  doCheck = false;
  doBenchmark = false;
  hyperlinkSource = false;
  homepage = "https://clash-lang.org/";
  description = "Clash: a functional hardware description language - As a library";
  license = lib.licenses.bsd2;
  broken = false;
}