diff --git a/pkgs/by-name/co/copilot-language-server/package.nix b/pkgs/by-name/co/copilot-language-server/package.nix index c0d97ed5723a..f03224ab18f4 100644 --- a/pkgs/by-name/co/copilot-language-server/package.nix +++ b/pkgs/by-name/co/copilot-language-server/package.nix @@ -1,6 +1,7 @@ { lib, stdenvNoCC, + buildFHSEnv, fetchzip, nix-update-script, }: @@ -24,8 +25,24 @@ let } ."${stdenvNoCC.hostPlatform.system}" or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); -in + executableName = "copilot-language-server"; + fhs = + { package }: + buildFHSEnv { + name = package.meta.mainProgram; + version = package.version; + targetPkgs = pkgs: [ pkgs.stdenv.cc.cc.lib ]; + runScript = lib.getExe package; + + meta = package.meta // { + description = + package.meta.description + + " (FHS-wrapped, expand package details for further information when to use it)"; + longDescription = "Use this version if you encounter an error like `Could not start dynamically linked executable` or `SyntaxError: Invalid or unexpected token` (see nixpkgs issue [391730](https://github.com/NixOS/nixpkgs/issues/391730))."; + }; + }; +in stdenvNoCC.mkDerivation (finalAttrs: { pname = "copilot-language-server"; version = "1.294.0"; @@ -36,18 +53,20 @@ stdenvNoCC.mkDerivation (finalAttrs: { stripRoot = false; }; - npmDepsHash = "sha256-PLX/mN7xu8gMh2BkkyTncP3+rJ3nBmX+pHxl0ONXbe4="; installPhase = '' runHook preInstall - install -Dt "$out"/bin "${os}-${arch}"/copilot-language-server + install "${os}-${arch}/${executableName}" -Dm755 -t "$out"/bin runHook postInstall ''; dontStrip = true; - passthru.updateScript = nix-update-script { }; + passthru = { + updateScript = nix-update-script { }; + fhs = fhs { package = finalAttrs.finalPackage; }; + }; meta = { description = "Use GitHub Copilot with any editor or IDE via the Language Server Protocol"; @@ -60,7 +79,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { shortName = "GitHub Copilot License"; url = "https://github.com/customer-terms/github-copilot-product-specific-terms"; }; - mainProgram = "copilot-language-server"; + mainProgram = executableName; platforms = [ "x86_64-linux" "aarch64-linux" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11a44028da68..e7687e393439 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -359,6 +359,8 @@ with pkgs; coolercontrol = recurseIntoAttrs (callPackage ../applications/system/coolercontrol { }); + copilot-language-server-fhs = copilot-language-server.fhs; + curv = callPackage ../by-name/cu/curv/package.nix { openexr = openexr_3; };