59 lines
1.3 KiB
Nix
59 lines
1.3 KiB
Nix
{ inputs, ... }:
|
|
let inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
|
in {
|
|
perSystem = { pkgs, ... }: {
|
|
packages.srx-digital = pkgs.mkYarnPackage rec {
|
|
name = "srx-digital";
|
|
|
|
src = filter {
|
|
root = ../.;
|
|
include = [
|
|
(inDirectory "public")
|
|
(inDirectory "src")
|
|
(matchExt "js")
|
|
(matchExt "cjs")
|
|
(matchExt "mjs")
|
|
(matchExt "json")
|
|
(matchExt "ts")
|
|
../package.json
|
|
../yarn.lock
|
|
];
|
|
};
|
|
|
|
CI = "true";
|
|
doDist = false;
|
|
|
|
packageJSON = ../package.json;
|
|
yarnLock = ../yarn.lock;
|
|
yarnFlags = [ "--offline" "--production=true" ];
|
|
|
|
pkgConfig.sharp = {
|
|
nativeBuildInputs = with pkgs; [
|
|
pkg-config
|
|
python3
|
|
nodePackages.node-gyp
|
|
];
|
|
|
|
buildInputs = with pkgs; [ vips.dev ];
|
|
|
|
postInstall = ''
|
|
${pkgs.nodePackages.node-gyp}/bin/node-gyp --node-dir=${pkgs.nodePackages.nodejs}/include/node rebuild
|
|
'';
|
|
};
|
|
|
|
postConfigure = "export HOME=$(mktemp -d)";
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
(
|
|
shopt -s dotglob
|
|
yarn --offline build
|
|
)
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = "mv -v deps/${name}/dist \${out}";
|
|
};
|
|
};
|
|
}
|