forked from pool/rusty_v8
cleanup #8
26
_constraints
26
_constraints
@@ -1,20 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">30</size>
|
||||
</disk>
|
||||
<physicalmemory>
|
||||
<size unit="G">8</size>
|
||||
<size unit="G">18</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
<!-- Use a fast aarch64 host to avoid log idle timeout -->
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<cpu>
|
||||
<flag>asimdrdm</flag>
|
||||
<flag>asimdrdm</flag>
|
||||
</cpu>
|
||||
<jobs>5</jobs>
|
||||
</hardware>
|
||||
<memory>
|
||||
<size unit="G">11</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>ppc64le</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">50</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
||||
|
||||
@@ -1,3 +1,31 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 17 11:27:38 UTC 2026 - Soc Virnyl Estela <uncomfyhalomacro@opensuse.org>
|
||||
|
||||
- Update _constraints. Set physical memory to 18GB
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 17 08:59:43 UTC 2026 - Soc Virnyl Estela <uncomfyhalomacro@opensuse.org>
|
||||
|
||||
- Remove unknown GN arg system_zlib
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 17 07:15:10 UTC 2026 - Soc Virnyl Estela <uncomfyhalomacro@opensuse.org>
|
||||
|
||||
- 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 <uncomfyhalomacro@opensuse.org>
|
||||
|
||||
- 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 <uncomfyhalomacro@opensuse.org>
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
name: rusty_v8
|
||||
version: 135.1.0
|
||||
mtime: 1742748458
|
||||
commit: 9cd584266ff1150c7b30d8b9e792643819ef9431
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user