Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:redwil:15.4
pastix
pastix.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pastix.spec of Package pastix
# # spec file for package pastix # # Copyright (c) 2023 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/ # %global flavor @BUILD_FLAVOR@%{nil} %define pname pastix %define pastix_so_ver 6_2 %define spm_so_ver 1 %global _lto_cflags %{_lto_cflags} -ffat-lto-objects %if "%{flavor}" == "" %undefine mpi_family %endif %if "%{flavor}" == "openmpi4" %define mpi_family openmpi %define mpi_ver 4 %bcond_with hpc %endif %if "%{flavor}" == "openmpi5" %define mpi_family openmpi %define mpi_ver 5 %bcond_with hpc %endif %if "%{flavor}" == "mvapich2" %define mpi_family mvapich2 %bcond_with hpc %endif %{?mpi_family:%{bcond_without mpi}}%{!?mpi_family:%{bcond_with mpi}} %define mpi_ext %{?mpi_ver} %if %{without mpi} %define my_prefix %_prefix %define my_bindir %_bindir %define my_libdir %_libdir %define my_incdir %_includedir %define my_datadir %_datadir %else %define my_suffix -%{mpi_family}%{?mpi_ext} %define my_prefix %{_libdir}/mpi/gcc/%{mpi_family}%{?mpi_ext} %define my_bindir %{my_prefix}/bin %define my_libdir %{my_prefix}/%{_lib} %define my_incdir %{my_prefix}/include %define my_datadir %{my_prefix}/share %endif %define libname() lib%{1}%{expand:%{%{1}_so_ver}}%{?my_suffix} Name: pastix%{?my_suffix} Summary: A high performance parallel solver for very large sparse linear systems License: CECILL-C Group: Development/Libraries/C and C++ Version: 6.2.2 Release: 0 URL: https://solverstack.gitlabpages.inria.fr/pastix/ Source: https://gitlab.inria.fr/solverstack/pastix//uploads/d579e932b415103974ced5d216481332/pastix-6.2.2.tar.gz BuildRequires: blas-devel BuildRequires: cblas-devel BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: hwloc-devel BuildRequires: lapack-devel BuildRequires: lapacke-devel BuildRequires: python3-base %if %{with mpi} BuildRequires: %{mpi_family}%{?mpi_ext}-devel BuildRequires: ptscotch%{my_suffix}-devel %else BuildRequires: scotch-devel %endif %description PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance parallel solver for very large sparse linear systems based on direct methods. %package -n %{libname pastix} Summary: PaStiX share libraries Group: System/Libraries %description -n %{libname pastix} PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance parallel solver for very large sparse linear systems based on direct methods. %package -n %{libname spm} Summary: SPM shared library Group: System/Libraries %description -n %{libname spm} SPM (SParse Matrix package) is a scientific library that provides basic operation coverage to manipulate sparse matrices in CSC, CSR, and IJV format. %package devel Summary: Devel files for %{name} Group: Development/Libraries/C and C++ Requires: %{libname pastix} = %{version} Requires: %{libname spm} = %{version} %if %{with mpi} Requires: %{mpi_family}%{?mpi_ext}-devel Requires: ptscotch%{my_suffix}-devel %else Requires: scotch-devel %endif %description devel PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance parallel solver for very large sparse linear systems based on direct methods. %prep %setup -q -n %{pname}-%{version} # Unfortunately, a mix of $LIB_INSTALL_DIR and "lib" is used find . -type f -iname \*CMakeLists.txt -exec \ sed -i -e 's,DESTINATION lib,DESTINATION %{_lib},' '{}' \; echo 'set_target_properties( pastix_kernels PROPERTIES VERSION ${PASTIX_VERSION} SOVERSION ${PASTIX_VERSION_MAJOR}.${PASTIX_VERSION_MINOR} )' \ >> kernels/CMakeLists.txt %build %cmake \ -DCMAKE_INSTALL_PREFIX=%{my_prefix} \ -DPASTIX_INT64:BOOL=OFF \ -DPASTIX_WITH_MPI:BOOL=%{?with_mpi:ON}%{!?with_mpi:OFF} \ -DPASTIX_WITH_FORTRAN:BOOL=OFF \ -DSPM_WITH_FORTRAN:BOOL=OFF \ -DLIB_INSTALL_DIR=%{_lib} \ -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \ %{nil} %cmake_build %install %cmake_install # Remove broken pkgconfig files and env setup script rm -Rf %{buildroot}%{my_prefix}/lib/pkgconfig rm -Rf %{buildroot}%{my_bindir}/pastix_env.sh rm -Rf %{buildroot}%{my_prefix}/examples rm -Rf %{buildroot}%{my_libdir}/{julia,python} %post -n %{libname pastix} -p /sbin/ldconfig %postun -n %{libname pastix} -p /sbin/ldconfig %post -n %{libname spm} -p /sbin/ldconfig %postun -n %{libname spm} -p /sbin/ldconfig %files -n %{libname pastix} %{my_libdir}/libpas*.so.* %files -n %{libname spm} %{my_libdir}/libspm*.so.* %files devel %{my_incdir}/* %{my_libdir}/*.so %{?with_mpi:%dir %{my_libdir}/cmake} %{my_libdir}/cmake/pastix %{my_libdir}/cmake/spm %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor