coder: fix web frontend building

This commit is contained in:
Soner Sayakci 2022-10-24 20:06:49 +00:00
parent 50c428d6a7
commit 0566d27d03
No known key found for this signature in database
2 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,76 @@
{ lib, pkgs, fetchFromGitHub, installShellFiles, buildGoModule, fetchYarnDeps }:
let
pname = "coder";
version = "0.10.2";
src = fetchFromGitHub {
owner = "coder";
repo = "coder";
rev = "v${version}";
sha256 = "sha256-h5bN75agNocRAjShbufRCJr45huYJOzCBd4OcGpF4C4=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/site/yarn.lock";
sha256 = "sha256-uDNPRQTpsgxyC5ks+2Qq/wiKjkbjWwSO+cJc5X6qmAA=";
};
yarn16 = pkgs.yarn.override { nodejs = pkgs.nodejs-16_x; };
nodePackages16 = pkgs.nodePackages.override { nodejs = pkgs.nodejs-16_x; };
in
buildGoModule rec {
inherit pname version src;
subPackages = [ "cmd/coder" ];
vendorSha256 = "sha256-+3Zy0zArCXkvD4ogfKdu9W9gJXveAhwFXKG1VRDvOkI=";
# Flags as provided by the build automation of the project:
# https://github.com/coder/coder/blob/075e891f287b27cdb481a48e129f20a1e6a7de12/scripts/build_go.sh#L89
ldflags = [
"-s"
"-w"
"-X github.com/coder/coder/buildinfo.tag=${version}"
];
preBuild = ''
export HOME=$(mktemp -d)
mkdir -p $HOME
cd site
yarn config --offline set yarn-offline-mirror ${offlineCache}
fixup_yarn_lock yarn.lock
# node-gyp tries to download always the headers and fails: https://github.com/NixOS/nixpkgs/issues/195404
yarn remove --offline jest-canvas-mock canvas
NODE_ENV=production node node_modules/.bin/vite build
cd ..
'';
tags = [ "embed" ];
nativeBuildInputs = with pkgs; [
fixup_yarn_lock
nodejs-16_x
yarn16
nodePackages16.node-pre-gyp
python3
pkg-config
installShellFiles
];
postInstall = ''
installShellCompletion --cmd coder \
--bash <($out/bin/coder completion bash) \
--zsh <($out/bin/coder completion zsh)
'';
meta = with lib; {
description = "Software development on any infrastructure";
license = licenses.agpl3Only;
homepage = "https://coder.com/";
maintainers = with maintainers; [ shyim ];
};
}

View File

@ -4174,6 +4174,8 @@ with pkgs;
electron = electron_11;
};
coder = callPackage ../applications/misc/coder {};
contrast = callPackage ../applications/accessibility/contrast { };
cplex = callPackage ../applications/science/math/cplex (config.cplex or {});