diff --git a/compiler-rt-adjust-paths.patch b/compiler-rt-adjust-paths.patch new file mode 100644 index 0000000..07de210 --- /dev/null +++ b/compiler-rt-adjust-paths.patch @@ -0,0 +1,32 @@ +diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn +index fcca59b0f..fdf14f306 100644 +--- a/build/config/clang/BUILD.gn ++++ b/build/config/clang/BUILD.gn +@@ -192,12 +192,15 @@ template("clang_lib") { + } else if (is_linux || is_chromeos) { + if (current_cpu == "x64") { + _dir = "x86_64-unknown-linux-gnu" ++ _suffix = "-x86_64" + } else if (current_cpu == "x86") { + _dir = "i386-unknown-linux-gnu" ++ _suffix = "-i386" + } else if (current_cpu == "arm") { + _dir = "armv7-unknown-linux-gnueabihf" + } else if (current_cpu == "arm64") { + _dir = "aarch64-unknown-linux-gnu" ++ _suffix = "-aarch64" + } else { + assert(false) # Unhandled cpu type + } +@@ -228,6 +231,11 @@ template("clang_lib") { + assert(false) # Unhandled target platform + } + ++ # Bit of a hack to make this find builtins from compiler-rt >= 16 ++ if (is_linux || is_chromeos) { ++ _dir = "linux" ++ } ++ + _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib" + _lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}" + libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ] diff --git a/deno.changes b/deno.changes index d66eb92..29a1fe3 100644 --- a/deno.changes +++ b/deno.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun Nov 10 09:20:03 UTC 2024 - Soc Virnyl Estela + +- Do not depend on rusty_v8 from openSUSE:Factory. + * deno has changed how they ship the v8 crate. +- Apply patch directly to vendored v8 with ./compiler-rt-adjust-paths.patch. + ------------------------------------------------------------------- Sun Nov 10 06:13:41 UTC 2024 - Soc Virnyl Estela diff --git a/deno.spec b/deno.spec index 8ced28d..e4c366f 100644 --- a/deno.spec +++ b/deno.spec @@ -28,6 +28,7 @@ Group: Productivity/Other URL: https://github.com/denoland/deno Source0: %{name}-%{version}.tar.zst Source1: vendor.tar.zst +Source2: compiler-rt-adjust-paths.patch BuildRequires: cargo-packaging BuildRequires: clang # needed by `libz-ng-sys` after 1.36.1 @@ -97,11 +98,10 @@ updated with the --reload flag. %prep %autosetup -a1 -p1 -n %{name} - -# From archlinux. We are using a patched v8 from our build -unlink $PWD/rusty_v8 || true -ln -sf %{_libdir}/crates/rusty_v8 $PWD/rusty_v8 -echo -e "\n[patch.crates-io]\nv8 = { path = './rusty_v8' }" >> Cargo.toml +# Now we patch whatever was vendored +pushd vendor/v8-0.106.0 +patch -p1 -s --fuzz=0 --no-backup-if-mismatch -i %{SOURCE2} +popd %build # Ensure that the clang version matches. This command came from Archlinux. Thanks.