65 lines
1.3 KiB
Nix
65 lines
1.3 KiB
Nix
{inputs, ...}: let
|
|
inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
|
in {
|
|
perSystem = {
|
|
config,
|
|
pkgs,
|
|
inputs',
|
|
...
|
|
}: {
|
|
packages.srx-digital = pkgs.mkYarnPackage {
|
|
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;
|
|
|
|
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/srx-digital/dist \${out}";
|
|
};
|
|
};
|
|
}
|