nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 67 lines 1.6 kB view raw
1{ 2 lib, 3 mkYarnPackage, 4 fetchYarnDeps, 5 fetchFromGitHub, 6 jq, 7}: 8 9mkYarnPackage rec { 10 name = "awk-language-server"; 11 version = "0.10.6"; 12 13 src = fetchFromGitHub { 14 owner = "Beaglefoot"; 15 repo = "awk-language-server"; 16 tag = "server-${version}"; 17 hash = "sha256-YtduDfMAUAoQY9tgyhgERFwx9TEgD52KdeHnX2MrjjI="; 18 sparseCheckout = [ "server" ]; 19 postFetch = '' 20 # combine both yarn lock files 21 tail -n+4 $out/server/yarn.lock >> $out/yarn.lock 22 23 # recontextualize server/package.json to be one folder up 24 sed -i 's|\./|./server/|' $out/server/package.json 25 26 # combine both package.json files 27 ${lib.getExe jq} -s '.[0] * .[1]' \ 28 $out/server/package.json \ 29 $out/package.json \ 30 > package.json 31 mv -f package.json $out/ 32 ''; 33 }; 34 35 packageJSON = ./package.json; 36 yarnLock = ./yarn.lock; 37 38 offlineCache = fetchYarnDeps { 39 yarnLock = ./yarn.lock; 40 hash = "sha256-PaebqpXQGBxqcaxun8zi6TPeIgHmY+2fjsE/3LaWPN8="; 41 }; 42 43 distPhase = "true"; 44 45 buildPhase = '' 46 runHook preBuild 47 48 export HOME=$(mktemp -d) 49 yarn --offline build:server 50 51 runHook postBuild 52 ''; 53 54 postInstall = '' 55 chmod +x $out/bin/awk-language-server 56 ''; 57 58 passthru.updateScript = ./update.sh; 59 60 meta = { 61 description = "Language Server for AWK and associated VSCode client extension"; 62 homepage = "https://github.com/Beaglefoot/awk-language-server"; 63 license = lib.licenses.mit; 64 maintainers = with lib.maintainers; [ mathiassven ]; 65 mainProgram = "awk-language-server"; 66 }; 67}