about summary refs log tree commit diff
path: root/pkgs/development/tools/ols/default.nix
diff options
context:
space:
mode:
authorAstavie <astavie@pm.me>2023-06-27 15:47:34 +0200
committerAstavie <astavie@pm.me>2023-06-29 16:30:25 +0200
commita83d76a28743d3a380c4a80c3ee3e588dc6a3fc5 (patch)
tree204aca58aa8451595a6a631b1aa989ce1e73ffef /pkgs/development/tools/ols/default.nix
parent42e931d6ce1826ad8dece91664f24989a3453173 (diff)
ols: init at fd13619
Diffstat (limited to 'pkgs/development/tools/ols/default.nix')
-rw-r--r--pkgs/development/tools/ols/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/tools/ols/default.nix b/pkgs/development/tools/ols/default.nix
new file mode 100644
index 0000000000000..c9b67d0aa6a6d
--- /dev/null
+++ b/pkgs/development/tools/ols/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchFromGitHub, makeBinaryWrapper, odin, lib }:
+
+stdenv.mkDerivation {
+  pname = "ols";
+  version = "nightly-2023-05-18";
+
+  src = fetchFromGitHub {
+    owner = "DanielGavin";
+    repo = "ols";
+    rev = "fd136199897d5e5c87f6f1fbfd076ed18e41d7b7";
+    hash = "sha256-lRoDSc2bZSuXTam3Q5OOlSD6YAobCFKNRbtQ41Qx5EY=";
+  };
+
+  nativeBuildInputs = [
+    makeBinaryWrapper
+  ];
+
+  buildInputs = [
+    odin
+  ];
+
+  postPatch = ''
+    patchShebangs build.sh
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    ./build.sh
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp ols $out/bin
+    wrapProgram $out/bin/ols --set-default ODIN_ROOT ${odin}/share
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Language server for the Odin programming language";
+    homepage = "https://github.com/DanielGavin/ols";
+    license = licenses.mit;
+    maintainers = with maintainers; [ astavie ];
+    platforms = odin.meta.platforms;
+  };
+}