aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--default.nix32
-rw-r--r--nix/hedgehog-fn.nix17
-rw-r--r--nix/parser-combinators.nix10
-rw-r--r--nix/tomland.nix33
-rw-r--r--release.nix17
6 files changed, 112 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 8997a16..6183d72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,6 @@ TAGS
.shelly
failed
output*
+.ghc*
+cabal.project.local
+dist* \ No newline at end of file
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..9155713
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,32 @@
+{ mkDerivation, alex, array, base, binary, blaze-html, bytestring
+, Cabal, cabal-doctest, cryptonite, deepseq, DRBG, exceptions, fgl
+, fgl-visualize, filepath, gitrev, hedgehog, hedgehog-fn, lens
+, lifted-base, memory, monad-control, optparse-applicative, parsec
+, prettyprinter, random, recursion-schemes, shakespeare, shelly
+, stdenv, tasty, tasty-hedgehog, tasty-hunit, template-haskell
+, text, time, tomland, transformers, transformers-base
+}:
+mkDerivation {
+ pname = "verifuzz";
+ version = "0.2.0.0";
+ src = ./.;
+ isLibrary = true;
+ isExecutable = true;
+ setupHaskellDepends = [ base Cabal cabal-doctest ];
+ libraryHaskellDepends = [
+ array base binary blaze-html bytestring cryptonite deepseq DRBG
+ exceptions fgl fgl-visualize filepath gitrev hedgehog lens
+ lifted-base memory monad-control optparse-applicative parsec
+ prettyprinter random recursion-schemes shakespeare shelly
+ template-haskell text time tomland transformers transformers-base
+ ];
+ libraryToolDepends = [ alex ];
+ executableHaskellDepends = [ base ];
+ testHaskellDepends = [
+ base fgl hedgehog hedgehog-fn lens parsec shakespeare tasty
+ tasty-hedgehog tasty-hunit text
+ ];
+ homepage = "https://github.com/ymherklotz/VeriFuzz#readme";
+ description = "Random verilog generation and simulator testing";
+ license = stdenv.lib.licenses.bsd3;
+}
diff --git a/nix/hedgehog-fn.nix b/nix/hedgehog-fn.nix
new file mode 100644
index 0000000..0bf9279
--- /dev/null
+++ b/nix/hedgehog-fn.nix
@@ -0,0 +1,17 @@
+{ mkDerivation, base, contravariant, hedgehog, stdenv, transformers
+}:
+mkDerivation {
+ pname = "hedgehog-fn";
+ version = "0.6";
+ sha256 = "fb02b67fba97e24c226feba010d2b308934c54e20a0723b6ea7e4eb199f02176";
+ revision = "1";
+ editedCabalFile = "19v7amg8l6s1gadnya8nxkcbi0vd3wqc7h6gvqvs099qaqm7zbb1";
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [
+ base contravariant hedgehog transformers
+ ];
+ homepage = "https://github.com/qfpl/hedgehog-fn";
+ description = "Function generation for `hedgehog`";
+ license = stdenv.lib.licenses.bsd3;
+}
diff --git a/nix/parser-combinators.nix b/nix/parser-combinators.nix
new file mode 100644
index 0000000..d1baab9
--- /dev/null
+++ b/nix/parser-combinators.nix
@@ -0,0 +1,10 @@
+{ mkDerivation, base, stdenv }:
+mkDerivation {
+ pname = "parser-combinators";
+ version = "1.1.0";
+ sha256 = "ac7642972b18a47c575d2bcd0b2f6c34f33ca2ed3adb28034420d09ced823e91";
+ libraryHaskellDepends = [ base ];
+ homepage = "https://github.com/mrkkrp/parser-combinators";
+ description = "Lightweight package providing commonly useful parser combinators";
+ license = stdenv.lib.licenses.bsd3;
+}
diff --git a/nix/tomland.nix b/nix/tomland.nix
new file mode 100644
index 0000000..e771e20
--- /dev/null
+++ b/nix/tomland.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, aeson, base, bytestring, containers, deepseq
+, directory, gauge, hashable, hedgehog, hspec-megaparsec, htoml
+, htoml-megaparsec, markdown-unlit, megaparsec, mtl, parsec
+, parser-combinators, stdenv, tasty, tasty-discover, tasty-hedgehog
+, tasty-hspec, tasty-silver, text, time, toml-parser, transformers
+, unordered-containers
+}:
+mkDerivation {
+ pname = "tomland";
+ version = "1.1.0.1";
+ sha256 = "51cde31c25056c6a0714758eb782bda0c019bdd2ef58f29baf6364cbf6451f46";
+ isLibrary = true;
+ isExecutable = true;
+ libraryHaskellDepends = [
+ base bytestring containers deepseq hashable megaparsec mtl
+ parser-combinators text time transformers unordered-containers
+ ];
+ executableHaskellDepends = [ base text time unordered-containers ];
+ executableToolDepends = [ markdown-unlit ];
+ testHaskellDepends = [
+ base bytestring containers directory hashable hedgehog
+ hspec-megaparsec megaparsec tasty tasty-hedgehog tasty-hspec
+ tasty-silver text time unordered-containers
+ ];
+ testToolDepends = [ tasty-discover ];
+ benchmarkHaskellDepends = [
+ aeson base deepseq gauge htoml htoml-megaparsec parsec text time
+ toml-parser
+ ];
+ homepage = "https://github.com/kowainik/tomland";
+ description = "Bidirectional TOML serialization";
+ license = stdenv.lib.licenses.mpl20;
+}
diff --git a/release.nix b/release.nix
new file mode 100644
index 0000000..d025a5b
--- /dev/null
+++ b/release.nix
@@ -0,0 +1,17 @@
+let
+ config = {
+ packageOverrides = pkgs: rec {
+ haskellPackages = pkgs.haskellPackages.override {
+ overrides = haskellPackagesNew: haskellPackagesOld: rec {
+ hedgehog-fn = haskellPackagesNew.callPackage ./nix/hedgehog-fn.nix {};
+ tomland = haskellPackagesNew.callPackage ./nix/tomland.nix {};
+ parser-combinators = haskellPackagesNew.callPackage ./nix/parser-combinators.nix {};
+ };
+ };
+ };
+ };
+ pkgs = import <nixpkgs> { inherit config; };
+
+in
+{ verifuzz = pkgs.haskellPackages.callPackage ./. { };
+}