代码拉取完成,页面将自动刷新
Name: seastar
Version: 18.08.0
Release: 1
Summary: an event-driven framework
License: Apache License 2.0
URL: http://seastar.io
Source0: https://github.com/scylladb/seastar/archive/%{name}-%{version}.tar.gz
Source1: https://github.com/DPDK/dpdk/archive/v17.05.tar.gz
Source2: https://github.com/fmtlib/fmt/archive/4.0.0.tar.gz
Source3: https://github.com/c-ares/c-ares/archive/cares-1_13_0.tar.gz
Source4: lib.tar.gz
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
BuildRequires: gcc, gcc-c++, boost, boost-devel, cmake, ninja-build, python, python-devel, cryptopp, cryptopp-devel, libstdc++-static, gnutls-devel, hwloc-devel, numactl-devel, protobuf, protobuf-devel, ragel, yaml-cpp, yaml-cpp-devel, xfsprogs, xfsprogs-devel, lksctp-tools, lksctp-tools-devel, lz4, lz4-devel, libpciaccess, libpciaccess-devel, libxml2, libxml2-devel
Requires: seastar-devel, cryptopp, cryptopp-devel, gnutls, gnutls-devel, hwloc, hwloc-devel, numactl, numactl-devel, protobuf, protobuf-devel, yaml-cpp, yaml-cpp-devel, lksctp-tools, lksctp-tools-devel, lz4, lz4-devel, libpciaccess, libpciaccess-devel, libxml2, libxml2-devel
%global _enable_debug_package 0
%global debug_package %{nil}
%description
seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware.
Seastar is used in Scylla, a high-performance NoSQL database compatible with Apache Cassandra.
Applications using Seastar can run on Linux or OSv.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
%description devel
This package contains the header files and libraries for developing with %{name}.
%prep
%autosetup -n seastar-%{name}-%{version}
cd ..
rm -rf %{name}-%{version}
mv seastar-%{name}-%{version} %{name}-%{version}
cd %{name}-%{version}
%setup -q -T -D -a 1
rm -rf dpdk; mv dpdk-17.05 dpdk
%setup -q -T -D -a 2
rm -rf fmt; mv fmt-4.0.0 fmt
%setup -q -T -D -a 3
rm -rf c-ares; mv c-ares-cares-1_13_0 c-ares
%setup -q -T -D -a 4
%build
./configure.py --cflags="-Wno-missing-attributes -Wno-attributes" --ldflags="-L`pwd`/lib/`uname -p`/" --compiler=g++ --static-stdc++
ninja-build release
#ninja-build -j2 release
%install
# doc
mkdir -p %{buildroot}/%{_datadir}/licenses/seastar/
cp -a %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/%{_datadir}/licenses/seastar/
# system lib file
mkdir -p %{buildroot}/%{_libdir}/%{name}/
cp -a %{_builddir}/%{name}-%{version}/lib/`uname -p`/* %{buildroot}/%{_libdir}/%{name}/
# lib file
cp -a %{_builddir}/%{name}-%{version}/build/release/lib*.a %{buildroot}/%{_libdir}/%{name}/
cp -a %{_builddir}/%{name}-%{version}/build/release/c-ares/lib/lib*.a %{buildroot}/%{_libdir}/%{name}/
cp -a %{_builddir}/%{name}-%{version}/build/release/fmt/fmt/lib*.a %{buildroot}/%{_libdir}/%{name}/
# include file
mkdir -p %{buildroot}/%{_includedir}/%{name}/c-ares
cp -a %{_builddir}/%{name}-%{version}/c-ares/*.h %{buildroot}/%{_includedir}/%{name}/c-ares/
cp -a %{_builddir}/%{name}-%{version}/build/release/c-ares/*.h %{buildroot}/%{_includedir}/%{name}/c-ares/
mkdir -p %{buildroot}/%{_includedir}/%{name}/core/
cp -a %{_builddir}/%{name}-%{version}/core/*.hh %{buildroot}/%{_includedir}/%{name}/core/
mkdir -p %{buildroot}/%{_includedir}/%{name}/fmt
cp -a %{_builddir}/%{name}-%{version}/fmt/fmt/*.h %{buildroot}/%{_includedir}/%{name}/fmt/
mkdir -p %{buildroot}/%{_includedir}/%{name}/http
cp -a %{_builddir}/%{name}-%{version}/http/*.hh %{buildroot}/%{_includedir}/%{name}/http/
mkdir -p %{buildroot}/%{_includedir}/%{name}/json
cp -a %{_builddir}/%{name}-%{version}/json/*.hh %{buildroot}/%{_includedir}/%{name}/json/
mkdir -p %{buildroot}/%{_includedir}/%{name}/net
cp -a %{_builddir}/%{name}-%{version}/net/*.hh %{buildroot}/%{_includedir}/%{name}/net/
mkdir -p %{buildroot}/%{_includedir}/%{name}/rpc
cp -a %{_builddir}/%{name}-%{version}/rpc/*.hh %{buildroot}/%{_includedir}/%{name}/rpc/
mkdir -p %{buildroot}/%{_includedir}/%{name}/util
cp -a %{_builddir}/%{name}-%{version}/util/*.hh %{buildroot}/%{_includedir}/%{name}/util/
mkdir -p %{buildroot}/%{_includedir}/%{name}/gen/
cp -ar %{_builddir}/%{name}-%{version}/build/release/gen/* %{buildroot}/%{_includedir}/%{name}/gen/
# generate pc file
cat << EOF > %{buildroot}/%{_libdir}/%{name}/seastar.pc
Name: Seastar
URL: http://seastar-project.org/
Description: Advanced C++ framework for high-performance server applications on modern hardware.
Version: 1.0
Libs: -L%{_libdir}/%{name} -Wl,--whole-archive,-lseastar,--no-whole-archive -lfmt -std=gnu++17 -g -Wall -Werror -Wno-error=deprecated-declarations -fvisibility=hidden -Wno-attributes -pthread -I%{_includedir}/%{name} -U_FORTIFY_SOURCE -fconcepts -DBOOST_TEST_DYN_LINK -Wno-ignored-attributes -Wno-overloaded-virtual -Wno-maybe-uninitialized -Wno-error=cpp -Wno-stringop-overflow -DSEASTAR_HAVE_GCC6_CONCEPTS -DSEASTAR_HAVE_HWLOC -DSEASTAR_HAVE_NUMA -DSEASTAR_HAS_MEMBARRIER -DSEASTAR_HAVE_LZ4_COMPRESS_DEFAULT -DSEASTAR_HAVE_ASAN_FIBER_SUPPORT -Wl,--no-as-needed -lboost_program_options -lboost_system -lboost_filesystem -lstdc++ -lm -lstdc++fs -lboost_thread -lcryptopp -lrt -lgnutls -lgnutlsxx -llz4 -lprotobuf -ldl -lgcc_s -lyaml-cpp -lhwloc -lnuma -lpciaccess -lxml2 -lz -lcares-seastar -lfmt
Cflags: -std=gnu++17 -g -Wall -Werror -Wno-error=deprecated-declarations -fvisibility=hidden -Wno-attributes -pthread -I%{_includedir}/%{name} -U_FORTIFY_SOURCE -fconcepts -DBOOST_TEST_DYN_LINK -Wno-ignored-attributes -Wno-overloaded-virtual -Wno-maybe-uninitialized -Wno-error=cpp -Wno-stringop-overflow -DSEASTAR_HAVE_GCC6_CONCEPTS -DSEASTAR_HAVE_HWLOC -DSEASTAR_HAVE_NUMA -DSEASTAR_HAS_MEMBARRIER -DSEASTAR_HAVE_LZ4_COMPRESS_DEFAULT -DSEASTAR_HAVE_ASAN_FIBER_SUPPORT -O2 -I%{_includedir}/%{name}/gen -I%{_includedir}/%{name}/c-ares
EOF
%files
%{_datadir}/licenses/seastar/LICENSE
%{_libdir}/%{name}/*
# %%{_libdir}/libstdc++fs.a
# %%{_libdir}/libubsan.a
%files devel
%{_datadir}/licenses/seastar/LICENSE
%{_includedir}/%{name}/*
%changelog
* Tue Sep 8 2020 <zhangguang@talkweb.com.cn>
- Package init
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。