Unverified Commit c0f20346 authored by Yohann Boniface's avatar Yohann Boniface Committed by GitHub
Browse files

qwen-code: 0.0.14 -> 0.1.0 (#456432)

parents 918c5c92 507d3045
Loading
Loading
Loading
Loading
+0 −70
Original line number Diff line number Diff line
From 0735b59eba183574e080d2912347d58e6e3d158e Mon Sep 17 00:00:00 2001
From: Sergey Volkov <taranarmo@gmail.com>
Date: Fri, 12 Sep 2025 20:06:24 +0200
Subject: [PATCH] Add missing resolved and integrity fields to several packages

---
 package-lock.json | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/package-lock.json b/package-lock.json
index 146686dc..9ad9009f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12574,6 +12574,8 @@
     },
     "packages/cli/node_modules/@testing-library/dom": {
       "version": "10.4.0",
+      "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
+      "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
       "dev": true,
       "license": "MIT",
       "peer": true,
@@ -12609,6 +12611,8 @@
     },
     "packages/cli/node_modules/@testing-library/react": {
       "version": "16.3.0",
+      "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz",
+      "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -12660,6 +12664,8 @@
     },
     "packages/cli/node_modules/aria-query": {
       "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+      "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
       "dev": true,
       "license": "Apache-2.0",
       "peer": true,
@@ -12669,6 +12675,8 @@
     },
     "packages/cli/node_modules/emoji-regex": {
       "version": "10.4.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz",
+      "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==",
       "license": "MIT"
     },
     "packages/cli/node_modules/react-is": {
@@ -12681,6 +12689,8 @@
     },
     "packages/cli/node_modules/string-width": {
       "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+      "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
       "license": "MIT",
       "dependencies": {
         "emoji-regex": "^10.3.0",
@@ -12815,6 +12825,8 @@
     },
     "packages/core/node_modules/ignore": {
       "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
       "license": "MIT",
       "engines": {
         "node": ">= 4"
-- 
2.51.0
+28 −23
Original line number Diff line number Diff line
@@ -6,46 +6,40 @@
  jq,
  git,
  ripgrep,
  pkg-config,
  glib,
  libsecret,
}:

buildNpmPackage (finalAttrs: {
  pname = "qwen-code";
  version = "0.0.14";
  version = "0.1.0";

  src = fetchFromGitHub {
    owner = "QwenLM";
    repo = "qwen-code";
    tag = "v${finalAttrs.version}";
    hash = "sha256-Rld6k0MPfOOncK240zOJbcvheV4UKU2yF7luBrTrnFs=";
    hash = "sha256-5XC4Pwf+vuK1T3/bPptUejg8v9wj3izF80Mt+iqVr9Y=";
  };

  patches = [
    # similar to upstream gemini-cli some node deps are missing resolved and integrity fields
    # upstream the problem is solved in master and in v0.4+, eventually the fix should arrive to qwen
    ./add-missing-resolved-integrity-fields.patch
  ];

  npmDepsHash = "sha256-43s13HncNKv4uOKVwNvqIF+Ih3rJBWrpVJnE3hCKD2w=";
  npmDepsHash = "sha256-Psj/5SDWBnsRJVJnJwXGUgVbqUnjoH6HpAqqFruHkYw=";

  nativeBuildInputs = [
    jq
    pkg-config
    git
  ];

  buildInputs = [
    git
    ripgrep
    glib
    libsecret
  ];

  postPatch = ''
    # Remove @lvce-editor/ripgrep dependency (no network on buildPhase
    substituteInPlace package.json --replace-fail '"@lvce-editor/ripgrep": "^1.6.0",' ""
    substituteInPlace packages/core/package.json --replace-fail '"@lvce-editor/ripgrep": "^1.6.0",' ""
    substituteInPlace packages/core/src/tools/ripGrep.ts \
      --replace-fail "const { rgPath } = await import('@lvce-editor/ripgrep');" "const rgPath = 'rg';"

    # patches below remove node-pty dependency which causes build fail on Darwin
    # patches below remove node-pty and keytar dependencies which cause build fail on Darwin
    # should be conditional on platform but since package-lock.json is patched it changes its hash
    # though seems like this dependency is not really required by the package
    # though seems like these dependencies are not really required by the package
    ${jq}/bin/jq '
      del(.packages."node_modules/node-pty") |
      del(.packages."node_modules/@lydell/node-pty") |
@@ -55,11 +49,18 @@ buildNpmPackage (finalAttrs: {
      del(.packages."node_modules/@lydell/node-pty-linux-x64") |
      del(.packages."node_modules/@lydell/node-pty-win32-arm64") |
      del(.packages."node_modules/@lydell/node-pty-win32-x64") |
      del(.packages."node_modules/keytar") |
      walk(
        if type == "object" and has("dependencies") then
          .dependencies |= with_entries(select(.key | contains("node-pty") | not))
          .dependencies |= with_entries(select(.key | (contains("node-pty") | not) and (contains("keytar") | not)))
        elif type == "object" and has("optionalDependencies") then
          .optionalDependencies |= with_entries(select(.key | contains("node-pty") | not))
          .optionalDependencies |= with_entries(select(.key | (contains("node-pty") | not) and (contains("keytar") | not)))
        else .
        end
      ) |
      walk(
        if type == "object" and has("peerDependencies") then
          .peerDependencies |= with_entries(select(.key | (contains("node-pty") | not) and (contains("keytar") | not)))
        else .
        end
      )
@@ -79,10 +80,14 @@ buildNpmPackage (finalAttrs: {
    runHook preInstall

    mkdir -p $out/bin $out/share/qwen-code
    cp -r bundle/* $out/share/qwen-code/
    cp node_modules/tiktoken/tiktoken_bg.wasm $out/share/qwen-code/
    cp -r dist/* $out/share/qwen-code/
    # Install production dependencies only
    npm prune --production
    cp -r node_modules $out/share/qwen-code/
    # Remove broken symlinks that cause issues in Nix environment
    find $out/share/qwen-code/node_modules -type l -delete || true
    patchShebangs $out/share/qwen-code
    ln -s $out/share/qwen-code/gemini.js $out/bin/qwen
    ln -s $out/share/qwen-code/cli.js $out/bin/qwen

    runHook postInstall
  '';