Browse Source

2015-02-22 Ryoichi INAGAKI <ryo1@toki.waseda.jp>

	* eigen3: NEW
	* gphoto2, suiteparse: updated
	


git-svn-id: http://trac.vinelinux.org/repos/projects/specs@9372 ec354946-7b23-47d6-9f5a-488ba84defc7
inagaki 9 years ago
parent
commit
db20448f21
3 changed files with 434 additions and 134 deletions
  1. 199 0
      e/eigen3/eigen3-vl.spec
  2. 26 22
      g/gphoto2/gphoto2-vl.spec
  3. 209 112
      s/suitesparse/suitesparse-vl.spec

+ 199 - 0
e/eigen3/eigen3-vl.spec

@@ -0,0 +1,199 @@
+# The (empty) main package is arch, to have the package built and tests run
+# on all arches, but the actual result package is the noarch -devel subpackge.
+# Debuginfo packages are disabled to prevent rpmbuild from generating an empty
+# debuginfo package for the empty main package.
+%global debug_package %{nil}
+
+%global commit 10219c95fe65
+
+Name:           eigen3
+Version:        3.2.4
+Release:        2%{?_dist_release}
+Summary:        A lightweight C++ template library for vector and matrix math
+Summary(ja):    ベクトル及び行列演算のための軽量 C++ テンプレートライブラリ
+
+Group:          Development/Libraries
+License:        MPLv2.0 and LGPLv2+ and BSD
+URL:            http://eigen.tuxfamily.org/index.php?title=Main_Page
+# Source file is at: http://bitbucket.org/eigen/eigen/get/3.1.3.tar.bz2
+# Renamed source file so it's not just a version number
+Source0:        eigen-%{version}.tar.bz2
+
+# Fix build with recent suitesparse versions
+Patch0:         eigen-3.2.3_suitesparse.patch
+
+# Vine Patch
+Patch700:       eigen-3.2.4_BVHsegfault.patch
+
+#BuildRequires:  atlas-devel
+BuildRequires:  fftw3-devel
+BuildRequires:  glew-devel
+BuildRequires:  gmp-devel
+BuildRequires:  gsl-devel
+BuildRequires:  mpfr-devel
+#BuildRequires:  sparsehash-devel
+BuildRequires:  suitesparse-devel
+BuildRequires:  gcc-gfortran
+#BuildRequires:  SuperLU-devel
+BuildRequires:  qt4-devel
+
+BuildRequires:  cmake
+BuildRequires:  doxygen
+BuildRequires:  graphviz
+BuildRequires:  texlive-collection-latex
+#BuildRequires:  tex(latex)
+
+%description
+%{summary}.
+
+%package devel
+Summary:        A lightweight C++ template library for vector and matrix math
+Summary(ja):    ベクトル及び行列演算のための軽量 C++ テンプレートライブラリ
+Group:          Development/Libraries
+BuildArch:      noarch
+# -devel subpkg only atm, compat with other distros
+Provides:       %{name} = %{version}-%{release}
+# not *strictly* a -static pkg, but the results are the same
+Provides:       %{name}-static = %{version}-%{release}
+
+%description devel
+%{summary}.
+
+%package doc
+Summary:        Developer documentation for Eigen
+Summary(ja):    Eigen の開発用ドキュメント
+Group:          Documentation
+BuildArch:      noarch
+Requires:       %{name}-devel = %{version}-%{release}
+
+%description doc
+Developer documentation for Eigen.
+
+%prep
+%setup -q -n eigen-eigen-%{commit}
+%patch0 -p1
+
+%patch700 -p1
+
+%build
+mkdir %{_target_platform}
+pushd %{_target_platform}
+#cmake .. -DBLAS_LIBRARIES="cblas" -DSUPERLU_INCLUDES=%{_includedir}/SuperLU
+%cmake .. -DBLAS_LIBRARIES="cblas" 
+popd
+make -C %{_target_platform} %{?_smp_mflags}
+make doc -C %{_target_platform} %{?_smp_mflags}
+
+rm -f %{_target_platform}/doc/html/installdox
+rm -f %{_target_platform}/doc/html/unsupported/installdox
+
+%install
+rm -rf %{buildroot}
+%make_install -C %{_target_platform}
+
+%check
+# Run tests but make failures non-fatal. Note that upstream doesn't expect the
+# tests to pass consistently since they're seeded randomly.
+make -C %{_target_platform} %{?_smp_mflags} buildtests
+make -C %{_target_platform} %{?_smp_mflags} test ARGS="-V" || exit 0
+
+%clean
+rm -rf %{buildroot}
+
+%files devel
+%doc COPYING.README COPYING.BSD COPYING.MPL2 COPYING.LGPL
+%{_includedir}/eigen3
+%{_datadir}/pkgconfig/*
+
+%files doc
+%doc %{_target_platform}/doc/html
+
+%changelog
+* Tue Feb 17 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 3.2.4-2
+- Initial build for Vine Linux
+
+* Thu Jan 22 2015 Sandro Mani <manisandro@gmail.com> - 3.2.4-1
+- Update to release 3.2.4
+
+* Mon Jan 05 2015 Rich Mattes <richmattes@gmail.com> - 3.2.3-2
+- Backport upstream Rotation2D fix
+
+* Thu Dec 18 2014 Sandro Mani <manisandro@gmail.com> - 3.2.3-1
+- Update to release 3.2.3
+- Drop upstreamed eigen3-ppc64.patch
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Mon Aug 04 2014 Sandro Mani <manisandro@gmail.com> - 3.2.2-1
+- Update to release 3.2.2
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Tue Mar 11 2014 Orion Poplawski <orion@cora.nwra.com> - 3.2.1-4
+- Add ppc64 support
+
+* Thu Feb 27 2014 Sandro Mani <manisandro@gmail.com> - 3.2.1-3
+- Make doc package noarch
+
+* Thu Feb 27 2014 Sandro Mani <manisandro@gmail.com> - 3.2.1-2
+- Split off doc to a separate package
+
+* Wed Feb 26 2014 Sandro Mani <manisandro@gmail.com> - 3.2.1-1
+- Udpate to release 3.2.1
+
+* Sun Aug 11 2013 Sandro Mani <manisandro@gmail.com> - 3.2-3
+- Build and run tests
+- Drop -DBLAS_LIBRARIES_DIR, not used
+- Add some BR to enable tests of corresponding backends
+- spec cleanup
+
+* Wed Jul 24 2013 Sandro Mani <manisandro@gmail.com> - 3.2-1
+- Update to release 3.2
+
+* Sat Jun 29 2013 Rich Mattes <richmattes@gmail.com> - 3.1.3-2
+- Add upstream patch to fix malloc/free bugs (rhbz#978971)
+
+* Fri Apr 19 2013 Sandro Mani <manisandro@gmail.com> - 3.1.3-1
+- Update to release 3.1.3
+- Add patch for unused typedefs warning with gcc4.8
+
+* Tue Mar 05 2013 Rich Mattes <richmattes@gmail.com> - 3.1.2-1
+- Update to release 3.1.2
+
+* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sat Jul 28 2012 Tim Niemueller <tim@niemueller.de> - 3.0.6-1
+- Update to release 3.0.6 (fixes GCC 4.7 warnings)
+
+* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sun Mar 11 2012 Rich Mattes <richmattes@gmail.com> - 3.0.5-1
+- Update to release 3.0.5
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sun Dec 18 2011 Rich Mattes <richmattes@gmail.com> - 3.0.4-1
+- Update to release 3.0.4
+
+* Tue Nov 15 2011 Rich Mattes <richmattes@gmail.com> - 3.0.3-1
+- Update to release 3.0.3
+
+* Sun Apr 17 2011 Rich Mattes <richmattes@gmail.com> - 3.0.0-2
+- Patched sources to fix build failure
+- Removed fixes made upstream
+- Added project name to source tarball filename
+
+* Sat Mar 26 2011 Rich Mattes <richmattes@gmail.com> - 3.0.0-1
+- Update to release 3.0.0
+
+* Tue Jan 25 2011 Rich Mattes <richmattes@gmail.com> - 3.0-0.2.beta2
+- Change blas-devel buildrequirement to atlas-devel
+- Don't make the built-in experimental blas library
+
+* Mon Jan 24 2011 Rich Mattes <richmattes@gmail.com> - 3.0-0.1.beta2
+- Initial package

+ 26 - 22
g/gphoto2/gphoto2-vl.spec

@@ -1,29 +1,27 @@
-Summary: Software for accessing digital cameras
-Summary(ja): デジタルカメラにアクセスするためのソフトウェア
-Name: gphoto2
-Version: 2.5.0
-Release: 1%{?_dist_release}
-License: GPL
-Group: Applications/Multimedia
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Source: http://prdownloads.sourceforge.net/gphoto/%{name}-%{version}.tar.bz2
-URL: http://www.gphoto.org/
-ExcludeArch: s390 s390x
+Summary:       Software for accessing digital cameras
+Summary(ja):   デジタルカメラにアクセスするためのソフトウェア
+Name:          gphoto2
+Version:       2.5.6
+Release:       1%{?_dist_release}
 
-Requires: grep, fileutils
-Provides: libgphoto2 = %{version}-%{release}
-BuildRequires: libgphoto2-devel >= 2.5.0
-BuildRequires: libusb-devel >= 0.1.11
-BuildRequires: libexif-devel >= 0.6.13
-BuildRequires: findutils perl popt
+License:       GPLv2+
+Group:         Applications/Multimedia
+URL:           http://www.gphoto.org/
 
-BuildRequires: hal-devel, libtool-ltdl-devel
-BuildRequires: slang-devel
-BuildRequires: popt-devel
+Source:        http://prdownloads.sourceforge.net/gphoto/%{name}-%{version}.tar.bz2
+
+ExcludeArch: s390 s390x
+BuildRoot:     %{_tmppath}/%{name}-%{version}-root
+BuildRequires: libexif-devel >= 0.6.13
+BuildRequires: libgphoto2-devel >= 2.5.6
 BuildRequires: libjpeg-turbo-devel
+BuildRequires: findutils perl
+BuildRequires: popt-devel
+BuildRequires: readline-devel
+BuildRequires: gettext
 
-Vendor: Project Vine
-Distribution: Vine Linux
+Vendor:        Project Vine
+Distribution:  Vine Linux
 
 %description
 The gPhoto2 project is a universal, free application and library
@@ -74,6 +72,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/gphoto2.1*
 
 %changelog
+* Fri Feb 20 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 2.5.6-1
+- updated to 2.5.6
+- built with libgphoto2 2.5.7
+- removed BR: slang-devel
+- added BR: readline-devel
+
 * Fri Jan 11 2013 IWAI, Masaharu <iwai@alib.jp> 2.5.0-1
 - update to 2.5.0
 - BR: libgphoto2-devel >= 2.5.0

+ 209 - 112
s/suitesparse/suitesparse-vl.spec

@@ -1,35 +1,43 @@
 Name:           suitesparse
-Version:        3.7.0
+Version:        4.3.1
 Release:        1%{?_dist_release}
 Summary:        A collection of sparse matrix libraries
+Summary(ja):    疎行列ライブラリ集
 
 Group:          System Environment/Libraries
-License:        Distributable
+License:        LGPLv2+ and GPLv2+
 URL:            http://www.cise.ufl.edu/research/sparse/SuiteSparse
-Source:         http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-%{version}.tar.gz
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+Source0:        http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-%{version}.tar.gz
+# Move #include <math.h> out of StuiteSparse_config.h and into SuiteSparse_config.c
+Patch0:         suitesparse-math.patch
+
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires:  blas-devel
+BuildRequires:  lapack-devel
 
 %description
 suitesparse is a collection of libraries for computations involving sparse
 matrices.  The package includes the following libraries:
-  AMD         approximate minimum degree ordering
-  BTF         permutation to block triangular form (beta)
-  CAMD        constrained approximate minimum degree ordering
-  COLAMD      column approximate minimum degree ordering
-  CCOLAMD     constrained column approximate minimum degree ordering
-  CHOLMOD     sparse Cholesky factorization
-  CSparse     a concise sparse matrix package
-  CXSparse    CSparse extended: complex matrix, int and long int support
-  KLU         sparse LU factorization, primarily for circuit simulation
-  LDL         a simple LDL' factorization
-  UMFPACK     sparse LU factorization
-  UFconfig    configuration file for all the above packages.
-
+  AMD                 approximate minimum degree ordering
+  BTF                 permutation to block triangular form (beta)
+  CAMD                constrained approximate minimum degree ordering
+  COLAMD              column approximate minimum degree ordering
+  CCOLAMD             constrained column approximate minimum degree ordering
+  CHOLMOD             sparse Cholesky factorization
+  CSparse             a concise sparse matrix package
+  CXSparse            CSparse extended: complex matrix, int and long int support
+  KLU                 sparse LU factorization, primarily for circuit simulation
+  LDL                 a simple LDL factorization
+  SQPR                a multithread, multifrontal, rank-revealing sparse QR
+                      factorization method
+  UMFPACK             sparse LU factorization
+  SuiteSparse_config  configuration file for all the above packages.
+  RBio                read/write files in Rutherford/Boeing format
 
 %package devel
 Summary:        Development headers for SuiteSparse
+Summary(ja):    SuiteSparse の開発用ヘッダファイル集
 Group:          Development/Libraries
 Requires:       %{name} = %{version}-%{release}
 
@@ -40,6 +48,7 @@ applications which use the suitesparse libraries.
 
 %package static
 Summary:        Static version of SuiteSparse libraries
+Summary(ja):    SuiteSparse の静的ライブラリ
 Group:          Development/Libraries
 Requires:       %{name}-devel = %{version}-%{release}
 
@@ -47,41 +56,40 @@ Requires:       %{name}-devel = %{version}-%{release}
 The suitesparse-static package contains the statically linkable
 version of the suitesparse libraries.
 
-
+#'
 
 %prep
 %setup -q -n SuiteSparse
+%patch0 -p1 -b .math
 
 %build
-%define amd_version 2.2.3
+%define amd_version 2.4.0
 %define amd_version_major 2
-%define btf_version 1.1.3
+%define btf_version 1.2.0
 %define btf_version_major 1
-%define camd_version 2.2.3
+%define camd_version 2.4.0
 %define camd_version_major 2
-%define ccolamd_version 2.7.4
+%define ccolamd_version 2.9.0
 %define ccolamd_version_major 2
-%define cholmod_version 1.7.4
-%define cholmod_version_major 1
-%define colamd_version 2.7.4
+%define cholmod_version 3.0.1
+%define cholmod_version_major 3
+%define colamd_version 2.9.0
 %define colamd_version_major 2
-%define csparse_version 2.2.6
-%define csparse_version_major 2
-%define csparse3_version 3.0.2
-%define csparse3_version_major 3
-%define cxsparse_version 2.2.6
-%define cxsparse_version_major 2
-%define klu_version 1.1.3
+%define csparse_version 3.1.3
+%define csparse_version_major 3
+%define cxsparse_version 3.1.3
+%define cxsparse_version_major 3
+%define klu_version 1.3.0
 %define klu_version_major 1
-%define ldl_version 2.0.4
+%define ldl_version 2.2.0
 %define ldl_version_major 2
-%define spqr_version 1.2.3
-%define spqr_version_major 1
-%define rbio_version 2.0.2
+%define rbio_version 2.2.0
 %define rbio_version_major 2
-%define ufconfig_version 3.7.0
-%define ufconfig_version_major 3
-%define umfpack_version 5.5.2
+%define spqr_version 1.3.3
+%define spqr_version_major 1
+%define SuiteSparse_config_ver 4.3.1
+%define SuiteSparse_config_major 4
+%define umfpack_version 5.7.0
 %define umfpack_version_major 5
 ### CHOLMOD can also be compiled to use the METIS library, but it is not
 ### used here because its licensing terms exclude it from Fedora Extras.
@@ -93,27 +101,49 @@ version of the suitesparse libraries.
 ### enable_csparse as 1 below.
 %define enable_csparse 0
 
-mkdir Devel Devel/AMD Devel/CHOLMOD Devel/KLU Devel/LDL Devel/UMFPACK \
-	Doc Doc/AMD Doc/BTF Doc/CAMD Doc/CCOLAMD Doc/CHOLMOD Doc/COLAMD \
-	Doc/KLU Doc/LDL Doc/UMFPACK Lib Include
+mkdir -p Doc/{AMD,BTF,CAMD,CCOLAMD,CHOLMOD,COLAMD,KLU,LDL,UMFPACK,SPQR,RBio} Lib Include
+
+# SuiteSparse_config needs to come first
+pushd SuiteSparse_config
+  make CFLAGS="$RPM_OPT_FLAGS -fPIC"
+  ar x libsuitesparseconfig.a
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libsuitesparseconfig.so.%{SuiteSparse_config_major} -o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_ver} ../SuiteSparse_config/*.o -lm
+    ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so.%{SuiteSparse_config_major}
+    ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so
+    cp -p ../SuiteSparse_config/*.a ./
+  popd
+  cp -p *.h ../Include
+popd
 
 pushd AMD
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libamd.so.%{amd_version_major} -o ../Lib/libamd.so.%{amd_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libamd.so.%{amd_version_major} -o \
+        libamd.so.%{amd_version} ../AMD/Lib/*.o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
+    ln -sf libamd.so.%{amd_version} libamd.so.%{amd_version_major}
+    ln -sf libamd.so.%{amd_version} libamd.so
+    cp -p ../AMD/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
-  cp -p README.txt Doc/License Doc/ChangeLog ../Doc/AMD
-  cp -p Doc/*.pdf ../Devel/AMD
+  cp -p README.txt Doc/License Doc/ChangeLog Doc/*.pdf ../Doc/AMD
 popd
 
 pushd BTF
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libbtf.so.%{btf_version_major} -o libbtf.so.%{btf_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libbtf.so.%{btf_version_major} -o \
+        libbtf.so.%{btf_version} ../BTF/Lib/*.o
+    ln -sf libbtf.so.%{btf_version} libbtf.so.%{btf_version_major}
+    ln -sf libbtf.so.%{btf_version} libbtf.so
+    cp -p ../BTF/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
   cp -p README.txt Doc/* ../Doc/BTF
 popd
@@ -121,24 +151,49 @@ popd
 pushd CAMD
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC" 
-    gcc -shared -Wl,-soname,libcamd.so.%{camd_version_major} -o ../Lib/libcamd.so.%{camd_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libcamd.so.%{camd_version_major} -o \
+        libcamd.so.%{camd_version} ../CAMD/Lib/*.o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
+    ln -sf libcamd.so.%{camd_version} libcamd.so.%{camd_version_major}
+    ln -sf libcamd.so.%{camd_version} libcamd.so
+    cp -p ../CAMD/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
-  cp -p README.txt Doc/ChangeLog Doc/License ../Doc/CAMD
-  cp -p Doc/*.pdf ../Devel/CAMD
+  cp -p README.txt Doc/ChangeLog Doc/License Doc/*.pdf ../Doc/CAMD
 popd
 
 pushd CCOLAMD
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC" 
-    gcc -shared -Wl,-soname,libccolamd.so.%{ccolamd_version_major} -o libccolamd.so.%{ccolamd_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libccolamd.so.%{ccolamd_version_major} -o \
+        libccolamd.so.%{ccolamd_version} ../CCOLAMD/Lib/*.o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
+    ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so.%{ccolamd_version_major}
+    ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so
+    cp -p ../CCOLAMD/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
   cp -p README.txt Doc/* ../Doc/CCOLAMD
 popd
-pushd Lib
+
+pushd COLAMD
+  pushd Lib
+    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
+  popd
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libcolamd.so.%{colamd_version_major} -o \
+        libcolamd.so.%{colamd_version} ../COLAMD/Lib/*.o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm
+    ln -sf libcolamd.so.%{colamd_version} libcolamd.so.%{colamd_version_major}
+    ln -sf libcolamd.so.%{colamd_version} libcolamd.so
+    cp -p ../COLAMD/Lib/*.a ./
+  popd
+  cp -p Include/*.h ../Include
+  cp -p README.txt Doc/* ../Doc/COLAMD
 popd
 
 %if "%{?enable_metis}" == "1"
@@ -149,37 +204,42 @@ CHOLMOD_FLAGS="$RPM_OPT_FLAGS -DNPARTITION -fPIC"
 pushd CHOLMOD
   pushd Lib
     make CFLAGS="$CHOLMOD_FLAGS"
-    gcc -shared -Wl,-soname,libcholmod.so.%{cholmod_version_major} -o ../Lib/libcholmod.so.%{cholmod_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libcholmod.so.%{cholmod_version_major} -o \
+        libcholmod.so.%{cholmod_version} ../CHOLMOD/Lib/*.o \
+        libamd.so.%{amd_version_major} \
+        libcamd.so.%{camd_version_major} libcolamd.so.%{colamd_version_major} \
+        libccolamd.so.%{ccolamd_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm \
+	-llapack -lblas -lgfortran
+#        -L%{_libdir}/atlas %{atlaslibs} \
+    ln -sf libcholmod.so.%{cholmod_version} libcholmod.so.%{cholmod_version_major}
+    ln -sf libcholmod.so.%{cholmod_version} libcholmod.so
+    cp -p ../CHOLMOD/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
-  cp -p README.txt ../Doc/CHOLMOD
+  cp -p README.txt Doc/*.pdf ../Doc/CHOLMOD
   cp -p Cholesky/License.txt ../Doc/CHOLMOD/Cholesky_License.txt
   cp -p Core/License.txt ../Doc/CHOLMOD/Core_License.txt
   cp -p MatrixOps/License.txt ../Doc/CHOLMOD/MatrixOps_License.txt
   cp -p Partition/License.txt ../Doc/CHOLMOD/Partition_License.txt
   cp -p Supernodal/License.txt ../Doc/CHOLMOD/Supernodal_License.txt
-  cp -p Doc/*.pdf ../Devel/CHOLMOD
-popd
-
-pushd COLAMD
-  pushd Lib
-    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libcolamd.so.%{colamd_version_major} -o libcolamd.so.%{colamd_version} `ls *.o`
-  popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
-  cp -p Include/*.h ../Include
-  cp -p README.txt Doc/* ../Doc/COLAMD
 popd
 
 %if "%{?enable_csparse}" == "1"
 pushd CSparse
   pushd Source
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libcsparse.so.%{csparse_version_major} -o libcsparse.so.%{csparse_version} `ls *.o`
-    cp -p *.a *.so* ../../Lib
     cp -p cs.h ../../Include
   popd
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libcsparse.so.%{csparse_version_major} -o \
+        libcsparse.so.%{csparse_version} ../CSparse/Source/*.o -lm
+    ln -sf libcsparse.so.%{csparse_version} libcsparse.so.%{csparse_version_major}
+    ln -sf libcsparse.so.%{csparse_version} libcsparse.so
+    cp -p ../CSparse/Source/*.a ./
+  popd
   mkdir ../Doc/CSparse/
   cp -p Doc/* ../Doc/CSparse
 popd
@@ -188,9 +248,14 @@ popd
 pushd CXSparse
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libcxsparse.so.%{cxsparse_version_major} -o libcxsparse.so.%{cxsparse_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libcxsparse.so.%{cxsparse_version_major} -o \
+        libcxsparse.so.%{cxsparse_version} ../CXSparse/Lib/*.o -lm
+    ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so.%{cxsparse_version_major}
+    ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so
+    cp -p ../CXSparse/Lib/*.a ./
+  popd
   cp -p Include/cs.h ../Include
   mkdir ../Doc/CXSparse/
   cp -p Doc/* ../Doc/CXSparse
@@ -200,9 +265,17 @@ popd
 pushd KLU
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libklu.so.%{klu_version_major} -o libklu.so.%{klu_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libklu.so.%{klu_version_major} -o \
+        libklu.so.%{klu_version} ../KLU/Lib/*.o \
+        libamd.so.%{amd_version_major} libcolamd.so.%{colamd_version_major} \
+        libbtf.so.%{btf_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major}
+    ln -sf libklu.so.%{klu_version} libklu.so.%{klu_version_major}
+    ln -sf libklu.so.%{klu_version} libklu.so
+    cp -p ../KLU/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
   cp -p README.txt Doc/lesser.txt ../Doc/KLU
 popd
@@ -210,54 +283,75 @@ popd
 pushd LDL
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC"
-    gcc -shared -Wl,-soname,libldl.so.%{ldl_version_major} -o libldl.so.%{ldl_version} `ls *.o`
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libldl.so.%{ldl_version_major} -o \
+        libldl.so.%{ldl_version} ../LDL/Lib/*.o
+    ln -sf libldl.so.%{ldl_version} libldl.so.%{ldl_version_major}
+    ln -sf libldl.so.%{ldl_version} libldl.so
+    cp -p ../LDL/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
-  cp -p README.txt Doc/ChangeLog Doc/lesser.txt ../Doc/LDL
-  cp -p Doc/*.pdf ../Devel/LDL
+  cp -p README.txt Doc/ChangeLog Doc/lesser.txt Doc/*.pdf ../Doc/LDL
 popd
 
 pushd UMFPACK
   pushd Lib
     make CFLAGS="$RPM_OPT_FLAGS -fPIC" 
-    gcc -shared -Wl,-soname,libumfpack.so.%{umfpack_version_major} -o ../Lib/libumfpack.so.%{umfpack_version} `ls *.o` -lblas -lm
   popd
-  cp -p Lib/*.a Lib/*.so* ../Lib
+  pushd ../Lib
+    gcc -shared -Wl,-soname,libumfpack.so.%{umfpack_version_major} -o \
+        libumfpack.so.%{umfpack_version} ../UMFPACK/Lib/*.o \
+        libamd.so.%{amd_version_major} \
+        libcholmod.so.%{cholmod_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm \
+	-llapack -lblas -lgfortran
+#        -L%{_libdir}/atlas %{atlaslibs} \
+    ln -sf libumfpack.so.%{umfpack_version} libumfpack.so.%{umfpack_version_major}
+    ln -sf libumfpack.so.%{umfpack_version} libumfpack.so
+    cp -p ../UMFPACK/Lib/*.a ./
+  popd
   cp -p Include/*.h ../Include
-  cp -p README.txt Doc/License Doc/ChangeLog Doc/gpl.txt ../Doc/UMFPACK
-  cp -p Doc/*.pdf ../Devel/UMFPACK
+  cp -p README.txt Doc/License Doc/ChangeLog Doc/gpl.txt Doc/*.pdf ../Doc/UMFPACK
 popd
 
-pushd Lib
-  ln -sf libamd.so.%{amd_version} libamd.so.%{amd_version_major}
-  ln -sf libamd.so.%{amd_version} libamd.so
-  ln -sf libbtf.so.%{btf_version} libbtf.so.%{btf_version_major}
-  ln -sf libbtf.so.%{btf_version} libbtf.so
-  ln -sf libcamd.so.%{camd_version} libcamd.so.%{camd_version_major}
-  ln -sf libcamd.so.%{camd_version} libcamd.so
-  ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so.%{ccolamd_version_major}
-  ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so
-  ln -sf libcholmod.so.%{cholmod_version} libcholmod.so.%{cholmod_version_major}
-  ln -sf libcholmod.so.%{cholmod_version} libcholmod.so
-  ln -sf libcolamd.so.%{colamd_version} libcolamd.so.%{colamd_version_major}
-  ln -sf libcolamd.so.%{colamd_version} libcolamd.so
-%if "%{?enable_csparse}" == "1"
-  ln -sf libcsparse.so.%{csparse_version} libcsparse.so.%{csparse_version_major}
-  ln -sf libcsparse.so.%{csparse_version} libcsparse.so
-%else
-  ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so.%{cxsparse_version_major}
-  ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so
-%endif
-  ln -sf libklu.so.%{klu_version} libklu.so.%{klu_version_major}
-  ln -sf libklu.so.%{klu_version} libklu.so
-  ln -sf libldl.so.%{ldl_version} libldl.so.%{ldl_version_major}
-  ln -sf libldl.so.%{ldl_version} libldl.so
-  ln -sf libumfpack.so.%{umfpack_version} libumfpack.so.%{umfpack_version_major}
-  ln -sf libumfpack.so.%{umfpack_version} libumfpack.so
+pushd SPQR
+  pushd Lib
+    make CFLAGS="$RPM_OPT_FLAGS %{?with_tbb:-DHAVE_TBB} -DNPARTITION -fPIC"
+  popd
+  pushd ../Lib
+    g++ -shared -Wl,-soname,libspqr.so.%{spqr_version_major} -o \
+        libspqr.so.%{spqr_version} ../SPQR/Lib/*.o \
+        -L%{_libdir} \
+        %{?with_tbb:-ltbb} \
+        libcholmod.so.%{cholmod_version_major} \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm \
+	-llapack -lblas -lgfortran
+#        -L%{_libdir}/atlas -L%{_libdir} %{atlaslibs} \
+    ln -sf libspqr.so.%{spqr_version} libspqr.so.%{spqr_version_major}
+    ln -sf libspqr.so.%{spqr_version} libspqr.so
+    cp -p ../SPQR/Lib/*.a ./
+  popd
+  cp -p Include/*.h* ../Include
+  cp -p README{,_SPQR}.txt
+  cp -p README_SPQR.txt Doc/* ../Doc/SPQR
 popd
 
-cp -p UFconfig/UFconfig.h Include
+pushd RBio
+  pushd Lib
+    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
+  popd
+  pushd ../Lib
+    gcc -shared -Wl,-soname,librbio.so.%{rbio_version_major} -o \
+        librbio.so.%{rbio_version} ../RBio/Lib/*.o \
+        libsuitesparseconfig.so.%{SuiteSparse_config_major}
+    ln -sf librbio.so.%{rbio_version} librbio.so.%{rbio_version_major}
+    ln -sf librbio.so.%{rbio_version} librbio.so
+    cp -p ../RBio/Lib/*.a ./
+  popd
+  cp -p Include/*.h ../Include
+  cp -p README.txt Doc/ChangeLog Doc/License.txt ../Doc/RBio
+popd
 
 %install
 rm -rf ${RPM_BUILD_ROOT}
@@ -269,7 +363,7 @@ pushd Lib
   done
 popd
 pushd Include
-  for f in *.h;  do
+  for f in *.h *.hpp;  do
     cp -a $f ${RPM_BUILD_ROOT}%{_includedir}/%{name}/$f
   done
 popd
@@ -290,7 +384,6 @@ rm -rf ${RPM_BUILD_ROOT}
 
 %files devel
 %defattr(-,root,root)
-%doc Devel/*
 %{_includedir}/%{name}
 %{_libdir}/lib*.so
 
@@ -298,7 +391,11 @@ rm -rf ${RPM_BUILD_ROOT}
 %defattr(-,root,root)
 %{_libdir}/lib*.a
 
+
 %changelog
+* Tue Feb 17 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 4.3.1-1
+- updated to 4.3.1
+
 * Thu Mar 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> 3.7.0-1
 - Updated to 3.7.0