pkgname=mingw-w64-suitesparse pkgver=7.2.0 pkgrel=1 pkgdesc="A collection of sparse matrix libraries (mingw-w64)" url="https://people.engr.tamu.edu/davis/suitesparse.html" arch=('any') depends=('mingw-w64-lapack' 'mingw-w64-mpfr') makedepends=('mingw-w64-cmake') license=('GPL') options=('!buildflags' '!strip' 'staticlibs') source=("https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v${pkgver}.tar.gz") sha256sums=('ce63c34f566d0aeae3c85fdc5b72d293f7e834d10ec0a0417b4c0823ce6c0474') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" _subdirectories="SuiteSparse_config Mongoose AMD BTF CAMD CCOLAMD COLAMD CHOLMOD CXSparse LDL KLU UMFPACK RBio SuiteSparse_GPURuntime GPUQREngine SPQR SPEX GraphBLAS" prepare () { cd "$srcdir"/SuiteSparse-${pkgver} # https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/408 curl -L https://github.com/DrTimothyAldenDavis/SuiteSparse/commit/f3c9f8dd.patch | patch -p1 } build() { cd "$srcdir" # we need pkgdir for CMAKE_STAGING_PREFIX, so build in package() } package() { for _arch in ${_architectures}; do for _subdir in ${_subdirectories}; do cd "$srcdir/SuiteSparse-${pkgver}/${_subdir}" mkdir -p build-${_arch} && cd build-${_arch} LDPRELOAD= ${_arch}-cmake -DNPARTITION=1 -DBLA_VENDOR=Generic -DCMAKE_STAGING_PREFIX="$pkgdir"/usr/${_arch} -DHAVE_GETENV_HOME=0 .. make install done rm "${pkgdir}"/usr/${_arch}/bin/*.exe ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a done }