59 lines
1.4 KiB
Nix
59 lines
1.4 KiB
Nix
{
|
|
apiEndpoint ? "http://localhost:3000",
|
|
fetchYarnDeps,
|
|
your_spotify,
|
|
mkYarnPackage,
|
|
fixup-yarn-lock,
|
|
src,
|
|
version,
|
|
yarn,
|
|
}:
|
|
mkYarnPackage rec {
|
|
inherit version src;
|
|
pname = "your_spotify_client";
|
|
name = "your_spotify_client-${version}";
|
|
packageJSON = ./package.json;
|
|
offlineCache = fetchYarnDeps {
|
|
yarnLock = src + "/yarn.lock";
|
|
hash = "sha256-5SgknaRVzgO2Dzc8MhAaM8UERWMv+PrItzevoWHbWnA=";
|
|
};
|
|
configurePhase = ''
|
|
runHook preConfigure
|
|
|
|
export HOME=$(mktemp -d)
|
|
yarn config --offline set yarn-offline-mirror $offlineCache
|
|
fixup-yarn-lock yarn.lock
|
|
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
|
patchShebangs node_modules/
|
|
|
|
runHook postConfigure
|
|
'';
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
pushd ./apps/client/
|
|
yarn --offline run build
|
|
export API_ENDPOINT="${apiEndpoint}"
|
|
substituteInPlace scripts/run/variables.sh --replace-quiet '/app/apps/client/' "./"
|
|
|
|
chmod +x ./scripts/run/variables.sh
|
|
patchShebangs --build ./scripts/run/variables.sh
|
|
|
|
./scripts/run/variables.sh
|
|
|
|
popd
|
|
runHook postBuild
|
|
'';
|
|
nativeBuildInputs = [yarn fixup-yarn-lock];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
mkdir -p $out
|
|
cp -r ./apps/client/build/* $out
|
|
runHook postInstall
|
|
'';
|
|
doDist = false;
|
|
meta = {
|
|
inherit (your_spotify.meta) homepage changelog description license maintainers;
|
|
};
|
|
}
|