## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global genname superlumt %global majorver 4.0 %global soname_version %{version} %ifarch %{ix86} %bcond_with longint %else %bcond_without longint %endif %bcond_without check Name: SuperLUMT Version: %{majorver}.2 Release: %autorelease Summary: Single precision real SuperLU routines for shared memory parallel machines License: BSD-3-Clause URL: https://portal.nersc.gov/project/sparse/superlu/ Source0: https://github.com/xiaoyeli/superlu_mt/archive/refs/tags/v%{version}/superlu_mt-%{version}.tar.gz BuildRequires: cmake BuildRequires: make BuildRequires: pkgconfig(flexiblas) BuildRequires: pkgconfig BuildRequires: tcsh BuildRequires: gcc BuildRequires: gcc-gfortran Requires: %{name}-common = %{version}-%{release} # This patch removes the `_OPENMP` suffix and produces a versioned library Patch0: %{name}-rename_shared_libraries.patch # This patch produces a versioned 64bit library Patch1: %{name}64-build_shared.patch # https://github.com/xiaoyeli/superlu_mt/commit/e60ed2c1dd491e1832d783f519c1851288f9d422 Patch2: %{name}64-resolve_prototype_mismatches.patch %description Subroutines to solve sparse linear systems for shared memory parallel machines. SuperLU contains a set of subroutines to solve a sparse linear system A*X=B. It uses Gaussian elimination with partial pivoting (GEPP). The columns of A may be preordered before factorization; the preordering for sparsity is completely separate from the factorization. %package devel Summary: The SuperLUMT headers and development-related files Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: SuperLUMT-double < 0:4.0.2-1 Obsoletes: SuperLUMT-complex < 0:4.0.2-1 Obsoletes: SuperLUMT-complex16 < 0:4.0.2-1 %description devel Shared links and header files used by SuperLUMT. ######################################################## %if %{with longint} %package -n SuperLUMT64 Summary: Single precision real SuperLU routines (64bit INTEGER) # Upstream: SuperLU_MT always uses 32-bit BLAS, even when LONINT is defined. BuildRequires: pkgconfig(flexiblas) Requires: %{name}-common = %{version}-%{release} %description -n SuperLUMT64 Subroutines to solve sparse linear systems for shared memory parallel machines (64bit INTEGER). SuperLU contains a set of subroutines to solve a sparse linear system A*X=B. It uses Gaussian elimination with partial pivoting (GEPP). The columns of A may be preordered before factorization; the preordering for sparsity is completely separate from the factorization. %package -n SuperLUMT64-devel Summary: The SuperLUMT64 headers and development-related files (64bit INTEGER) Obsoletes: SuperLUMT64-double < 0:4.0.2-1 Obsoletes: SuperLUMT64-complex < 0:4.0.2-1 Obsoletes: SuperLUMT64-complex16 < 0:4.0.2-1 %description -n SuperLUMT64-devel Shared links, header files for SuperLUMT (64bit INTEGER). %endif ########################################################## %package common Summary: Documentation files for SuperLUMT BuildArch: noarch %description common This package contains common documentation files for SuperLUMT. %prep %setup -qc find . -type f | sed -e "/TESTING/d" | xargs chmod a-x # Remove the shippped executables from EXAMPLE find EXAMPLE -type f | while read file do [ "$(file $file | awk '{print $2}')" = ELF ] && rm $file || : done # Remove bundled CBLAS source files rm -rf CBLAS pushd superlu_mt-%{version} %patch -P 0 -p1 -b .backup0 %patch -P 2 -p1 -b .backup2 popd %if %{with longint} cp -a superlu_mt-%{version} superlu_mt64-%{version} pushd superlu_mt64-%{version} %patch -P 1 -p1 -b .backup1 popd %endif %build ## Build 32bit library ## pushd superlu_mt-%{version} export LDFLAGS="%{__global_ldflags} -fPIC" export CFLAGS="$RPM_OPT_FLAGS -std=gnu17 -fPIC -fopenmp -I%{_includedir}/flexiblas" %cmake -DPLAT:STRING=_OPENMP -DSUPERLUMT_INSTALL_INCLUDEDIR:STRING=%{_includedir}/%{name} \ -Denable_fortran:BOOL=ON -DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--copy-dt-needed-entries \ -DBLAS_flexiblas_LIBRARY:FILEPATH=%{_libdir}/libflexiblas.so \ -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DLONGINT:BOOL=OFF \ %if %{without check} -Denable_tests:BOOL=OFF -Denable_examples:BOOL=OFF %endif %cmake_build popd ######################### ## Build 64bit library ## %if %{with longint} pushd superlu_mt64-%{version} export LDFLAGS="%{__global_ldflags} -fPIC -lflexiblas" export CFLAGS="$RPM_OPT_FLAGS -std=gnu17 -fPIC -fopenmp -I%{_includedir}/flexiblas" %cmake -DPLAT:STRING=_OPENMP -DSUPERLUMT_INSTALL_INCLUDEDIR:STRING=%{_includedir}/%{name}64 \ -Denable_fortran:BOOL=ON -DCMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--copy-dt-needed-entries \ -DLONGINT:BOOL=ON -DBLAS_flexiblas_LIBRARY:FILEPATH=%{_libdir}/libflexiblas.so \ -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \ %if %{without check} -Denable_tests:BOOL=OFF -Denable_examples:BOOL=OFF %endif %cmake_build popd %endif ########################## %if %{with check} %check pushd superlu_mt-%{version} export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:MATGEN %ctest popd %if %{with longint} pushd superlu_mt64-%{version} export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:MATGEN %ctest popd %endif %endif %install pushd superlu_mt-%{version} %cmake_install popd %if %{with longint} pushd superlu_mt64-%{version} %cmake_install popd %endif %files %{_libdir}/libsuperlu_mt.so.4 %{_libdir}/libsuperlu_mt.so.%{majorver} %files devel %{_includedir}/%{name}/ %{_libdir}/libsuperlu_mt.so %if %{with longint} %files -n SuperLUMT64 %{_libdir}/libsuperlu_mt64.so.4 %{_libdir}/libsuperlu_mt64.so.%{majorver} %files -n SuperLUMT64-devel %{_includedir}/%{name}64/ %{_libdir}/libsuperlu_mt64.so %endif %files common %license superlu_mt-%{version}/License.txt %doc superlu_mt-%{version}/DOC superlu_mt-%{version}/README %changelog ## START: Generated by rpmautospec * Wed Jul 15 2026 Fedora Release Engineering - 4.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Wed May 20 2026 Antonio Trande - 4.0.2-1 - Release 4.0.2 * Fri Jan 16 2026 Fedora Release Engineering - 4.0.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Fri Jan 16 2026 Fedora Release Engineering - 4.0.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Wed Jul 23 2025 Fedora Release Engineering - 4.0.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Fri Jan 17 2025 Antonio Trande - 4.0.1-5 - Fix GCC15 builds * Thu Jan 16 2025 Fedora Release Engineering - 4.0.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Wed Jul 17 2024 Fedora Release Engineering - 4.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Mon May 20 2024 Antonio Trande - 4.0.1-2 - Rebuild i686 rpms * Sun May 19 2024 Antonio Trande - 4.0.1-1 - Release 4.0.1 * Sat May 18 2024 Antonio Trande - 3.1.0-45 - Fix patch commands * Mon Jan 22 2024 Fedora Release Engineering - 3.1.0-44 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 3.1.0-43 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jul 19 2023 Fedora Release Engineering - 3.1.0-42 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Wed Jan 18 2023 Fedora Release Engineering - 3.1.0-41 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Wed Jan 18 2023 Florian Weimer - 3.1.0-40 - C99 compatibility fixes * Wed Jul 20 2022 Fedora Release Engineering - 3.1.0-39 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Wed Jan 19 2022 Fedora Release Engineering - 3.1.0-38 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Jul 21 2021 Fedora Release Engineering - 3.1.0-37 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Wed Jul 21 2021 Fedora Release Engineering - 3.1.0-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Mon Jan 25 2021 Fedora Release Engineering - 3.1.0-35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jan 12 2021 Tom Stellard - 3.1.0-34 - Add BuildRequires: make * Sat Aug 01 2020 Fedora Release Engineering - 3.1.0-33 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 3.1.0-32 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sat Jul 25 2020 Iñaki Úcar - 3.1.0-31 - https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager * Sat Mar 21 2020 sagitter - 3.1.0-30 - Do not mix-up pthread and openmp support * Tue Jan 28 2020 Fedora Release Engineering - 3.1.0-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Oct 24 2019 sagitter - 3.1.0-28 - Remove -gomp flags * Thu Oct 24 2019 sagitter - 3.1.0-27 - Optimize OpenMP flags * Wed Oct 23 2019 sagitter - 3.1.0-26 - Undefine --as-needed link option * Sat Sep 07 2019 Orion Poplawski - 3.1.0-25 - Only need dts for EL7 * Wed Jul 24 2019 Fedora Release Engineering - 3.1.0-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sat Jun 29 2019 sagitter - 3.1.0-23 - Downgrading Make's jobs * Sat Jun 29 2019 sagitter - 3.1.0-22 - Use devtoolset-8 on epel * Tue Feb 19 2019 sagitter - 3.1.0-21 - Use openblas always * Thu Jan 31 2019 Fedora Release Engineering - 3.1.0-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Mon Jan 28 2019 Igor Gnatenko - 3.1.0-19 - Fix RHEL conditions * Thu Aug 23 2018 Peter Robinson - 3.1.0-18 - Drop group, Build on all arches * Thu Jul 12 2018 Fedora Release Engineering - 3.1.0-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 21 2018 sagitter - 3.1.0-16 - Add gcc BR * Thu Feb 15 2018 sagitter - 3.1.0-15 - Use %%%%ldconfig_scriptlets * Thu Feb 15 2018 sagitter - 3.1.0-14 - Rebuild for libsbml-5.16.0 * Wed Feb 07 2018 Fedora Release Engineering - 3.1.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Oct 30 2017 sagitter - 3.1.0-12 - Rebuild against openblas * Wed Aug 16 2017 sagitter - 3.1.0-11 - Rebuild for lapack 3.7.1 (move to 64_ suffix) * Wed Aug 16 2017 sagitter - 3.1.0-10 - Rebuild for lapack 3.7.1 * Wed Aug 02 2017 Fedora Release Engineering - 3.1.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 3.1.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 3.1.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Oct 05 2016 sagitter - 3.1.0-6 - Built against blas on s390x (bz#1382071) * Fri Aug 12 2016 Peter Robinson - 3.1.0-5 - Update to the latest openblas arch list * Wed May 04 2016 sagitter - 3.1.0-4 - Dropped Fortran dependencies * Wed May 04 2016 sagitter - 3.1.0-3 - Dropped Fortran dependiencies * Thu Apr 14 2016 sagitter - 3.1.0-2 - Excluded ppc64le arch * Tue Apr 12 2016 sagitter - 3.1.0-1 - New package (bz#1322846) ## END: Generated by rpmautospec