Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package jsdec for openSUSE:Factory checked in at 2026-07-08 17:36:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jsdec (Old) and /work/SRC/openSUSE:Factory/.jsdec.new.1982 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jsdec" Wed Jul 8 17:36:51 2026 rev:5 rq:1364406 version:0.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/jsdec/jsdec.changes 2026-05-14 21:46:12.282607351 +0200 +++ /work/SRC/openSUSE:Factory/.jsdec.new.1982/jsdec.changes 2026-07-08 17:39:06.166833612 +0200 @@ -1,0 +2,7 @@ +Tue Jul 7 21:23:37 UTC 2026 - Eyad Issa <[email protected]> + +- Update to version 0.9.0: + * Various changes to use updated Rizin APIs + * Use C++20 for the Cutter plugin + +------------------------------------------------------------------- Old: ---- jsdec-0.8.0.tar.gz New: ---- jsdec-0.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jsdec.spec ++++++ --- /var/tmp/diff_new_pack.UrRCid/_old 2026-07-08 17:39:08.062899679 +0200 +++ /var/tmp/diff_new_pack.UrRCid/_new 2026-07-08 17:39:08.062899679 +0200 @@ -29,7 +29,7 @@ %global cutter_builddir %{base_builddir}-cutter Name: jsdec -Version: 0.8.0 +Version: 0.9.0 Release: 0 Summary: Simple decompiler for Rizin License: BSD-3-Clause AND MIT ++++++ jsdec-0.8.0.tar.gz -> jsdec-0.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/.ci-scripts/ci-build-linux.sh new/jsdec-0.9.0/.ci-scripts/ci-build-linux.sh --- old/jsdec-0.8.0/.ci-scripts/ci-build-linux.sh 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/.ci-scripts/ci-build-linux.sh 2026-06-21 08:14:03.000000000 +0200 @@ -6,7 +6,7 @@ CI_RZ_VERSION=$2 if [ "$CI_BRANCH" != "dev" ]; then - # master branch always build against latest release of rizin + # stable branch always build against latest release of rizin CI_RZ_VERSION=$(curl -s GET https://api.github.com/repos/rizinorg/rizin/tags\?per_page\=1 | jq -r '.[].name') else CI_RZ_VERSION="$CI_BRANCH" @@ -25,7 +25,7 @@ wget -O "rizin.tar.gz" "https://github.com/rizinorg/rizin/archive/refs/heads/dev.tar.gz" tar xf "rizin.tar.gz" else - # master branch always build against latest release of rizin + # stable branch always build against latest release of rizin wget -O "rizin.tar.xz" "https://github.com/rizinorg/rizin/releases/download/$CI_RZ_VERSION/rizin-src-$CI_RZ_VERSION.tar.xz" tar xf "rizin.tar.xz" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/.ci-scripts/ci-rizin-dl.py new/jsdec-0.9.0/.ci-scripts/ci-rizin-dl.py --- old/jsdec-0.8.0/.ci-scripts/ci-rizin-dl.py 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/.ci-scripts/ci-rizin-dl.py 2026-06-21 08:14:03.000000000 +0200 @@ -5,10 +5,10 @@ out_file = "rizin.zip" -latest = "master" if len(sys.argv) < 1 else sys.argv[1] +latest = "stable" if len(sys.argv) < 1 else sys.argv[1] if latest != "dev": - # master branch always build against latest release of rizin + # stable branch always build against latest release of rizin tags = None with urllib.request.urlopen('https://api.github.com/repos/rizinorg/rizin/tags?per_page=1') as f: tags = json.load(f) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/.github/dependabot.yml new/jsdec-0.9.0/.github/dependabot.yml --- old/jsdec-0.8.0/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/jsdec-0.9.0/.github/dependabot.yml 2026-06-21 08:14:03.000000000 +0200 @@ -0,0 +1,7 @@ +version: 2 + +updates: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: "weekly" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/.github/workflows/build-plugin.yml new/jsdec-0.9.0/.github/workflows/build-plugin.yml --- old/jsdec-0.8.0/.github/workflows/build-plugin.yml 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/.github/workflows/build-plugin.yml 2026-06-21 08:14:03.000000000 +0200 @@ -3,7 +3,7 @@ on: push: branches: - - master + - stable - dev pull_request: @@ -17,7 +17,7 @@ runs-on: ubuntu-latest steps: - name: Checkout commit - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install dependencies run: sudo apt -y install meson ninja-build - name: Build & run jsdec as rizin plugin @@ -31,10 +31,10 @@ matrix: os: - "windows-latest" - - "windows-2019" + - "windows-2022" steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: 3.9.x - name: Preparing msvc toolchain diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/.github/workflows/codeql.yml new/jsdec-0.9.0/.github/workflows/codeql.yml --- old/jsdec-0.8.0/.github/workflows/codeql.yml 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/.github/workflows/codeql.yml 2026-06-21 08:14:03.000000000 +0200 @@ -2,9 +2,9 @@ on: push: - branches: ["master"] + branches: ["stable", "dev"] pull_request: - branches: ["master"] + branches: ["stable", "dev"] schedule: - cron: "1 14 * * 5" @@ -24,18 +24,18 @@ steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 with: category: "/language:${{ matrix.language }}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/.github/workflows/continuous-tests.yml new/jsdec-0.9.0/.github/workflows/continuous-tests.yml --- old/jsdec-0.8.0/.github/workflows/continuous-tests.yml 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/.github/workflows/continuous-tests.yml 2026-06-21 08:14:03.000000000 +0200 @@ -2,7 +2,7 @@ on: push: branches: - - master + - stable - dev pull_request: @@ -11,8 +11,8 @@ name: eslint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 with: node-version: "21" - name: eslint @@ -22,7 +22,7 @@ name: tests runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: tests run: chmod +x .ci-scripts/ci-tests.sh && .ci-scripts/ci-tests.sh "${{ github.ref_name }}" @@ -30,8 +30,8 @@ runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Reuse Compliance Check - uses: fsfe/reuse-action@v2 + uses: fsfe/reuse-action@v6 with: args: --suppress-deprecation lint diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/README.md new/jsdec-0.9.0/README.md --- old/jsdec-0.8.0/README.md 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/README.md 2026-06-21 08:14:03.000000000 +0200 @@ -1,6 +1,6 @@ [](https://opensource.org/licenses/BSD-3-Clause) - + Converts asm to pseudo-C code. @@ -87,5 +87,5 @@ # Developing on jsdec -[Read DEVELOPERS.md](https://github.com/rizinorg/jsdec/blob/master/DEVELOPERS.md) +[Read DEVELOPERS.md](https://github.com/rizinorg/jsdec/blob/dev/DEVELOPERS.md) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/c/jsdec-cutter.c new/jsdec-0.9.0/c/jsdec-cutter.c --- old/jsdec-0.8.0/c/jsdec-cutter.c 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/c/jsdec-cutter.c 2026-06-21 08:14:03.000000000 +0200 @@ -22,8 +22,8 @@ JSValue shared; } ExecContext; -static JSValue js_analysis_bytes(JSContext *ctx, RzCore *core, RzAnalysisBytes *ab) { - RzAnalysisOp *aop = ab->op; +static JSValue js_analysis_bytes(JSContext *ctx, RzCore *core, RzCoreDecodedBytes *cdb) { + RzAnalysisOp *aop = &cdb->an_op; JSValue op = JS_NewObject(ctx); JS_SetPropertyStr(ctx, op, "offset", JS_NewBigUint64(ctx, aop->addr)); if (aop->ptr != UT64_MAX) { @@ -32,8 +32,8 @@ if (aop->val != UT64_MAX) { JS_SetPropertyStr(ctx, op, "val", JS_NewBigUint64(ctx, aop->val)); } - JS_SetPropertyStr(ctx, op, "opcode", JS_NewString(ctx, rz_str_get_null(ab->opcode))); - JS_SetPropertyStr(ctx, op, "disasm", JS_NewString(ctx, rz_str_get_null(ab->disasm))); + JS_SetPropertyStr(ctx, op, "opcode", JS_NewString(ctx, rz_str_get_null(cdb->opcode))); + JS_SetPropertyStr(ctx, op, "disasm", JS_NewString(ctx, rz_str_get_null(cdb->disasm))); JS_SetPropertyStr(ctx, op, "type", JS_NewString(ctx, rz_analysis_optype_to_string(aop->type))); if (aop->jump != UT64_MAX) { JS_SetPropertyStr(ctx, op, "jump", JS_NewBigInt64(ctx, aop->jump)); @@ -49,7 +49,7 @@ } static JSValue js_analysis_opcodes(JSContext *ctx, RzCore *core) { - RzAnalysisBytes *ab; + RzCoreDecodedBytes *cdb; JSValue ops = JS_NewArray(ctx); st64 op_idx = 0; @@ -57,11 +57,11 @@ if (!iter) { return ops; } - rz_iterator_foreach(iter, ab) { - if (!ab || !ab->op || !strcmp(ab->opcode, "nop")) { + rz_iterator_foreach(iter, cdb) { + if (!cdb || !strcmp(cdb->opcode, "nop")) { continue; } - JSValue op = js_analysis_bytes(ctx, core, ab); + JSValue op = js_analysis_bytes(ctx, core, cdb); JS_SetPropertyInt64(ctx, ops, op_idx, op); op_idx++; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/c/jsdec-plugin.c new/jsdec-0.9.0/c/jsdec-plugin.c --- old/jsdec-0.8.0/c/jsdec-plugin.c 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/c/jsdec-plugin.c 2026-06-21 08:14:03.000000000 +0200 @@ -49,8 +49,8 @@ #define rz_cmd_desc_argv_new_warn(rcmd, root, cmd) \ rz_warn_if_fail(rz_cmd_desc_argv_new(rcmd, root, #cmd, name_handler(cmd), &name_help(cmd))) -static JSValue js_analysis_bytes(JSContext *ctx, RzCore *core, RzAnalysisBytes *ab) { - RzAnalysisOp *aop = ab->op; +static JSValue js_analysis_bytes(JSContext *ctx, RzCore *core, RzCoreDecodedBytes *cdb) { + RzAnalysisOp *aop = &cdb->an_op; JSValue op = JS_NewObject(ctx); JS_SetPropertyStr(ctx, op, "offset", JS_NewBigUint64(ctx, aop->addr)); if (aop->ptr != UT64_MAX) { @@ -59,8 +59,8 @@ if (aop->val != UT64_MAX) { JS_SetPropertyStr(ctx, op, "val", JS_NewBigUint64(ctx, aop->val)); } - JS_SetPropertyStr(ctx, op, "opcode", JS_NewString(ctx, rz_str_get_null(ab->opcode))); - JS_SetPropertyStr(ctx, op, "disasm", JS_NewString(ctx, rz_str_get_null(ab->disasm))); + JS_SetPropertyStr(ctx, op, "opcode", JS_NewString(ctx, rz_str_get_null(cdb->opcode))); + JS_SetPropertyStr(ctx, op, "disasm", JS_NewString(ctx, rz_str_get_null(cdb->disasm))); JS_SetPropertyStr(ctx, op, "type", JS_NewString(ctx, rz_analysis_optype_to_string(aop->type))); if (aop->jump != UT64_MAX) { JS_SetPropertyStr(ctx, op, "jump", JS_NewBigInt64(ctx, aop->jump)); @@ -76,7 +76,7 @@ } static JSValue js_analysis_opcodes(JSContext *ctx, RzCore *core) { - RzAnalysisBytes *ab; + RzCoreDecodedBytes *cdb; JSValue ops = JS_NewArray(ctx); st64 op_idx = 0; @@ -84,11 +84,11 @@ if (!iter) { return ops; } - rz_iterator_foreach (iter, ab) { - if (!ab || !ab->op || !strcmp(ab->opcode, "nop")) { + rz_iterator_foreach (iter, cdb) { + if (!cdb || !strcmp(cdb->opcode, "nop")) { continue; } - JSValue op = js_analysis_bytes(ctx, core, ab); + JSValue op = js_analysis_bytes(ctx, core, cdb); JS_SetPropertyInt64(ctx, ops, op_idx, op); op_idx++; } @@ -280,7 +280,8 @@ command_handler(pddj, "--as-json"); command_handler(pddo, "--offsets"); -static bool rz_cmd_pdd_init(RzCore *core) { +static bool rz_cmd_pdd_init(RzCore *core, void **user) { + (void)user; RzCmd *rcmd = core->rcmd; RzConfig *cfg = core->config; RzCmdDesc *root_cd = rz_cmd_get_desc(rcmd, "pd"); @@ -319,7 +320,8 @@ return true; } -static bool rz_cmd_pdd_fini(RzCore *core) { +static bool rz_cmd_pdd_fini(RzCore *core, void *user) { + (void)user; RzCmd *rcmd = core->rcmd; RzCmdDesc *cd = rz_cmd_get_desc(rcmd, "pdd"); return rz_cmd_desc_remove(rcmd, cd); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/cutter-plugin/CMakeLists.txt new/jsdec-0.9.0/cutter-plugin/CMakeLists.txt --- old/jsdec-0.8.0/cutter-plugin/CMakeLists.txt 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/cutter-plugin/CMakeLists.txt 2026-06-21 08:14:03.000000000 +0200 @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.12) project(cutter-jsdec-plugin) +set(CMAKE_CXX_STANDARD 20) + set(CUTTER_INSTALL_PLUGDIR "share/rizin/cutter/plugins/native" CACHE STRING "Directory to install Cutter plugin into") set(JSDEC_BUILD_DIR "../build" CACHE STRING "Directory where to find libjsdec.a") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jsdec-0.8.0/tools/qjsc_mod.c new/jsdec-0.9.0/tools/qjsc_mod.c --- old/jsdec-0.8.0/tools/qjsc_mod.c 2025-04-25 07:23:56.000000000 +0200 +++ new/jsdec-0.9.0/tools/qjsc_mod.c 2026-06-21 08:14:03.000000000 +0200 @@ -447,7 +447,7 @@ int main(int argc, char **argv) { - int c, i, verbose; + int c, i; const char *out_filename, *cname, *script_name; char cfilename[1024]; FILE *fo; @@ -462,7 +462,6 @@ output_type = OUTPUT_C; cname = NULL; module = -1; - verbose = 0; strip = 0; stack_size = 0; memset(&dynamic_module_list, 0, sizeof(dynamic_module_list)); @@ -519,9 +518,6 @@ case 's': strip++; break; - case 'v': - verbose++; - break; case 'p': c_ident_prefix = optarg; break;
