[new-package] dbcsr 2.6.0
This commit is contained in:
111
mingw-w64-dbcsr/001-fix-build-on-mingw.patch
Normal file
111
mingw-w64-dbcsr/001-fix-build-on-mingw.patch
Normal file
@@ -0,0 +1,111 @@
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -264,6 +264,10 @@
|
||||
$<$<STREQUAL:${USE_ACCEL},opencl>:OpenCL::OpenCL>)
|
||||
endif ()
|
||||
|
||||
+if(WIN32)
|
||||
+ target_link_libraries(dbcsr PRIVATE ws2_32)
|
||||
+endif()
|
||||
+
|
||||
# =================================================================================================
|
||||
# DBCSR's C API
|
||||
if (WITH_C_API)
|
||||
@@ -302,6 +306,7 @@
|
||||
install(
|
||||
TARGETS dbcsr
|
||||
EXPORT DBCSRTargets
|
||||
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dbcsr_api.mod"
|
||||
--- a/src/base/dbcsr_machine.F
|
||||
+++ b/src/base/dbcsr_machine.F
|
||||
@@ -15,7 +15,7 @@
|
||||
int_8
|
||||
USE dbcsr_machine_internal, ONLY: &
|
||||
m_abort, m_chdir, m_flush_internal => m_flush, m_getarg, m_getcwd, m_getlog, m_getpid, &
|
||||
- m_hostnm, m_iargc, m_memory, m_memory_details, m_memory_max, m_mov, m_procrun
|
||||
+ m_hostnm, m_iargc, m_memory, m_memory_details, m_memory_max, m_mov
|
||||
|
||||
!$ USE OMP_LIB, ONLY: omp_get_max_threads, omp_get_thread_num, omp_get_num_threads, OMP_GET_WTIME
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
PRIVATE
|
||||
|
||||
PUBLIC :: m_walltime, m_datum, m_flush, m_flush_internal, &
|
||||
- m_hostnm, m_getcwd, m_getlog, m_getpid, m_getarg, m_procrun, &
|
||||
+ m_hostnm, m_getcwd, m_getlog, m_getpid, m_getarg, &
|
||||
m_memory, m_iargc, m_abort, m_chdir, m_mov, m_memory_details, &
|
||||
m_energy, m_memory_max, m_cpuinfo
|
||||
|
||||
--- a/src/base/dbcsr_machine_posix.f90
|
||||
+++ b/src/base/dbcsr_machine_posix.f90
|
||||
@@ -17,9 +17,9 @@
|
||||
PRIVATE
|
||||
|
||||
PUBLIC :: m_flush, m_memory, &
|
||||
- m_hostnm, m_getcwd, m_getlog, m_getuid, m_getpid, m_getarg, &
|
||||
+ m_hostnm, m_getcwd, m_getlog, m_getpid, m_getarg, &
|
||||
m_iargc, m_abort, m_chdir, m_mov, &
|
||||
- m_memory_details, m_procrun
|
||||
+ m_memory_details
|
||||
|
||||
INTEGER(KIND=int_8), PUBLIC, SAVE :: m_memory_max = 0
|
||||
|
||||
@@ -49,34 +49,6 @@
|
||||
FLUSH (lunit)
|
||||
END SUBROUTINE m_flush
|
||||
|
||||
- FUNCTION m_procrun(pid) RESULT(run_on)
|
||||
- !! Returns if a process is running on the local machine
|
||||
- !! 1 if yes and 0 if not
|
||||
- INTEGER, INTENT(IN) :: pid
|
||||
- INTEGER :: run_on
|
||||
- INTEGER :: istat
|
||||
-
|
||||
- INTERFACE
|
||||
- FUNCTION kill(pid, sig) BIND(C, name="kill") RESULT(errno)
|
||||
- IMPORT
|
||||
- INTEGER(KIND=C_INT), VALUE :: pid, sig
|
||||
- INTEGER(KIND=C_INT) :: errno
|
||||
- END FUNCTION
|
||||
- END INTERFACE
|
||||
-
|
||||
- ! If sig is 0, then no signal is sent, but error checking is still
|
||||
- ! performed; this can be used to check for the existence of a process
|
||||
- ! ID or process group ID.
|
||||
-
|
||||
- istat = kill(pid=pid, sig=0)
|
||||
- IF (istat == 0) THEN
|
||||
- run_on = 1 ! no error, process exists
|
||||
- ELSE
|
||||
- run_on = 0 ! error, process probably does not exist
|
||||
- END IF
|
||||
-
|
||||
- END FUNCTION m_procrun
|
||||
-
|
||||
SUBROUTINE m_memory(mem)
|
||||
!! Returns the total amount of memory [bytes] in use, if known, zero otherwise
|
||||
|
||||
@@ -326,20 +298,6 @@
|
||||
END SUBROUTINE m_getlog
|
||||
|
||||
! *****************************************************************************
|
||||
- SUBROUTINE m_getuid(uid)
|
||||
- INTEGER, INTENT(OUT) :: uid
|
||||
-
|
||||
- INTERFACE
|
||||
- FUNCTION getuid() BIND(C, name="getuid") RESULT(uid)
|
||||
- IMPORT
|
||||
- INTEGER(KIND=C_INT) :: uid
|
||||
- END FUNCTION
|
||||
- END INTERFACE
|
||||
-
|
||||
- uid = getuid()
|
||||
- END SUBROUTINE m_getuid
|
||||
-
|
||||
-! *****************************************************************************
|
||||
SUBROUTINE m_getpid(pid)
|
||||
INTEGER, INTENT(OUT) :: pid
|
||||
|
||||
66
mingw-w64-dbcsr/PKGBUILD
Normal file
66
mingw-w64-dbcsr/PKGBUILD
Normal file
@@ -0,0 +1,66 @@
|
||||
# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>
|
||||
|
||||
_realname=dbcsr
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
|
||||
pkgver=2.6.0
|
||||
pkgrel=1
|
||||
pkgdesc="Distributed Block Compressed Sparse Row matrix library (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('ucrt64')
|
||||
url='https://www.cp2k.org/dbcsr'
|
||||
msys2_repository_url="https://github.com/cp2k/dbcsr"
|
||||
license=('spdx:GPL-2.0-or-later')
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-omp"
|
||||
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran")
|
||||
#$([[ ${CARCH} != x86_64 ]] || echo "${MINGW_PACKAGE_PREFIX}-libxsmm")
|
||||
"${MINGW_PACKAGE_PREFIX}-openblas")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
||||
"${MINGW_PACKAGE_PREFIX}-fc"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
"${MINGW_PACKAGE_PREFIX}-ninja"
|
||||
"${MINGW_PACKAGE_PREFIX}-python")
|
||||
source=("https://github.com/cp2k/dbcsr/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz"
|
||||
"001-fix-build-on-mingw.patch")
|
||||
sha256sums=('c67b02ff9abc7c1f529af446a9f01f3ef9e5b0574f220259128da8d5ca7e9dc6'
|
||||
'8d2775a36ddbce65fa45fcdb8c76a1bae3c83b99915d50475831b8cf8c87b346')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}"/${_realname}-${pkgver}
|
||||
|
||||
patch -Np1 -i "${srcdir}"/001-fix-build-on-mingw.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
declare -a _extra_config
|
||||
if check_option "debug" "n"; then
|
||||
_extra_config+=("-DCMAKE_BUILD_TYPE=Release")
|
||||
else
|
||||
_extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
|
||||
fi
|
||||
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
||||
"${MINGW_PREFIX}"/bin/cmake.exe \
|
||||
-GNinja \
|
||||
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
|
||||
"${_extra_config[@]}" \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DUSE_OPENMP=ON \
|
||||
-DUSE_MPI=OFF \
|
||||
-DWITH_C_API=ON \
|
||||
-DBLA_VENDOR=OpenBLAS \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DWITH_EXAMPLES=OFF \
|
||||
-DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python \
|
||||
-S "${_realname}-${pkgver}" \
|
||||
-B "build-${MSYSTEM}"
|
||||
|
||||
"${MINGW_PREFIX}"/bin/cmake.exe --build "build-${MSYSTEM}"
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install "build-${MSYSTEM}"
|
||||
|
||||
install -Dm644 "${srcdir}"/${_realname}-${pkgver}/LICENSE \
|
||||
"${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
|
||||
}
|
||||
Reference in New Issue
Block a user