about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/by-name/es/espresso/package.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/by-name/es/espresso/package.nix b/pkgs/by-name/es/espresso/package.nix
new file mode 100644
index 0000000000000..8939bec8ecccc
--- /dev/null
+++ b/pkgs/by-name/es/espresso/package.nix
@@ -0,0 +1,40 @@
+{ lib, fetchFromGitHub, cmake, stdenv, nix-update-script }:
+stdenv.mkDerivation rec {
+  pname = "espresso";
+  version = "2.4";
+  src = fetchFromGitHub {
+    owner = "chipsalliance";
+    repo = "espresso";
+    rev = "v${version}";
+    hash = "sha256-z5By57VbmIt4sgRgvECnLbZklnDDWUA6fyvWVyXUzsI=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+
+  outputs = [ "out" "man" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib;{
+    description = "Multi-valued PLA minimization";
+    # from manual
+    longDescription = ''
+      Espresso takes as input a two-level representation of a
+      two-valued (or multiple-valued) Boolean function, and produces a
+      minimal equivalent representation.  The algorithms used are new and
+      represent an advance in both speed and optimality of solution in
+      heuristic Boolean minimization.
+    '';
+    homepage = "https://github.com/chipsalliance/espresso";
+    maintainers = with maintainers;[ pineapplehunter ];
+    mainProgram = "espresso";
+    platforms = lib.platforms.all;
+
+    # The license is not provided in the GitHub repo,
+    # so until there's an update on the license, it is marked as unfree.
+    # See: https://github.com/chipsalliance/espresso/issues/4
+    license = licenses.unfree;
+  };
+}