From be76644735ad3ef60f2a405fdee79036a5e9a76a Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Sun, 20 Jun 2021 15:57:51 +0700 Subject: [PATCH] coqPackages.semantics: init --- .../coq-modules/semantics/default.nix | 46 +++++++++++++++++++ pkgs/top-level/coq-packages.nix | 1 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/coq-modules/semantics/default.nix diff --git a/pkgs/development/coq-modules/semantics/default.nix b/pkgs/development/coq-modules/semantics/default.nix new file mode 100644 index 000000000000..1fb01312e666 --- /dev/null +++ b/pkgs/development/coq-modules/semantics/default.nix @@ -0,0 +1,46 @@ +{ lib, mkCoqDerivation, coq, version ? null }: +with lib; + +mkCoqDerivation rec { + pname = "semantics"; + owner = "coq-community"; + releaseRev = v: "v${v}"; + + release."8.13.0".sha256 = "sha256-8bDr/Ovl6s8BFaRcHeS5H33/K/pYdeKfSN+krVuKulQ="; + release."8.11.1".sha256 = "sha256-jTPgcXSNn1G2mMDC7ocFcmqs8svB7Yo1emXP15iuxiU="; + release."8.9.0".sha256 = "sha256-UBsvzlDEZsZsVkbUI0GbFEhpxnnLCiaqlqDyWVC5I6s="; + release."8.8.0".sha256 = "sha256-k2nQyNw9KT3wY7bGy8KGILF44sLxkBYqdFpzFE9fgyw="; + release."8.7.0".sha256 = "sha256-k2nQyNw9KT3wY7bGy8KGILF44sLxkBYqdFpzFE9fgyw="; + release."8.6.0".sha256 = "sha256-GltkGQ3tJqUPAbdDkqqvKLLhMOap50XvGaCkjshiNdY="; + + inherit version; + defaultVersion = with versions; switch coq.coq-version [ + { case = isGe "8.13"; out = "8.13.0"; } + { case = "8.11"; out = "8.11.1"; } + { case = "8.9"; out = "8.9.0"; } + { case = "8.8"; out = "8.8.0"; } + { case = "8.7"; out = "8.7.0"; } + { case = "8.6"; out = "8.6.0"; } + ] null; + + mlPlugin = true; + extraBuildInputs = (with coq.ocamlPackages; [ num ocamlbuild ]); + + postPatch = '' + for p in Make Makefile.coq.local + do + substituteInPlace $p --replace "-libs nums" "-use-ocamlfind -package num" || true + done + ''; + + meta = { + description = "A survey of programming language semantics styles in Coq"; + longDescription = '' + A survey of semantics styles in Coq, from natural semantics through + structural operational, axiomatic, and denotational semantics, to + abstract interpretation + ''; + maintainers = with maintainers; [ siraben ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index fb7e2113018a..f0e54a9ce1d1 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -75,6 +75,7 @@ let QuickChick = callPackage ../development/coq-modules/QuickChick {}; reglang = callPackage ../development/coq-modules/reglang {}; relation-algebra = callPackage ../development/coq-modules/relation-algebra {}; + semantics = callPackage ../development/coq-modules/semantics {}; simple-io = callPackage ../development/coq-modules/simple-io { }; stdpp = callPackage ../development/coq-modules/stdpp { }; StructTact = callPackage ../development/coq-modules/StructTact {};