diff --git a/_constraints b/_constraints
index 30187d5..9db4bb1 100644
--- a/_constraints
+++ b/_constraints
@@ -1,20 +1,34 @@
-
+
+
+ 30
+
- 8
+ 18
-
aarch64
- asimdrdm
+ asimdrdm
- 5
-
+
+ 11
+
+
+
+
+
+ ppc64le
+
+
+
+ 50
+
+
diff --git a/rusty_v8.changes b/rusty_v8.changes
index e54384e..953b799 100644
--- a/rusty_v8.changes
+++ b/rusty_v8.changes
@@ -1,3 +1,31 @@
+-------------------------------------------------------------------
+Tue Feb 17 11:27:38 UTC 2026 - Soc Virnyl Estela
+
+- Update _constraints. Set physical memory to 18GB
+
+-------------------------------------------------------------------
+Tue Feb 17 08:59:43 UTC 2026 - Soc Virnyl Estela
+
+- Remove unknown GN arg system_zlib
+
+-------------------------------------------------------------------
+Tue Feb 17 07:15:10 UTC 2026 - Soc Virnyl Estela
+
+- Cleanup specfile
+- Copy _constraints from chromium
+- Try with mold if tumbleweed
+- Test with thin LTO and limit our debug info because it still OOMs
+- update GN_ARGS
+- Update _constraints. Set physical memory to 16GB
+- It seems binutils is required if we want to use the host toolchain
+- Remove rust-src as build requirement
+
+-------------------------------------------------------------------
+Sun Feb 15 15:59:49 UTC 2026 - Soc Virnyl Estela
+
+- Remove gcc switch. Set clang minver to 19. Ensure we use the LLVM toolchain
+ and not GCC for the C compiler. Only pp64 requires gcc-c++
+
-------------------------------------------------------------------
Sun Feb 15 00:38:48 UTC 2026 - Soc Virnyl Estela
diff --git a/rusty_v8.obsinfo b/rusty_v8.obsinfo
deleted file mode 100644
index 97fb045..0000000
--- a/rusty_v8.obsinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-name: rusty_v8
-version: 135.1.0
-mtime: 1742748458
-commit: 9cd584266ff1150c7b30d8b9e792643819ef9431
diff --git a/rusty_v8.spec b/rusty_v8.spec
index 13047f4..435be5e 100644
--- a/rusty_v8.spec
+++ b/rusty_v8.spec
@@ -16,8 +16,22 @@
#
+%global _min_clang_version 19
%global __requires_exclude_from ^%{_libdir}/crates/rusty_v8/.*$
+%if 0%{?suse_version} > 1600
+%bcond_without mold
+%else
+%bcond_with mold
+%endif
+
+%if %{with mold}
+%global build_rustflags "-C" "linker=clang++" "-C" "link-arg='-fuse-ld=/usr/bin/mold -Wl,-z,relro,-z,now,-zstack-size=8388608'" "-C" "debuginfo=2" "-C" "incremental=false" "-C" "strip=none" "-A" "warnings"
+%else
+%global build_rustflags "-C" "linker=clang++" "-C" "link-arg='-fuse-ld=/usr/bin/ld.lld -Wl,-z,relro,-z,now,-zstack-size=8388608'" "-C" "debuginfo=2" "-C" "incremental=false" "-C" "strip=none" "-A" "warnings"
+%endif
+
+
Name: rusty_v8
Version: 145.0.0
Release: 0
@@ -35,19 +49,23 @@ Patch1: compiler-rt-adjust-paths.patch
Patch2: disable-rust-toolchain-download.patch
BuildRequires: cargo
BuildRequires: cargo-packaging
-BuildRequires: clang21
-BuildRequires: clang21-devel
+BuildRequires: clang >= %{_min_clang_version}
+BuildRequires: clang-devel >= %{_min_clang_version}
+BuildRequires: llvm >= %{_min_clang_version}
+BuildRequires: llvm-devel >= %{_min_clang_version}
+BuildRequires: lld >= %{_min_clang_version}
+BuildRequires: lld >= %{_min_clang_version}
+%if 0%{?suse_version} > 1600
+BuildRequires: mold
+%endif
+BuildRequires: binutils
BuildRequires: fdupes
BuildRequires: gn
-BuildRequires: lld21
-BuildRequires: rust-bindgen
-BuildRequires: llvm21
-BuildRequires: llvm21-devel
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: python3-base
+BuildRequires: rust-bindgen
BuildRequires: zstd
-BuildRequires: rust-src
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gobject-2.0)
@@ -55,7 +73,7 @@ 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}
+ExclusiveArch: x86_64 x86_64_v3
%ifarch ppc64 # wants g++ for some reason
BuildRequires: gcc-c++
%endif
@@ -77,6 +95,9 @@ mkdir -p third_party/rust-toolchain
tar xf %{SOURCE2} -C third_party/rust-toolchain
%build
+%ifarch aarch64
+export RUSTC_BOOTSTRAP=1
+%endif
# 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/')
export LIBCLANG_PATH=%{_libdir}
@@ -84,17 +105,32 @@ export V8_FROM_SOURCE=1
export CLANG_BASE_PATH=%{_prefix}
export CC=clang
export CXX=clang++
+export AR=ar NM=nm
+export CFLAGS="%{optflags} -Wno-unknown-warning-option"
+export CXXFLAGS="%{optflags} -Wno-unknown-warning-option"
# https://www.chromium.org/developers/gn-build-configuration
export RUSTC_SYSROOT=$(rustc --print sysroot)
export RUSTC_VERSION=$(rustc -V | cut -d' ' -f2)
export GN="/usr/bin/gn"
export NINJA="/usr/bin/ninja"
export RUSTC="/usr/bin/rustc"
-export GN_ARGS="clang_version=${CLANG_VERSION} use_lld=true v8_symbol_level=0"
-# export EXTRA_GN_ARGS="rust_sysroot_absolute=${RUSTC_SYSROOT} rustc_version=${RUSTC_VERSION}"
-export CFLAGS="%{optflags} -Wno-unknown-warning-option"
-export CXXFLAGS="%{optflags} -Wno-unknown-warning-option"
-export RUST_BACKTRACE=full
+export GN_ARGS="
+ clang_version=${CLANG_VERSION}
+ v8_symbol_level=0
+ custom_toolchain=\"//build/toolchain/linux/unbundle:default\"
+ host_toolchain=\"//build/toolchain/linux/unbundle:default\"
+ fatal_linker_warnings=false
+ is_debug=false
+ use_system_libffi=true
+ use_custom_libcxx=false
+ use_sysroot=false
+ "
+export EXTRA_GN_ARGS="use_custom_libcxx=false"
+
+# Included limited debug info.
+export CARGO_PROFILE_RELEASE_DEBUG=1
+# Use "thin" instead of "fat" to speed up builds (it costs +4% binary size).
+export CARGO_PROFILE_RELEASE_LTO="thin"
%{cargo_build}
%install