affine: update build scrpit to sync format with yarn-berry.fetchYarnBerryDeps (#438960)
This commit is contained in:
@@ -32,6 +32,16 @@ let
|
||||
yarn-berry = yarn-berry_4.override { inherit nodejs; };
|
||||
productName = if buildType != "stable" then "AFFiNE-${buildType}" else "AFFiNE";
|
||||
binName = lib.toLower productName;
|
||||
electron-dist-zip = stdenvNoCC.mkDerivation {
|
||||
pname = "electron-dist-zip";
|
||||
version = electron.version;
|
||||
src = electron.dist;
|
||||
nativeBuildInputs = [ zip ];
|
||||
buildPhase = ''
|
||||
zip --recurse-paths - . > $out
|
||||
'';
|
||||
dontInstall = true;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = binName;
|
||||
@@ -48,6 +58,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-tdg0Ti+QWsIx64+WV0fPoyE/t3GlsUxXzU9qFHYfpt0=";
|
||||
};
|
||||
|
||||
# keep yarnOfflineCache same output style with offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; hash = "" };
|
||||
yarnOfflineCache = stdenvNoCC.mkDerivation {
|
||||
name = "yarn-offline-cache";
|
||||
inherit (finalAttrs) src;
|
||||
@@ -79,19 +91,22 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p $out
|
||||
mkdir -p $out/cache
|
||||
|
||||
yarn config set enableTelemetry false
|
||||
yarn config set cacheFolder $out
|
||||
yarn config set cacheFolder $out/cache
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set supportedArchitectures --json '${supportedArchitectures}'
|
||||
|
||||
yarn install --immutable --mode=skip-build
|
||||
|
||||
cp yarn.lock $out/yarn.lock
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
dontInstall = true;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-wMfjlxHs1pS8QEnIgn9IZTNShKkLeVVpGFkZ2ICtiNA=";
|
||||
outputHash = "sha256-iULgio5zpmJhKofkUxA98Ze7Qy+kRfbbi5oEHYw5vzY=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals hostPlatform.isDarwin [
|
||||
@@ -133,6 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
echo "$BACKEND_SERVER_PACKAGE_JSON" > packages/backend/server/package.json
|
||||
'';
|
||||
|
||||
# FIXME: use `yarn config set cacheFolder $offlineCache/cache`
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
@@ -144,14 +160,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# yarn config
|
||||
yarn config set enableTelemetry false
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set cacheFolder $yarnOfflineCache
|
||||
yarn config set cacheFolder $yarnOfflineCache/cache
|
||||
|
||||
# electron config
|
||||
ELECTRON_VERSION_IN_LOCKFILE=$(yarn why electron --json | tail --lines 1 | jq --raw-output '.children | to_entries | first | .key ' | cut -d : -f 2)
|
||||
rsync --archive --chmod=u+w "${electron.dist}/" $HOME/.electron-prebuilt-zip-tmp
|
||||
export ELECTRON_FORGE_ELECTRON_ZIP_DIR=$PWD/.electron_zip_dir
|
||||
mkdir -p $ELECTRON_FORGE_ELECTRON_ZIP_DIR
|
||||
(cd $HOME/.electron-prebuilt-zip-tmp && zip --recurse-paths - .) > $ELECTRON_FORGE_ELECTRON_ZIP_DIR/electron-v$ELECTRON_VERSION_IN_LOCKFILE-${nodePlatform}-${nodeArch}.zip
|
||||
cp ${electron-dist-zip} $ELECTRON_FORGE_ELECTRON_ZIP_DIR/electron-v$ELECTRON_VERSION_IN_LOCKFILE-${nodePlatform}-${nodeArch}.zip
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
|
||||
runHook postConfigure
|
||||
|
||||
Reference in New Issue
Block a user