| # Contributor: Oleg A. Khlybov <fougas@mail.ru> |
| |
| _realname=superlu |
| pkgbase=mingw-w64-${_realname} |
| pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" |
| pkgver=5.2.2 |
| pkgrel=2 |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') |
| pkgdesc="Sparse direct linear solver (mingw-w64)" |
| depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" |
| "${MINGW_PACKAGE_PREFIX}-openblas") |
| makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" |
| "${MINGW_PACKAGE_PREFIX}-gcc") |
| optdepends=("${MINGW_PACKAGE_PREFIX}-tcl: build & run test suite") |
| options=('strip' 'staticlibs') |
| license=('3-clause BSD') |
| url='https://portal.nersc.gov/project/sparse/superlu/' |
| source=("https://portal.nersc.gov/project/sparse/superlu/${_realname}_${pkgver}.tar.gz" |
| 'all.tcl' |
| 'tclbuildtest.tcl' |
| 'superlu.test' |
| '0001-pc-fix.patch') |
| sha256sums=('470334a72ba637578e34057f46948495e601a5988a602604f5576367e606a28c' |
| 'ec5072630e1c0309fe383669e9187790cd135a393c67bc4bc35cf60b0ba396ff' |
| '15c7af25b91406d5fe5f26cfe00963b6cfde1c3dd466eb25f1b6fae299934966' |
| '5efeea2586552dcbccf238c4aed94d64525e33fb9eca8741b56a961a6fd8e144' |
| '86c7a2854632d83524d6f4e29d0dc08197de30c337e6e916922cb21623e1cfa7') |
| |
| prepare() { |
| cd "${srcdir}/${_realname}-${pkgver}" |
| for p in ${source[*]:4}; do |
| patch -p1 -i "${srcdir}/$p" |
| done |
| } |
| |
| build() { |
| declare -a _btype |
| if check_option "debug" "y"; then |
| _btype=Debug |
| else |
| _btype=Release |
| fi |
| cd "${srcdir}" |
| mkdir -p build-${CARCH}s && cd build-${CARCH}s |
| MSYS2_ARG_CONV_EXCL='-DCMAKE_INSTALL_PREFIX=' \ |
| ${MINGW_PREFIX}/bin/cmake \ |
| -G'MSYS Makefiles' \ |
| -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ |
| -DCMAKE_BUILD_TYPE=${_btype} \ |
| -DBUILD_SHARED_LIBS=OFF \ |
| -DBUILD_TESTING=OFF \ |
| -Denable_internal_blaslib=OFF \ |
| ../${_realname}-${pkgver} |
| make |
| cd "${srcdir}" |
| mkdir -p build-${CARCH} && cd build-${CARCH} |
| MSYS2_ARG_CONV_EXCL='-DCMAKE_INSTALL_PREFIX=' \ |
| ${MINGW_PREFIX}/bin/cmake \ |
| -G'MSYS Makefiles' \ |
| -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ |
| -DCMAKE_BUILD_TYPE=${_btype} \ |
| -DBUILD_SHARED_LIBS=ON \ |
| -DCMAKE_NEED_RESPONSE=ON \ |
| -DBUILD_TESTING=OFF \ |
| -Denable_internal_blaslib=OFF \ |
| ../${_realname}-${pkgver} |
| make |
| } |
| |
| package() { |
| cd "${srcdir}/build-${CARCH}s" |
| make DESTDIR="${pkgdir}" install |
| cd "${srcdir}/build-${CARCH}" |
| make DESTDIR="${pkgdir}" install |
| mkdir -p "${pkgdir}/${MINGW_PREFIX}"/bin |
| cp SRC/libsuperlu.dll "${pkgdir}/${MINGW_PREFIX}"/bin |
| mkdir -p "${pkgdir}/${MINGW_PREFIX}/share/test/${_realname}" |
| cd "${pkgdir}${MINGW_PREFIX}/include" |
| mkdir "${_realname}" |
| find . -type f -exec mv {} "${_realname}" \; |
| cd "${srcdir}" |
| cp {all,tclbuildtest}.tcl ${_realname}.test "${pkgdir}/${MINGW_PREFIX}/share/test/${_realname}" |
| cd "${_realname}-${pkgver}/EXAMPLE" |
| cp ?linsol.c g20.rua cg20.cua "${pkgdir}/${MINGW_PREFIX}/share/test/${_realname}" |
| } |