diff --git a/_service b/_service index 741381e..7c36393 100644 --- a/_service +++ b/_service @@ -2,21 +2,23 @@ https://github.com/denoland/rusty_v8 git - - - - v129.0.0 - 129.0.0 + v0.106.0 + 0.106.0 .git .github .gitignore .prettierrc.json .rustfmt.toml - - - *.tar - xz + + + rusty_v8*.tar + zst + + + rusty_v8 + zst + false diff --git a/cargo_config b/cargo_config deleted file mode 100644 index 97852b5..0000000 --- a/cargo_config +++ /dev/null @@ -1,5 +0,0 @@ -[source.crates-io] -replace-with = "vendored-sources" - -[source.vendored-sources] -directory = "vendor" diff --git a/compiler-rt-adjust-paths.patch b/compiler-rt-adjust-paths.patch index 7fe5758..07de210 100644 --- a/compiler-rt-adjust-paths.patch +++ b/compiler-rt-adjust-paths.patch @@ -1,8 +1,8 @@ diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn -index d4de2e0cca0..57359c32121 100644 +index fcca59b0f..fdf14f306 100644 --- a/build/config/clang/BUILD.gn +++ b/build/config/clang/BUILD.gn -@@ -130,12 +130,15 @@ template("clang_lib") { +@@ -192,12 +192,15 @@ template("clang_lib") { } else if (is_linux || is_chromeos) { if (current_cpu == "x64") { _dir = "x86_64-unknown-linux-gnu" @@ -18,7 +18,7 @@ index d4de2e0cca0..57359c32121 100644 } else { assert(false) # Unhandled cpu type } -@@ -166,6 +169,11 @@ template("clang_lib") { +@@ -228,6 +231,11 @@ template("clang_lib") { assert(false) # Unhandled target platform } diff --git a/deno-v8-arm.patch b/deno-v8-arm.patch index 85729be..73227e7 100644 --- a/deno-v8-arm.patch +++ b/deno-v8-arm.patch @@ -19,3 +19,4 @@ } let target_triple = env::var("TARGET").unwrap(); + diff --git a/fix-prefix.patch b/fix-prefix.patch deleted file mode 100644 index 244d94e..0000000 --- a/fix-prefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Fix usr prefix -index fcca59b..02480f8 100644 ---- a/build/config/clang/BUILD.gn -+++ b/build/config/clang/BUILD.gn -@@ -171,7 +171,7 @@ template("clang_lib") { - config(target_name) { - _dir = "" - _libname = invoker.libname -- _prefix = "lib" -+ _prefix = "lib64" - _suffix = "" - _ext = "a" - if (is_win) { diff --git a/rusty_v8-0.106.0.tar.zst b/rusty_v8-0.106.0.tar.zst new file mode 100644 index 0000000..820d641 --- /dev/null +++ b/rusty_v8-0.106.0.tar.zst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a0b5a8c36bcaea3872d5ffb1a098b8213cb91001c99910fca1d7d3659a8f6a5 +size 73511874 diff --git a/rusty_v8-129.0.0.tar.xz b/rusty_v8-129.0.0.tar.xz deleted file mode 100644 index e7cacb1..0000000 --- a/rusty_v8-129.0.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89af37dbb408fb9e7b1d433487d290ee09fc77284cd2e12f309e6bfddd2c41a6 -size 58757856 diff --git a/rusty_v8-rpmlintrc b/rusty_v8-rpmlintrc new file mode 100644 index 0000000..fe46f99 --- /dev/null +++ b/rusty_v8-rpmlintrc @@ -0,0 +1,11 @@ +# This is not C, dear +addFilter("E: devel-file-in-non-devel-package") +addFilter("E: bin-sh-syntax-error") +addFilter("E: env-script-interpreter") +addFilter("E: zero-length") +addFilter("E: version-control-internal-file") +addFilter("E: wrong-script-interpreter") +addFilter("E: script-without-shebang") +addFilter("E: non-executable-script") +addFilter("W: position-independent-executable-suggested") +addFilter("W: potential-bashisms") diff --git a/rusty_v8.changes b/rusty_v8.changes index 3ad3c61..671a851 100644 --- a/rusty_v8.changes +++ b/rusty_v8.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Thu Oct 3 10:10:51 UTC 2024 - Soc Virnyl Estela + +- update to version 0.106.0 -> NOTICE: this version will become 129.0.0 in the future + * feat: cppgc NameProvider + * re-add deprecated cppgc api + * Rolling to V8 12.9.202.13 + * Rolling to V8 12.9.202.12 + * feat: add Module::is_graph_async + * download ninja/gn from cipd + * Rolling to V8 12.9.202.11 + * Update to v0.105.1 + * Rolling to V8 12.9.202.9 + * Rolling to V8 12.9.202.8 + * Rolling to V8 12.9.202.7 + * fix: Check for null pointer returned by `ValueSerializer::Release` + * Allow `ValueSerializerImpl` and `ValueDeserializerImpl` impls to be re-entrant + * remove unused submodule + * disable pointer compression + * Backport ESM TLA fixes + * Rolling to V8 12.9.202.5 + * feat: add InspectorClient::ensureDefaultContextInGroup + * chore: respect explicitly set RUSTY_V8_SRC_BINDING_PATH + * Disable relative vtable on Android + * Rolling to V8 12.9.202.4 +- Add ./rusty_v8-rpmlintrc. This is not C +- Make deno use this as a crate path by updating deno's Cargo.toml +- GN is looking for clang at lib and not lib64. + * Use sed to change lib -> lib64 +- update _service file +- remove vendor.tar.xz +- use a new vendor tarball vendor.tar.zst +- remove cargo_config + ------------------------------------------------------------------- Thu Aug 22 20:25:50 UTC 2024 - Avindra Goolcharan diff --git a/rusty_v8.obsinfo b/rusty_v8.obsinfo new file mode 100644 index 0000000..d09b700 --- /dev/null +++ b/rusty_v8.obsinfo @@ -0,0 +1,4 @@ +name: rusty_v8 +version: 129.0.0 +mtime: 1706983689 +commit: ab019251a4c45ee4edb4f7415eec762a589d87f8 diff --git a/rusty_v8.spec b/rusty_v8.spec index 6c24ec7..d7acb04 100644 --- a/rusty_v8.spec +++ b/rusty_v8.spec @@ -15,25 +15,29 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%global __requires_exclude_from ^%{_libdir}/crates/rusty_v8/.*$ Name: rusty_v8 -Version: 129.0.0 +Version: 0.106.0 Release: 0 Summary: Build tooling for Deno (do not install or use!) License: MIT Group: Productivity/Other URL: https://github.com/denoland/rusty_v8 -Source0: %{name}-%{version}.tar.xz -Source1: vendor.tar.xz -Source2: cargo_config +Source0: %{name}-%{version}.tar.zst +Source1: vendor.tar.zst Patch0: deno-v8-arm.patch -Patch1: https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/raw/main/compiler-rt-adjust-paths.patch -#Patch2: fix-prefix.patch +# Based on https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/raw/main/compiler-rt-adjust-paths.patch +Patch1: compiler-rt-adjust-paths.patch BuildRequires: cargo-packaging +BuildRequires: cargo +BuildRequires: sccache BuildRequires: clang +BuildRequires: lld +BuildRequires: zstd BuildRequires: gn -#BuildRequires: lld BuildRequires: llvm +BuildRequires: fdupes BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: python3-base @@ -41,10 +45,15 @@ BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gthread-2.0) +BuildRequires: pkgconfig(gthread-2.0) +BuildRequires: pkgconfig(icu-i18n) +# Rusty V8 does not guarantee builds for 32 bit and ppc +ExclusiveArch: %{rust_tier1_arches} %ifarch ppc64 # wants g++ for some reason BuildRequires: gcc-c++ %endif + %description V8 build tooling for Deno. This represents all of the common cruft that is dragged along into the deno build from V8, @@ -52,30 +61,57 @@ Chromium, etc. %prep %autosetup -a1 -p1 -mkdir -p .cargo -cp %{SOURCE2} .cargo/config -rm Cargo.lock +# Keeping this ifarch in case someone tries to build 32 bit +# which is not our problem +%ifarch x86_64 || x86_64_v3 || aarch64 +# lib to lib64 +sed -i 's|lib/clang|lib64/clang|g' build/config/clang/BUILD.gn +%endif %build -#https://github.com/denoland/rusty_v8/#build-v8-from-source +# Ensure that the clang version matches. This command came from Archlinux. Thanks. +export CLANG_VERSION=$(clang --version | grep -m1 version | sed 's/.* \([0-9]\+\).*/\1/') +# See https://github.com/denoland/rusty_v8/#build-v8-from-source export V8_FROM_SOURCE=1 export CLANG_BASE_PATH=%{_prefix} -# note: built in debug mode to -# emit symbols for linker in deno build -## is_debug=true -export GN_ARGS="" -#export RUST_BACKTRACE=full -%{__cargo} build %{__cargo_common_opts} - -# -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compilER-RT" +export GN_ARGS="clang_version=${CLANG_VERSION} use_lld=true" +export CC=clang +export CXX=clang++ +export CFLAGS="%{optflags} -Wno-unknown-warning-option" +export CXXFLAGS="%{optflags} -Wno-unknown-warning-option" +export RUST_BACKTRACE=full +%{cargo_build} %install -mkdir -p %{buildroot}%{_libdir} -cp target/debug/*.rlib %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_libdir}/crates/ +# We are doing this so we can manipulate deno's Cargo.toml file later. +# The previous deno build does not use this and it does not make sense. +# Let's just use this to experiment rusty_v8 builds and patches before +# updating deno ;) it's chonky though +cp -rv $PWD \ + %{buildroot}%{_libdir}/crates/rusty_v8 + +cp target/release/*.rlib %{buildroot}%{_libdir} + +# we don't need those +pushd %{buildroot}%{_libdir}/crates/rusty_v8 +rm -rf .github +rm -rf vendor +rm -rf target +%fdupes $PWD +popd %files %license LICENSE %doc README.md %{_libdir}/libv8.rlib +%dir %{_libdir}/crates/ +%dir %{_libdir}/crates/rusty_v8 +%dir %{_libdir}/crates/rusty_v8/.cargo +%{_libdir}/crates/rusty_v8/* +%{_libdir}/crates/rusty_v8/.cargo/config.toml +%{_libdir}/crates/rusty_v8/.clang-format +%{_libdir}/crates/rusty_v8/.gitmodules +%{_libdir}/crates/rusty_v8/.gn %changelog diff --git a/vendor.tar.xz b/vendor.tar.xz deleted file mode 100644 index 2bd39c2..0000000 --- a/vendor.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:090b865f6f4f136c560e01830a1b8d2277e3426fe0e16a5f5c075117881d60cd -size 19403984 diff --git a/vendor.tar.zst b/vendor.tar.zst new file mode 100644 index 0000000..74f6a57 --- /dev/null +++ b/vendor.tar.zst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ce6859f2455bab01f2863b1c9c15d6356d307815310ff2b2fd75f20e83aebcc +size 22350685