[new-package] dbcsr 2.6.0

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2024-06-11 22:34:41 +01:00
parent 473c01158c
commit 7073233ae3
2 changed files with 177 additions and 0 deletions

View 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
View 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
}