about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsilky <noonsilk+-noonsilk@gmail.com>2024-03-12 17:54:04 +0000
committersilky <noonsilk+-noonsilk@gmail.com>2024-03-12 22:57:50 +0000
commitca4d07071f13ad02907087ca932446222258b7a3 (patch)
tree162e715a5c36ec326bca8b704478a0e63432ad31
parente220724911efbbe83834605c035507340e999992 (diff)
downloadnixlib-ca4d07071f13ad02907087ca932446222258b7a3.tar
nixlib-ca4d07071f13ad02907087ca932446222258b7a3.tar.gz
nixlib-ca4d07071f13ad02907087ca932446222258b7a3.tar.bz2
nixlib-ca4d07071f13ad02907087ca932446222258b7a3.tar.lz
nixlib-ca4d07071f13ad02907087ca932446222258b7a3.tar.xz
nixlib-ca4d07071f13ad02907087ca932446222258b7a3.tar.zst
nixlib-ca4d07071f13ad02907087ca932446222258b7a3.zip
add the 'HiGHS' solver for linear programs
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/by-name/hi/highs/package.nix41
2 files changed, 47 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index fb83636ce8af..4ebfca0db410 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -17831,6 +17831,12 @@
       fingerprint = "ADF4 C13D 0E36 1240 BD01  9B51 D1DE 6D7F 6936 63A5";
     }];
   };
+  silky = {
+    name = "Noon van der Silk";
+    email = "noonsilk+nixpkgs@gmail.com";
+    github = "silky";
+    githubId = 129525;
+  };
   Silver-Golden = {
     name = "Brendan Golden";
     email = "github+nixpkgs@brendan.ie";
diff --git a/pkgs/by-name/hi/highs/package.nix b/pkgs/by-name/hi/highs/package.nix
new file mode 100644
index 000000000000..4023d3e52afb
--- /dev/null
+++ b/pkgs/by-name/hi/highs/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, clang
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "highs";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "ERGO-Code";
+    repo = "HiGHS";
+    rev = "v${finalAttrs.version}";
+    sha256 = "sha256-2dYKXckZ+npj1rA2mmBRuRcGI1YNcaiITSMjE2/TA2g=";
+  };
+
+  strictDeps = true;
+
+  outputs = [ "out" ];
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    "$out/bin/highs" --version
+  '';
+
+  nativeBuildInputs = [ clang cmake ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/ERGO-Code/HiGHS";
+    description = "Linear optimization software";
+    license = licenses.mit;
+    platforms = platforms.all;
+    mainProgram = "highs";
+    maintainers = with maintainers; [ silky ];
+  };
+})