From 57a6cb51c219925dcb3fcb7ec5617f0c4dc046a6 Mon Sep 17 00:00:00 2001 From: JinWang An Date: Tue, 30 Mar 2021 21:54:48 +0900 Subject: [PATCH] Add packaging files for build Change-Id: I4b02711c345b0f6ad18101d7c3e9be86bbae6675 Signed-off-by: JinWang An --- packaging/gn.manifest | 6 +++++ packaging/gn.spec | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 packaging/gn.manifest create mode 100644 packaging/gn.spec diff --git a/packaging/gn.manifest b/packaging/gn.manifest new file mode 100644 index 0000000..81ace0c --- /dev/null +++ b/packaging/gn.manifest @@ -0,0 +1,6 @@ + + + + + + diff --git a/packaging/gn.spec b/packaging/gn.spec new file mode 100644 index 0000000..d30134f --- /dev/null +++ b/packaging/gn.spec @@ -0,0 +1,73 @@ +# +# spec file for package gn +# +# Copyright (c) 2020 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 https://bugs.opensuse.org/ +# + +Name: gn +Version: 20210313 +Release: 0 +Summary: A meta-build system that generates build files for Ninja +License: BSD-3-Clause +URL: https://gn.googlesource.com/ +#Source: https://dev.gentoo.org/~floppym/dist/%{name}-%{version}.tar.xz +Source0: %{name}-%{version}.tar.gz +Source1001: gn.manifest +BuildRequires: gcc-c++ +BuildRequires: ninja +BuildRequires: python3-base +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +%description +GN is a meta-build system that generates build files for Ninja. + +%prep +%setup -q + +%build +cp %{SOURCE1001} . +export CC=gcc +export CXX=g++ +export AR=ar +export CXXFLAGS="%{optflags}" + +# bootstrap +python3 build/gen.py \ + --no-strip \ + --no-last-commit-position \ + --no-static-libstdc++ +PV=%{version} +cat >out/last_commit_position.h <<-EOF + #ifndef OUT_LAST_COMMIT_POSITION_H_ + #define OUT_LAST_COMMIT_POSITION_H_ + #define LAST_COMMIT_POSITION_NUM ${PV##0.} + #define LAST_COMMIT_POSITION "${PV}" + #endif // OUT_LAST_COMMIT_POSITION_H_ +EOF + +ninja -C out %{?_smp_mflags} gn + +%check +ninja -C out %{?_smp_mflags} gn_unittests +./out/gn_unittests + +%install +install -Dm 0755 out/%{name} %{buildroot}%{_bindir}/%{name} + +%files +%license LICENSE +%{_bindir}/%{name} + +%changelog -- 2.7.4