From 13cb03399bc7b4fc56ffd8ae1d365dd39344f2a4 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Sat, 19 Jul 2025 12:28:25 -0700 Subject: [PATCH 1/5] Update deprecated version of actions/cache This should fix the build workflow. The version currently listed is unsupported. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ed979e0..44e0c2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: - name: Get SM pkg run: ./tools/get_sm.sh - name: ccache cache files - uses: actions/cache@v1.1.0 + uses: actions/cache@v4 with: path: ~/.ccache key: ${{ runner.os }}-${{ hashFiles('**/mozjs.tar.xz') }} From 9f600f5eb2d12b2aae0a33c6a1efd3196a4b3483 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Sat, 19 Jul 2025 12:32:43 -0700 Subject: [PATCH 2/5] Install cbindgen dependency with cargo (The one in Ubuntu 24.04 is too old) --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 44e0c2f..48613c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,6 +48,7 @@ jobs: tar -xf mozjs.tar.xz -C /tmp/mozjs cd /tmp/mozjs cd $(ls -d */|head -n 1) + cargo install cbindgen cd js/src bash $GITHUB_WORKSPACE/tools/generic_lib.sh $GITHUB_WORKSPACE/meson.build mkdir _build From b97ea81f24f8fcdaeda6b061a09525d90052e6b0 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Sat, 19 Jul 2025 15:52:47 -0700 Subject: [PATCH 3/5] Fix sed script for version-independent .pc file The mozjs.pc file is no longer named in old-configure.in (doesn't exist), so this sed script to remove the version number from it stopped working. Instead of editing the version number out before build with the sed script, copy the installed mozjs-NNN.pc file to mozjs.pc. --- .github/workflows/build.yml | 1 + tools/generic_lib.sh | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 48613c9..1919dab 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,6 +58,7 @@ jobs: ccache -z make sudo make install + sudo cp /usr/local/lib/pkgconfig/mozjs-*.pc /usr/local/lib/pkgconfig/mozjs.pc ccache -s - name: Build Examples run: | diff --git a/tools/generic_lib.sh b/tools/generic_lib.sh index 344b058..9b548e5 100755 --- a/tools/generic_lib.sh +++ b/tools/generic_lib.sh @@ -1,5 +1,4 @@ #!/bin/bash -# Make SpiderMonkey and this repo generic instead of version specific. -# script shoud be run in mozjs dir with $1 for meson.build location -sed -i 's/mozjs-$MOZILLA_SYMBOLVERSION/mozjs/g' old-configure.in +# Make this repo generic instead of version specific. +# run script with $1 for meson.build location sed -i --regexp-extended "s/dependency\(.mozjs.*$/dependency('mozjs')/gm" "$1" From 9e0ffa8f2e73f1fb429bf82cbec39d3624e10654 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Sat, 19 Jul 2025 17:10:43 -0700 Subject: [PATCH 4/5] Use meson setup command explicitly Invoking "meson $DIR" without "setup" is deprecated. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1919dab..c91d19e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,5 +62,5 @@ jobs: ccache -s - name: Build Examples run: | - meson _build || cat _build/meson-logs/meson-log.txt + meson setup _build || cat _build/meson-logs/meson-log.txt ninja -C _build From adec57e2507f49428d909ec2d55c15d1633040a6 Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Sat, 19 Jul 2025 18:01:36 -0700 Subject: [PATCH 5/5] Install readline dependency Needed for the REPL example. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c91d19e..20dbbfb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: - uses: actions/checkout@v2 - name: Install deps run: | - sudo apt install ccache llvm clang lld meson ninja-build -y + sudo apt install ccache libreadline-dev llvm clang lld meson ninja-build -y - uses: actions-rs/toolchain@v1 with: profile: minimal