File rusty_v8.spec of Package rusty_v8

# spec file for package rusty_v8
# Copyright (c) 2024 SUSE LLC
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           rusty_v8
Version:        0.98.0
Release:        0
Summary:        Build tooling for Deno (do not install or use!)
License:        MIT
Group:          Productivity/Other
Source0:        %{name}-%{version}.tar.xz
Source1:        vendor.tar.xz
Source2:        cargo_config
Patch0:         deno-v8-arm.patch
BuildRequires:  cargo-packaging
BuildRequires:  clang
BuildRequires:  gn
BuildRequires:  lld
BuildRequires:  llvm
BuildRequires:  ninja
BuildRequires:  pkgconfig
BuildRequires:  python3-base
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gmodule-2.0)
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(gthread-2.0)
%ifarch ppc64 # wants g++ for some reason
BuildRequires:  gcc-c++

V8 build tooling for Deno. This represents all of the common
cruft that is dragged along into the deno build from V8,
Chromium, etc.

%autosetup -a1 -p1
mkdir -p .cargo
cp %{SOURCE2} .cargo/config

export V8_FROM_SOURCE=1
export CLANG_BASE_PATH=%{_prefix}
# note: built in debug mode to
# emit symbols for linker in deno build
export GN_ARGS="is_debug=true"
%{__cargo} build %{__cargo_common_opts}

mkdir -p %{buildroot}%{_libdir}
cp target/debug/*.rlib %{buildroot}%{_libdir}

%license LICENSE

openSUSE Build Service is sponsored by