From 81f3f9a88024c504cc387efbc3dda4795f1b145d Mon Sep 17 00:00:00 2001 From: Dimitar Nestorov <8790386+dimitarnestorov@users.noreply.github.com> Date: Tue, 28 Apr 2026 23:28:29 +0300 Subject: [PATCH] learn6502: fix for Yarn 4.14 --- .../le/learn6502/get-yarn-from-path.patch | 15 ++++++++++++ pkgs/by-name/le/learn6502/package.nix | 13 +++++++++-- .../le/learn6502/yarn-4.14-support.patch | 23 +++++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 pkgs/by-name/le/learn6502/get-yarn-from-path.patch create mode 100644 pkgs/by-name/le/learn6502/yarn-4.14-support.patch diff --git a/pkgs/by-name/le/learn6502/get-yarn-from-path.patch b/pkgs/by-name/le/learn6502/get-yarn-from-path.patch new file mode 100644 index 000000000000..fc3b821897e0 --- /dev/null +++ b/pkgs/by-name/le/learn6502/get-yarn-from-path.patch @@ -0,0 +1,15 @@ +diff --git a/packages/app-gnome/meson.build b/packages/app-gnome/meson.build +--- a/packages/app-gnome/meson.build ++++ b/packages/app-gnome/meson.build +@@ -3,10 +3,7 @@ gnome = import('gnome') + dependency('gjs-1.0', version: '>= 1.80.2') + gjs_console = find_program('gjs-console', required: true) + +-# TODO: Autodetect yarn version +-yarn_path = meson.project_source_root() / '.yarn' / 'releases' / 'yarn-4.12.0.cjs' +-node = find_program('node') +-yarn = [node, yarn_path] ++yarn = find_program('yarn', required: true) + + + yarn_args = ['--cwd', meson.project_source_root()] diff --git a/pkgs/by-name/le/learn6502/package.nix b/pkgs/by-name/le/learn6502/package.nix index da3a2e1b58bd..38022f842a09 100644 --- a/pkgs/by-name/le/learn6502/package.nix +++ b/pkgs/by-name/le/learn6502/package.nix @@ -33,15 +33,24 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-MR4QslG1DnnYLLn7esXGit0HG1cW37ECUE2hgOegudw="; }; + patches = [ + ./get-yarn-from-path.patch + + # Remove after upstream updates to Yarn 4.14 + # https://github.com/JumpLink/Learn6502/blob/main/package.json#L36 + ./yarn-4.14-support.patch + ]; + missingHashes = ./missing-hashes.json; offlineCache = yarn-berry.fetchYarnBerryDeps { - inherit (finalAttrs) src missingHashes; - hash = "sha256-y1Xyb2ipUx9gcfnub6gjABBSjBXQmSp6Kim0ZtUso38="; + inherit (finalAttrs) src missingHashes patches; + hash = "sha256-sxlKw7txvFs9dI76dTf/Ap/2ADNH74q6rGS5ly65ILo="; }; nativeBuildInputs = [ nodejs + yarn-berry yarn-berry.yarnBerryConfigHook meson ninja diff --git a/pkgs/by-name/le/learn6502/yarn-4.14-support.patch b/pkgs/by-name/le/learn6502/yarn-4.14-support.patch new file mode 100644 index 000000000000..abe15dc87282 --- /dev/null +++ b/pkgs/by-name/le/learn6502/yarn-4.14-support.patch @@ -0,0 +1,23 @@ +diff --git a/.yarnrc.yml b/.yarnrc.yml +--- a/.yarnrc.yml ++++ b/.yarnrc.yml +@@ -7,4 +7,7 @@ supportedArchitectures: + - x64 + - arm64 + +-yarnPath: .yarn/releases/yarn-4.12.0.cjs ++approvedGitRepositories: ++ - "**" ++ ++enableScripts: true +diff --git a/yarn.lock b/yarn.lock +--- a/yarn.lock ++++ b/yarn.lock +@@ -2,6 +2,6 @@ + # Manual changes might be lost - proceed with caution! + + __metadata: +- version: 8 ++ version: 9 + cacheKey: 10c0 +