kokkos/kokkos.spec
Christoph Junghans 1b877244c1 fix install
2019-12-20 12:36:20 -07:00

96 lines
2.7 KiB
RPMSpec

%global git 1
%global commit 6619d83a6d682ee83eabc7d23cf051d0ff77ff61
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: kokkos
Version: 3.0.0
Release: 0.2.20191216git%{shortcommit}%{?dist}
Summary: Kokkos C++ Performance Portability Programming
#no support for 32-bit archs https://github.com/kokkos/kokkos/issues/2312
ExcludeArch: i686 armv7hl
License: BSD
URL: https://github.com/kokkos/kokkos
%if %{git}
Source0: https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
%else
Source0: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
%endif
BuildRequires: gcc-c++
BuildRequires: cmake3 >= 3.0
BuildRequires: hwloc-devel
%global kokkos_desc \
Kokkos Core implements a programming model in C++ for writing performance \
portable applications targeting all major HPC platforms. For that purpose \
it provides abstractions for both parallel execution of code and data \
management. Kokkos is designed to target complex node architectures with \
N-level memory hierarchies and multiple types of execution resources. It \
currently can use OpenMP, Pthreads and CUDA as backend programming models.
%description
%{kokkos_desc}
%package devel
Summary: Development package for %{name} packages
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
%{kokkos_desc}
This package contains the development files of %{name}.
%prep
%if %{git}
%setup -q -n %{name}-%{commit}
%else
%setup -q
%endif
%build
mkdir build
pushd build
%{cmake3} \
-DKokkos_ENABLE_TESTS=On \
-DCMAKE_INSTALL_INCLUDEDIR=include/kokkos \
-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON \
-DKokkos_ENABLE_DEPRECATED_CODE=ON \
-DKokkos_ENABLE_OPENMP=ON \
-DKokkos_ENABLE_SERIAL=ON \
-DKokkos_ENABLE_HWLOC=ON \
..
%make_build
popd
%install
%make_install -C build
%check
# https://github.com/kokkos/kokkos/issues/2613
%global testargs ARGS='-E UnitTest_StackTraceTest'
make -C build test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
%files
%doc README.md
%license LICENSE
%{_libdir}/libkokkos*.so.%{version}
%files devel
%{_libdir}/libkokkos*.so
%{_libdir}/pkgconfig/
%{_libdir}/cmake/Kokkos
%{_includedir}/kokkos
%{_bindir}/nvcc_wrapper
%changelog
* Fri Dec 20 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.2.20191216git6619d83
- bump to latest snapshot and enable Kokkos_ENABLE_DEPRECATED_CODE
- disable StackTrace Unittests
* Sun Sep 29 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.2.20190929git445c176
- bump to latest snapshot and enable AGGRESSIVE_VECTORIZATION
* Wed Sep 18 2019 Christoph Junghans <junghans@votca.org> - 3.0.0-0.1.190912gitd93e239
- initial commit (bug #1751409)