85 lines
1.9 KiB
Nix
85 lines
1.9 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, pkgs
|
|
, ...
|
|
}:
|
|
let
|
|
libadalang = stdenv.mkDerivation rec {
|
|
pname = "libadalang";
|
|
version = "22.0.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AdaCore";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = "sha256-/nInRma0OKmI6E8nPvQlIYStl0kcPfAudvzbEyO5jJM=";
|
|
};
|
|
|
|
buildInputs = with pkgs; [
|
|
gnat12
|
|
gprbuild
|
|
python3
|
|
gnatcoll-core
|
|
gnatcoll-iconv
|
|
gnatcoll-gmp
|
|
];
|
|
|
|
makeFlags = [ "PREFIX=$(out)" ];
|
|
};
|
|
vss = stdenv.mkDerivation rec {
|
|
pname = "vss";
|
|
version = "22.0.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AdaCore";
|
|
repo = pname;
|
|
rev = "v${version}";
|
|
sha256 = "sha256-IDPcIJfavlqMsxLOGrvXYv98FdYVWkCiimLcMFp3ees=";
|
|
};
|
|
|
|
buildInputs = with pkgs; [ gnat12 gprbuild ];
|
|
|
|
makeFlags = [ "PREFIX=$(out)" ];
|
|
};
|
|
gnatdoc = stdenv.mkDerivation rec {
|
|
pname = "gnatdoc";
|
|
version = "2022-10-04";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AdaCore";
|
|
repo = pname;
|
|
rev = "7cdc2eae12199bc74b84d5677288fbbd55f98c25";
|
|
sha256 = "sha256-kA5yOd3NDkRl08o38F5CyeFrihBZktNF6di3PC+/ZLU=";
|
|
};
|
|
|
|
buildInputs = with pkgs; [ gnat12 gprbuild libadalang ];
|
|
|
|
makeFlags = [ "PREFIX=$(out)" ];
|
|
};
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "ada_language_server";
|
|
version = "23.0.10";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AdaCore";
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-ZUzym0aMjq14W9h/lDL5hVCF/i+1SFu6kccGqzmGO3E=";
|
|
};
|
|
|
|
buildInputs = with pkgs; [ gnat12 gprbuild python3 vss gnatdoc ];
|
|
|
|
meta = with lib; {
|
|
description = "Language server for Ada and SPARK";
|
|
longDescription = ''
|
|
Server implementing the Microsoft Language Protocol for Ada and SPARk
|
|
'';
|
|
homepage = "https://github.com/AdaCore/ada_language_server";
|
|
license = licenses.gpl3;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ qbit ];
|
|
};
|
|
}
|