Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / ol / ols / package.nix
blobd5830f962e0ebea848fd9e69920dea9f62370331
2   fetchFromGitHub,
3   lib,
4   makeBinaryWrapper,
5   odin,
6   stdenv,
7   unstableGitUpdater,
8 }:
10 stdenv.mkDerivation {
11   pname = "ols";
12   version = "0-unstable-2024-07-01";
14   src = fetchFromGitHub {
15     owner = "DanielGavin";
16     repo = "ols";
17     rev = "ee368d473146d33e89f9be9f754fd6d0ee08ecc6";
18     hash = "sha256-WowbFsec8oZVPTMDefQJYOb4GfH3xa40bN3P9AIjflE=";
19   };
21   postPatch = ''
22     patchShebangs build.sh odinfmt.sh
23   '';
25   nativeBuildInputs = [ makeBinaryWrapper ];
27   buildInputs = [ odin ];
29   buildPhase = ''
30     runHook preBuild
32     ./build.sh && ./odinfmt.sh
34     runHook postBuild
35   '';
37   installPhase = ''
38     runHook preInstall
40     install -Dm755 ols odinfmt -t $out/bin/
41     wrapProgram $out/bin/ols --set-default ODIN_ROOT ${odin}/share
43     runHook postInstall
44   '';
46   passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
48   meta = {
49     inherit (odin.meta) platforms;
50     description = "Language server for the Odin programming language";
51     homepage = "https://github.com/DanielGavin/ols";
52     license = lib.licenses.mit;
53     maintainers = with lib.maintainers; [
54       astavie
55       znaniye
56     ];
57     mainProgram = "ols";
58   };