aws-cdk-cli: 2.1116.0 -> 2.1127.0

The upstream project now ships a Yarn Berry lockfile with metadata
version 8. The previous fetchYarnDeps/prefetch-yarn-deps flow only
supports Yarn v1 lockfiles, so it failed before dependency hashes could
be updated.

Switch dependency fetching to yarn-berry_4.fetchYarnBerryDeps and install
dependencies with yarnBerryConfigHook. Add missing-hashes.json for
optional platform packages whose checksums are omitted from yarn.lock, so
the offline cache can still be verified reproducibly.

Keep Yarn from refreshing or migrating the v8 lockfile during the Nix
build, and replace the Yarn v1 build/install hooks with explicit phases
compatible with Yarn Berry. Adjust the manual dependency copies for the
hoisted node_modules layout produced by the Berry node-modules linker.

Assisted-by: Codex (GPT-5.5)
This commit is contained in:
Jhony Elmer Angulo Fabian
2026-06-21 12:44:45 -05:00
parent b4c1b059f9
commit fea2a7d572
2 changed files with 98 additions and 14 deletions
@@ -0,0 +1,57 @@
{
"@esbuild/aix-ppc64@npm:0.28.1": "9b01eaa9c57542436436de762466b9a348b4596aa53dffa6e7034e4180691e1948d33fe34ec302239ab04c280e5166248880f24531011ff419fbec6986a265f3",
"@esbuild/android-arm64@npm:0.28.1": "7c977c8d4cea5126df4b298d5c31c3df8d14aa05d7477aa11c4147ec7baff17d25542234eea0134f279191b59cb1af18fee49c6916afda554484464129e4f9c3",
"@esbuild/android-arm@npm:0.28.1": "44baed9765216202f71b6aae8d9ddb930efa671d34f63f4220d980662b3df4da7972e965c0a0f12922147aa8428083686f6cb23cd9a4f140eaf922ae0b59c2a0",
"@esbuild/android-x64@npm:0.28.1": "1b8183640bef23f41a91598d898a04a6a8e3ca31d0100207c7e75928ee885878c04e3bcf31f27ed9c655d6d8a7c08e35e3afef035aee649488cb2d68e51abf1e",
"@esbuild/darwin-arm64@npm:0.28.1": "8ed80a99836df196c2b7996448eabb2d503ec8c71d0a8be59af4eed457b858fa5fd9292528b1967f0e106d2a045387e375207a2cc262cd45f89596681e94e7fd",
"@esbuild/darwin-x64@npm:0.28.1": "952b23f33c24aea13f5a78fd41731e06e8c7fa732e10995327fa1289115da6b4123899ca0cdb0cf0a56add29efcb9f7891ad6fda0bfb94541347275537a71e77",
"@esbuild/freebsd-arm64@npm:0.28.1": "cc2c4f1f13230607807c3f128680d789e85d4b93309501c4f8d84ed0674f4a2a3e60e279e3b997ee9f797047c1c5b906b25e4fe37de62d19634e4470bcb16f32",
"@esbuild/freebsd-x64@npm:0.28.1": "5b99b980599567ee931520a019beaeea4c7ae2874d0bfab79ee4bd6373a869251d2175946478c527490ce155d10a5bcc795e8c986dceb4a36fb6e813513fc54c",
"@esbuild/linux-arm64@npm:0.28.1": "9348c6bfc2d878e6213cffe482d4455d817b9e56b3c581a9f68b94aac720cddea5733d963dec57ca273039f3a7ca1714f1ac8e39e2e0f85f1af42f5d05e3ed00",
"@esbuild/linux-arm@npm:0.28.1": "654d7af59b4be40f585455e42ecb389657c6f11b1f2be2d5ab04caeac0514574d8b2a28b9f0f9805d92e266a44a5627c5acc8151b0d0379f75ac1490fecc013d",
"@esbuild/linux-ia32@npm:0.28.1": "cce27fbd8d74f34bb5507a5db8c0119aa377c7a070fd0be3881a8efddcdb8adeebe24dc97d55784d74a8bf4a60fb55b48899f41b5e931acaa3eb9f90ecc94a01",
"@esbuild/linux-loong64@npm:0.28.1": "47c3215d378f5da750300694b273b83db26d3e9ed36553696a1769da6d467e7557e289b46d211c93ab7a2978348b7415b66c7fec31658622f5bd356332b9d5b0",
"@esbuild/linux-mips64el@npm:0.28.1": "166d8888e731bdeba0c657382d429c0a979af2136100ee2491ec47b2e2ec55f6924fe2045880b48a6cdaeb3dcc44fc495f3f4b9a5aa3bb8c418d1f53f86b2ba1",
"@esbuild/linux-ppc64@npm:0.28.1": "a8eecb9e43a26dcb70a9805e685dec9f0caff0a8bac691b06a6db7c14ba0a69980ef0c01cb3fc1377ad63e2c4945f396fbbeaf008588bb232e9c0c37dcdb557b",
"@esbuild/linux-riscv64@npm:0.28.1": "cfde883f336e1811fee019a1df402000c7a8e6dc5a2b3577679fd0d9711d1a774c1faa194cc8954b18ca11f3a380ef32905ea90c241803831b61017d8a667c3b",
"@esbuild/linux-s390x@npm:0.28.1": "ea121d2fb6c8f6161312e0239258b584c431b4d23f320ace7cbc18da77034aac5ed383658d2a48fdfa32e38be07126a14aa26802b8e04d0e958e82646fb87f41",
"@esbuild/linux-x64@npm:0.28.1": "9b5458cf012247e31c6bf465e37553f2fc5aef3fccc6593bb30fee0c547958f9f00fbedd44e5bc076cf68d6791a4af2ce8714260fe341cb16843a78643773e3d",
"@esbuild/netbsd-arm64@npm:0.28.1": "86b5cf33fbad27ea5e7345601e711a26717bdf5ad119efa0b1bb9ad6a75f7cb2658c57ffb80f19491e3c7105f4698e76358ee2b6d57f48c9a230de9f588589c7",
"@esbuild/netbsd-x64@npm:0.28.1": "ff24c209715f7f122c711d3c51af099de27659837d3f7bd4cbea9a8868fa99a10b7af785058d18a1e32b2132989d1d1d82b8768df77ff25ab6cf19d58be3697d",
"@esbuild/openbsd-arm64@npm:0.28.1": "fe6590621116132baa0a2b9c2dc95c6342f146170ec1ffb343c29936580c369a69061676bef4e654ee27bad6491f531af3ba985aed7133eb16b758fffae6a445",
"@esbuild/openbsd-x64@npm:0.28.1": "2600c51c394945654f99b096fccba95e1d34fa3ecf4e78f40a7aee4573bf21dd955c274e0586768e9ebef3bff145ffe30231f1cb281ef5e679f7aa78dcc86687",
"@esbuild/openharmony-arm64@npm:0.28.1": "be9e1d1e4af478778ce847e28809fba0b754340a699e37ec03bc1a3cd4e84e4fde30ffea62099757877229b024d50331efd6270580492aa6be38eb2353ef5646",
"@esbuild/sunos-x64@npm:0.28.1": "349b9c7d879496456b2eb28f7bb3decc12a906007bb7fb24cb2b269f6b3e5138af109045b216bd0396762e63b802f0233408cc3dce802be5fcf242d4835b6bc8",
"@esbuild/win32-arm64@npm:0.28.1": "551ada5396e1f10e3d3592dd60a148a7257af1ab2317bba09e9ed18a6d7ee7e5961c68eb1fbaee4e8c1961b504807493e1b8f5c700dd1fb990f0cb36b240ad57",
"@esbuild/win32-ia32@npm:0.28.1": "2676ace6b4d63721da34873974152e869aed9fc8bd9fdff4b8df14a3a3e68b78a9b4566e643b90b948b4e85773cbf288a33a59d13979caaadd43b5adad68312c",
"@esbuild/win32-x64@npm:0.28.1": "8d658b74ed9b7494b3799093551d4c928a7916865ed42d00a135156cbd08612b53072e9e424f0687c10a93a444d30d6b0294b6a1d5fdba78078d706646ba558f",
"@nx/nx-darwin-arm64@npm:22.7.5": "4f8435566c4b7ea0de0c8953f994849b91ad85867f6cdfce67fc0bb7404a760131dad7bdb7c789f82980d349c1a6df255be03807da260cbc5396284395865f28",
"@nx/nx-darwin-x64@npm:22.7.5": "3d63123766ce58602f08c5c2e9e896d9bbba402c53f3918a0ea5eebab25cd2f48fb992ac654ea648088564b1347f920509f7a20ad25c538d227a11292024ce64",
"@nx/nx-freebsd-x64@npm:22.7.5": "6fa6ba0ab68e6fd9742c5bdc8cacbd67d3be6334b967c9dfa3a3fa5e64b689fa1d7b50f807420227ad470c53ad5cf8343240d35ed89ca8d3e62a921a4857e8b9",
"@nx/nx-linux-arm-gnueabihf@npm:22.7.5": "7fd2f207688a8353012f8363cc28868e927840c2378dba466a67dff50eabbf24362e6654e183c1308479d435e8326444ae4ab803e3f5bdf84061915124183f4f",
"@nx/nx-linux-arm64-gnu@npm:22.7.5": "03c8fa25e5833fe4746995624b15e72258b7050ee70a6d80ed4c2b0f5e8b740774264d1decf70eea61387028886b2360953675d554f2ee8b4ae784adf738ed7b",
"@nx/nx-linux-arm64-musl@npm:22.7.5": "ea449f0b82c027b6eae5f2a060d26624bee91b487b601ccb5ab250ff33140f4bd60cf004e8f5f1e495b9bd391c17bda4758635ddb80f1af29b234eb067517b2c",
"@nx/nx-linux-x64-gnu@npm:22.7.5": "96aad2912ef8a607147cb5831ddbfc6f08b3c657c44879c738055fde274259e2dfc7e507485c52c194e79445ca2410cf618e31e2d2af00f7563f04055beea3c7",
"@nx/nx-linux-x64-musl@npm:22.7.5": "1f61915a2e93a6b930b81b8205407e2c961f7878a5131f136027b86bd35a579fe65b52a47088c4818c6e6426b3aa79ece8ce30119a3e44dd4d5a681efd7cde4a",
"@nx/nx-win32-arm64-msvc@npm:22.7.5": "3f4668ce48fd341f487b99c72e7678ebdfa0964591a58947752bf050a4bb21bf27ee920ac4554433e0efd73beca923a17a6dfc90e35c8b5ee1f92fd4a7f2caa0",
"@nx/nx-win32-x64-msvc@npm:22.7.5": "c44700bd537a0f2571d75285302d332c0fa31a648a822937cd81362c7b4fcb8c8ecabb98559c0b7bcdb537acd051b4f3926bcd9e369095260fc6aa8d079e3c04",
"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": "04dd38b694c1680bfec192b499e188700398a414886a08a8a7c72815db56ac147df03d88c73ff6fff7ac3e0a01dc41978054b3622b49463e0d684c5168557fcc",
"@unrs/resolver-binding-android-arm64@npm:1.11.1": "763626adc34dd2b4af677b5ced6493e7b2b1935351a5c9137f1c9561d11faf97b94015e6876e57e85c33ff563564314c92c0882a4780a57f2225cbbd779a695d",
"@unrs/resolver-binding-darwin-arm64@npm:1.11.1": "03b477fdfec55dbabe488fe0962417bddaa38b028d2670053469f1d24163907b097aac15b565f6974449bee398a38d5e3e1525f2b515ce57e243149021b7aa2f",
"@unrs/resolver-binding-darwin-x64@npm:1.11.1": "3aeff9aaf4ef6d786c517d9017b5c41b0af180cdbaf705d08e6e5b5ba9d5410d28ef6754c5f8a865f0bb5efd460dc1c4156b5e2201032c0a604a6c734ddbc848",
"@unrs/resolver-binding-freebsd-x64@npm:1.11.1": "b9f7a3e03db9edfc3480db056dd25229f901f21840ee768b69f349b66676a995a404e60617b3bcbd984f57f2199eb352dd6fad0f4420c3084ceef5e3293cdad5",
"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": "4d03b8bcef5a90586a846d6d332f39cee211f3d330b6e10036969894b6ecfb70b047265e985d572def93b84f38621dec30e4b4bb42699dd784adbae3ca5e7bea",
"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": "9f3a3c2e5e6418a5a78294fa042824f5c270e993c1a99e82dd6b0ee0d2869929bb62dd154a0acc1e4ef16273e8073e0e257901208c062e6bdd49d586d07bb419",
"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": "05228d6fd669f404f0e3164ccf2430a52cc7b3bbd211367527b5d726b1220a1816bab70159bed55694d9b7543553f6002379e7e186c605d7055c5156977da022",
"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": "8115802143396d4992bb2f6f0acb6e8bc141a57864c5fd84cbc70577c25784cb08dd163b753b1fc0decc02582cf4cb1e30d04faaf763048babbbe706bdfa26ea",
"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": "50f9f54b2eafb1ea023671cc3070692b2b15f6e49105b08b3f588033e65e8de4183f76e080b798de710f9c41df1bf5515c01868866a21cbd35db179b4ac9f23b",
"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": "8f8222f938cc2025ed3971e0e303f4ff5aa5df74474b835442830ebe942d050ba3f8bbb67095da64099e6fc69bb5bb73ca63db54e059c95e51aa8909880fb207",
"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": "5c8987f7dcaf38ef27ec67dcf118141502d5ac75d28429da6d1b7037f3e5a5351f32f55094472fde11784e65d01f1da4dafd7c0fdca28423fbc8de2c2c51d16c",
"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": "17aed6472880a82e5a05147a55efb6f0d968f5dcb584845addf89acec3824534ee741d4b162686124d17daf9131373c469c57843996a5ee2db4f1b1b55e1d11e",
"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": "9495c08fc42f2d4a33e33c64adbcbf51588cd7ea07478eacb2e9143d955a760122440f4a3ac48b086cc2563ca2b2464d72ed0336fcc20c0a89ddc356f956eda8",
"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": "c84fadfee66eeebd16eb7cce7c4b5a1ec90260c724d0064111e9f43a1341ebfede61627cb68fd3a9735e4c10b25606fb472a4d13143cc569867b80d85c4a9824",
"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": "655a3990ed9b238e8f0c4858f87ca84bd3d81db300f7730c885162333055170e11207af7789ff38f619e261178718f6977729e42ce7978cc9e6ac7b6d93822d5",
"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": "983f800ff8b5181247a7d460ab5c9704cd425d0182e93290f69fb969d93efe17be6a27c22b97546d36e9a9d9aeda96d5f753bc938b3d9a00f32c10fc228ce5a9",
"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": "383d639e3b08fc9e4ba18127ef55610172d2d1d6adb83e1466fff2b223552384cdc6217051f749829e0c90a757ea5631e8c4ad2cfeb59bdee2bb033fbd526854",
"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": "c862561f6495c0dbffb94d421e5727b25c1b61d98e22383bff23e6719a6c0125bb0b7df3be7220f5480bf54f5a605ea572f10fff1cce14fda24d42e396559940"
}
+41 -14
View File
@@ -2,40 +2,42 @@
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
nodejs,
yarnBuildHook,
yarnConfigHook,
yarnInstallHook,
yarn-berry_4,
diffutils,
zip,
jq,
python3,
unzip,
testers,
nix-update-script,
}:
let
yarn-berry = yarn-berry_4;
in
stdenv.mkDerivation (finalAttrs: {
pname = "aws-cdk-cli";
version = "2.1116.0";
version = "2.1127.0";
src = fetchFromGitHub {
owner = "aws";
repo = "aws-cdk-cli";
tag = "cdk@v${finalAttrs.version}";
hash = "sha256-mRr5G42RrO87AdJOTLaM+EPprTFCI7eVxzUhafrGOxA=";
hash = "sha256-d55JNmWi4oTNorunkDwpdfcxHE9UC2fufKDahKgoLvk=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-cjJBaq65sNWOFMFB1HAgGScxJlBZKnwkGipDd4aXhDE=";
missingHashes = ./missing-hashes.json;
offlineCache = yarn-berry.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-eGj2Gx46lyypNz5e0U1AD1dVwOgJK4hkwXp03lR+6sc=";
};
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
yarnInstallHook
yarn-berry
yarn-berry.yarnBerryConfigHook
nodejs
python3
zip
jq
# tests
@@ -49,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
NX_VERBOSE_LOGGING = "true";
# Needed to properly embed version info
CODEBUILD_RESOLVED_SOURCE_VERSION = finalAttrs.version;
YARN_LOCKFILE_VERSION_OVERRIDE = "8";
};
# Regular "build" is very heavy and does things we don't need.
@@ -62,6 +65,13 @@ stdenv.mkDerivation (finalAttrs: {
in
''
echo '${cliVersionJson}' > packages/@aws-cdk/cloud-assembly-schema/cli-version.json
cat >> .yarnrc.yml <<'EOF'
approvedGitRepositories:
- "**"
enableScripts: true
enableNetwork: false
enableHardenedMode: false
EOF
'';
preBuild = ''
@@ -76,10 +86,27 @@ stdenv.mkDerivation (finalAttrs: {
popd
'';
buildPhase = ''
runHook preBuild
yarn "$yarnBuildScript"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/node_modules/aws-cdk-cli
cp -r . $out/lib/node_modules/aws-cdk-cli
runHook postInstall
'';
postInstall = ''
# Manually bundle non-bundled dependencies
cp -r packages/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema $out/lib/node_modules/aws-cdk-cli/node_modules/jsonschema
cp -r packages/aws-cdk/node_modules/decamelize $out/lib/node_modules/aws-cdk-cli/node_modules/decamelize
cp -r node_modules/jsonschema $out/lib/node_modules/aws-cdk-cli/node_modules/jsonschema
cp -r node_modules/decamelize $out/lib/node_modules/aws-cdk-cli/node_modules/decamelize
patchShebangs "$out/lib/node_modules/aws-cdk-cli/node_modules/aws-cdk/bin"
ln -s "$out/lib/node_modules/aws-cdk-cli/node_modules/aws-cdk/bin" "$out/bin"