Hello community,

here is the log from the commit of package arpack-ng for openSUSE:Factory 
checked in at 2020-12-21 10:24:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arpack-ng (Old)
 and      /work/SRC/openSUSE:Factory/.arpack-ng.new.5145 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "arpack-ng"

Mon Dec 21 10:24:39 2020 rev:16 rq:857140 version:3.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/arpack-ng/arpack-ng.changes      2020-07-01 
14:26:27.686724115 +0200
+++ /work/SRC/openSUSE:Factory/.arpack-ng.new.5145/arpack-ng.changes    
2020-12-21 10:27:10.740235762 +0100
@@ -1,0 +2,63 @@
+Thu Dec 10 00:31:22 UTC 2020 - Atri Bhattacharya <badshah...@gmail.com>
+
+- Update to version 3.8.0:
+  * Bug fixes:
+    - bmat return "G" instead of "B" for generalized matrix in
+      arpack.hpp.
+    - pass arrays of chars as scalar in fortran calls in order not
+      to crash when calling subroutines through icb interface.
+    - fix 'Unknown CMake command "check_symbol_exists".' when
+      ICB=ON.
+    - fix arpackdef.h (resp. arpackicb.h) must be included only by
+      C/C++ (resp. F77/F90).
+    - iparam/ipntr sizes may change depending on cases.
+    - ILP64 support: using debug_c and stat_c.
+    - fix check precision which may fail with some ATLAS versions.
+    - fix 'eval: Syntax error: "(" unexpected' error at build
+      time.
+    - ICB using rvec/select: rvec/select turned to integer bool
+      should be, but, is not always supported (depend on compiler,
+      options).
+  * arpackmm:
+    - extract arpackSolver.hpp from arpakmm.cpp.
+    - arpackSolver/arpackmm: switch eigen version to 3.3.
+    - arpackmm: add --slvItrPC option (PC: Jacobi, ILU).
+    - arpackmm: add --slv LLT LDLT (for SPD matrices).
+    - arpackmm: add --simplePrec option (to enable use of s*upd).
+    - arpackmm: add --dense option.
+  * pyarpack: python binding based on Boost.Python.Numpy exposing
+    C++ API.
+  * autotools: provide *.cmake files (in addition to *.pc file).
+  * Only build shared libraries by default.  To build static
+    libraries, use --enable-static (autotools) or
+    -DBUILD_SHARED_LIBS=OFF (cmake).
+  * [CLEAN] arpackSolver API: more convenient, suppress template
+    parameters when possible.
+  * Add parpack.pc and arpackSolver.pc.
+  * Support of gfortran 10.
+- Drop patches incorporated upstream:
+  * arpack-ng-gcc10.patch.
+  * arpack-ng-double-comparison.patch.
+- New patches:
+  * arpack-ng-python-module-installdir.patch to move python
+    module to standard python sitearch.
+- Enable pyarpack: a python interface for arpack-ng, and split it
+  out into a new package: python3-arpack-ng; this module is only
+  built once -- for the serial flavor:
+  * Disabled for i586 (gh#opencollab/arpack-ng#289).
+  * Disbaled for openSUSE < 1550: boost too old.
+- Add _constraints to allow enough memory (12 GB) and disk size
+  (3 GB) required to build pyarpack (only for x86_64, aarch64).
+- Switch to building with cmake:
+  * Add BuildRequires: cmake.
+  * Pass -DCMAKE_INSTALL_<foo> options to suggest correct install
+    paths for different flavors.
+  * CMAKE_CXX_COMPILER_VERSION: GCC version is required to build
+    pyarpack
+  * To work around broken rpath handling in Leap 15.2's macros,
+    pass `-DCMAKE_SKIP_RPATH=OFF -DCMAKE_SKIP_INSTALL_RPATH=ON`
+    (do this on all distro versions as it doesn't hurt)
+- Use arpack-ng-%{version} as the naming format for the source
+  tarball.
+
+-------------------------------------------------------------------

Old:
----
  3.7.0.tar.gz
  arpack-ng-double-comparison.patch
  arpack-ng-gcc10.patch

New:
----
  _constraints
  arpack-ng-3.8.0.tar.gz
  arpack-ng-python-module-installdir.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ arpack-ng.spec ++++++
--- /var/tmp/diff_new_pack.qlYpF1/_old  2020-12-21 10:27:11.528236655 +0100
+++ /var/tmp/diff_new_pack.qlYpF1/_new  2020-12-21 10:27:11.528236655 +0100
@@ -56,6 +56,12 @@
 %{bcond_with hpc}
 %endif
 
+%if "%flavor" == "openmpi4"
+%define mpi_family openmpi
+%define mpi_ver 4
+%{bcond_with hpc}
+%endif
+
 # openmpi 1 was called just "openmpi" in Leap 15.x/SLE15
 %if 0%{?suse_version} >= 1550 || "%{mpi_family}" != "openmpi"  || "%{mpi_ver}" 
!= "1"
 %define mpi_ext %{?mpi_ver}
@@ -77,27 +83,54 @@
 %global my_incdir %{_includedir}
 %endif
 
+# 3. OOM on i586: https://github.com/opencollab/arpack-ng/issues/289
+%ifarch i586
+%bcond_with pyarpack
+%else
+# 2. Boost too old for 15.2 and earlier
+%if 0%{?suse_version} < 1550
+%bcond_with pyarpack
+%else
+# 1. Build python module once: for serial flavor only
+%if %{with mpi}
+%bcond_with pyarpack
+%else
+%bcond_without pyarpack
+%endif
+# /1
+%endif
+# /2
+%endif
+# /3
+
 Name:           %{pkgname}
-Version:        3.7.0
+Version:        3.8.0
 Release:        0
 Summary:        Fortran77 subroutines for solving large scale eigenvalue 
problems
 License:        BSD-3-Clause
 Group:          System/Libraries
 URL:            https://github.com/opencollab/arpack-ng
-Source0:        
https://github.com/opencollab/arpack-ng/archive/%{version}.tar.gz
-# PATCH-FIX-UPSTREAM arpack-ng-gcc10.patch gh#opencollab/arpack-ng#239 
gh#opencollab/arpack-ng#245 badshah...@gmail.com -- Fix building against GCC 
10, patches taken from upstream commits
-Patch0:         arpack-ng-gcc10.patch
-# PATCH-FIX-UPSTREAM arpack-ng-double-comparison.patch 
gh#opencollab/arpack-ng#269 badshah...@gmail.com -- Compare difference to zerop 
to test float equivalence in TESTS/bug_79_double_complex.f; fixes build failure 
for i586
-Patch1:         arpack-ng-double-comparison.patch
+Source0:        
https://github.com/opencollab/arpack-ng/archive/%{version}.tar.gz#/arpack-ng-%{version}.tar.gz
+# PATCH-FEATURE-OPENSUSE arpack-ng-python-module-installdir.patch 
badshah...@gmail.com -- Install python module to standard python sitearch 
instead of libdir
+Patch0:         arpack-ng-python-module-installdir.patch
 %if %{with mpi}
 BuildRequires:  %{mpi_family}%{?mpi_ext}-devel
 %endif
-BuildRequires:  autoconf
 BuildRequires:  blas-devel
+BuildRequires:  cmake
+BuildRequires:  gcc-c++
 BuildRequires:  gcc-fortran
 BuildRequires:  lapack-devel
+BuildRequires:  libopenblas_pthreads-devel
 BuildRequires:  libtool
 BuildRequires:  pkg-config
+BuildRequires:  pkgconfig(eigen3)
+%if %{with pyarpack}
+BuildRequires:  libboost_numpy3-devel
+BuildRequires:  libboost_python3-devel
+BuildRequires:  python3-devel
+BuildRequires:  python3-numpy
+%endif
 
 %description
 ARPACK is a collection of Fortran77 subroutines designed to solve
@@ -139,10 +172,17 @@
 large scale eigenvalue problems. This package contains the so
 library links used for building arpack based applications.
 
+%package -n python3-%{name}
+Summary:        Python bindings for ARPACK
+Group:          Development/Libraries/Python
+
+%description -n python3-%{name}
+ARPACK is a collection of Fortran77 subroutines designed to solve
+large scale eigenvalue problems. This package provides the python
+bindings for ARPACK.
+
 %prep
-%setup -q -n arpack-ng-%{version}
-%patch0 -p1
-%patch1 -p1
+%autosetup -p1 -n arpack-ng-%{version}
 
 # create baselibs.conf based on flavor
 cat >  %{_sourcedir}/baselibs.conf <<EOF
@@ -161,22 +201,26 @@
 export CXXFLAGS="%{optflags} -fPIC"
 
 %if %{with mpi}
+source %{my_prefix}/bin/mpivars.sh
+export CC=%{my_prefix}/bin/mpicc
+export CXX=%{my_prefix}/bin/mpic++
 export F77=%{my_prefix}/bin/mpif77
 export MPIF77=%{my_prefix}/bin/mpif77
 export LD_LIBRARY_PATH=%{my_prefix}/%{_lib}
 %endif
 
-%global orig_prefix %{_prefix}
-%define _prefix %{my_prefix}
-sh bootstrap
-%configure --disable-static \
-          %{?with_mpi: --enable-mpi} \
-          %{nil}
-%define _prefix %{orig_prefix}
-make %{?_smp_mflags}
+%cmake \
+  -DCMAKE_INSTALL_PREFIX:PATH=%{my_prefix} \
+  -DCMAKE_INSTALL_LIBDIR:PATH=%{my_libdir} \
+  -DCMAKE_SKIP_RPATH:BOOL=OFF \
+  -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \
+  -DCMAKE_CXX_COMPILER_VERSION=$(gcc -dumpfullversion) \
+  -DMPI:BOOL=%{?with_mpi:ON}%{!?with_mpi:OFF} \
+  -DPYTHON3:BOOL=%{?with_pyarpack:ON}%{!?with_pyarpack:OFF}
+%cmake_build
 
 %install
-%make_install
+%cmake_install
 find %{buildroot} -type f -name "*.la" -delete -print
 
 # Remove sequential version files
@@ -189,9 +233,9 @@
 
 %check
 %if %{with mpi}
-export PATH="%{my_prefix}/bin/:$PATH"
+source %{my_prefix}/bin/mpivars.sh
 %endif
-%make_build check
+%ctest
 
 %post   -n %{libname}           -p /sbin/ldconfig
 %postun -n %{libname}           -p /sbin/ldconfig
@@ -208,6 +252,14 @@
 %if %{without mpi}
 %dir %{_libdir}/pkgconfig
 %{_libdir}/pkgconfig/*.pc
+%else
+%dir %{my_libdir}/cmake
+%endif
+%{my_libdir}/cmake/arpack-ng/
+
+%if %{with pyarpack}
+%files -n python3-%{name}
+%{python3_sitearch}/*.so
 %endif
 
 %changelog

++++++ _constraints ++++++
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
  <!-- Only for x86_64, aarch64 where pyarpack is built -->
  <overwrite>
    <conditions>
      <arch>x86_64</arch>
      <arch>aarch64</arch>
    </conditions>
    <hardware>
      <disk>
        <size unit="G">3</size>
      </disk>
      <physicalmemory>
        <size unit="G">12</size>
      </physicalmemory>
    </hardware>
  </overwrite>
</constraints>
++++++ arpack-ng-python-module-installdir.patch ++++++
Index: arpack-ng-3.8.0/CMakeLists.txt
===================================================================
--- arpack-ng-3.8.0.orig/CMakeLists.txt
+++ arpack-ng-3.8.0/CMakeLists.txt
@@ -608,8 +608,8 @@ if(ICB)
     target_include_directories(pyarpack PUBLIC ${pyarpack_HDR} 
${EIGEN3_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS})
     target_link_libraries(pyarpack BLAS::BLAS LAPACK::LAPACK 
${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
     install(TARGETS pyarpack
-            ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/pyarpack
-            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/pyarpack)
+            ARCHIVE DESTINATION 
${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages
+            LIBRARY DESTINATION 
${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages)
     
configure_file("${PROJECT_SOURCE_DIR}/EXAMPLES/PYARPACK/pyarpackSparseBiCGDiag.py.in"
 "${CMAKE_BINARY_DIR}/pyarpackSparseBiCGDiag.py" @ONLY)
     add_test(NAME pyarpackSparseBiCGDiag_tst COMMAND ${PYTHON_EXECUTABLE} 
pyarpackSparseBiCGDiag.py)
     set_tests_properties(pyarpackSparseBiCGDiag_tst PROPERTIES ENVIRONMENT 
PYTHONPATH=${CMAKE_BINARY_DIR}/lib:$ENV{PYTHONPATH})
_______________________________________________
openSUSE Commits mailing list -- commit@lists.opensuse.org
To unsubscribe, email commit-le...@lists.opensuse.org
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/commit@lists.opensuse.org

Reply via email to