gr-base/shelf/deno/hjq/package.nix
2025-08-02 06:57:57 +07:00

42 lines
845 B
Nix

{ pkgs, target }:
pkgs.stdenv.mkDerivation rec {
pname = "hjq";
version = "0.1.0";
src = ./.;
__noChroot = true;
dontStrip = true;
denort = pkgs.fetchurl {
url = "https://dl.deno.land/release/v${pkgs.deno.version}/denort-${target}.zip";
hash = "sha256-J2LfvHPbJvcOpbQOd6EmGxHDciez7tG10etK4bqQhLI=";
};
nativeBuildInputs = with pkgs; [ deno unzip ];
configurePhase = ''
export DENO_DIR=./.deno_cache;
mkdir -p $TMPDIR/denort
pushd $TMPDIR/denort
unzip ${denort}
chmod +x denort
popd
deno cache --reload main.ts
'';
buildPhase = ''
runHook preBuild
export DENORT_BIN="$TMPDIR/denort/denort"
deno compile --target=${target} --cached-only --output app main.ts
runHook postBuild
'';
installPhase = ''
mkdir -p $out/bin
cp app $out/bin/${pname}
'';
}