Skip to content

Commit 6afb6d4

Browse files
authored
Add Nix Flake
1 parent 721fd25 commit 6afb6d4

2 files changed

Lines changed: 114 additions & 0 deletions

File tree

flake.lock

Lines changed: 61 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
description = "Flake for phphantom-lsp (local development)";
3+
4+
inputs = {
5+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6+
flake-utils.url = "github:numtide/flake-utils";
7+
};
8+
9+
outputs = { self, nixpkgs, flake-utils }:
10+
flake-utils.lib.eachDefaultSystem (system:
11+
let
12+
pkgs = import nixpkgs {
13+
inherit system;
14+
};
15+
16+
manifest = (pkgs.lib.importTOML ./Cargo.toml).package;
17+
in
18+
{
19+
packages.default = self.packages.${system}.phpantom-lsp;
20+
packages.phpantom-lsp = pkgs.rustPlatform.buildRustPackage rec {
21+
pname = manifest.name;
22+
cargoLock.lockFile = ./Cargo.lock;
23+
version = manifest.version;
24+
25+
# Use current directory as the source
26+
src = pkgs.lib.cleanSource ./.;
27+
28+
stubsSrc = pkgs.fetchFromGitHub {
29+
owner = "JetBrains";
30+
repo = "phpstorm-stubs";
31+
rev = "3327932472f512d2eb9e122b19702b335083fd9d";
32+
hash = "sha256-WN5DAvaw4FfHBl2AqSo1OcEthUm3lOpikdB78qy3cyY=";
33+
};
34+
35+
postPatch = ''
36+
mkdir -p stubs/jetbrains
37+
cp -a ${stubsSrc} stubs/jetbrains/phpstorm-stubs
38+
chmod u+wx stubs/jetbrains/phpstorm-stubs
39+
echo "${stubsSrc.rev}" > stubs/jetbrains/phpstorm-stubs/.commit
40+
'';
41+
42+
checkFlags = [
43+
"--test"
44+
"completion_inheritance"
45+
];
46+
47+
postInstall = ''
48+
mv $out/bin/phpantom_lsp $out/bin/phpantom-lsp
49+
ln -s $out/bin/phpantom-lsp $out/bin/phpantom_lsp
50+
'';
51+
};
52+
});
53+
}

0 commit comments

Comments
 (0)