From f7b0de627d9c99aae5c07aefa8a9b22bcf526d06 Mon Sep 17 00:00:00 2001 From: Mehdi Chinoune Date: Thu, 8 Feb 2024 06:55:57 +0000 Subject: [PATCH] lfortran: update to 0.33.1 --- mingw-w64-lfortran/001-win-install.patch | 46 ++++++++++++++-------- mingw-w64-lfortran/PKGBUILD | 49 ++++++++++++++---------- 2 files changed, 59 insertions(+), 36 deletions(-) diff --git a/mingw-w64-lfortran/001-win-install.patch b/mingw-w64-lfortran/001-win-install.patch index 6a890f5fb5..a57fe76dd2 100644 --- a/mingw-w64-lfortran/001-win-install.patch +++ b/mingw-w64-lfortran/001-win-install.patch @@ -1,8 +1,24 @@ -diff --git "a/./src/libasr/runtime/lfortran_intrinsics.c" "b/./src/libasr/runtime/lfortran_intrinsics.c" -index ea6e588..c80bc8c 100644 ---- "a/./src/libasr/runtime/lfortran_intrinsics.c" -+++ "b/./src/libasr/runtime/lfortran_intrinsics.c" -@@ -1849,7 +1849,7 @@ LFORTRAN_API void _lfortran_cpu_time(double *t) { +--- a/src/libasr/runtime/lfortran_intrinsics.c ++++ b/src/libasr/runtime/lfortran_intrinsics.c +@@ -10,7 +10,7 @@ + #include + #include + +-#if defined(_MSC_VER) ++#if defined(_WIN32) + # include + # include + # define ftruncate _chsize_s +@@ -116,7 +116,7 @@ + LFORTRAN_API void _lfortran_init_random_clock() + { + unsigned int count; +-#if defined(_MSC_VER) ++#if defined(_WIN32) + count = (unsigned int)clock(); + #else + struct timespec ts; +@@ -1880,7 +1880,7 @@ LFORTRAN_API void _lfortran_i32sys_clock( int32_t *count, int32_t *rate, int32_t *max) { @@ -11,7 +27,7 @@ index ea6e588..c80bc8c 100644 *count = - INT_MAX; *rate = 0; *max = 0; -@@ -1869,7 +1869,7 @@ LFORTRAN_API void _lfortran_i32sys_clock( +@@ -1900,7 +1900,7 @@ LFORTRAN_API void _lfortran_i64sys_clock( uint64_t *count, int64_t *rate, int64_t *max) { @@ -20,12 +36,12 @@ index ea6e588..c80bc8c 100644 *count = - INT_MAX; *rate = 0; *max = 0; -@@ -1898,7 +1898,7 @@ LFORTRAN_API double _lfortran_time() - uli.LowPart = ft.dwLowDateTime; - uli.HighPart = ft.dwHighDateTime; - return (double)uli.QuadPart / 10000000.0 - 11644473600.0; --#elif defined(__APPLE__) && !defined(__aarch64__) -+#elif defined(__APPLE__) && !defined(__aarch64__) || defined(_WIN32) - return 0.0; - #else - struct timespec ts; +@@ -1922,7 +1922,7 @@ + + LFORTRAN_API double _lfortran_time() + { +-#if defined(_MSC_VER) ++#if defined(_WIN32) + FILETIME ft; + ULARGE_INTEGER uli; + GetSystemTimeAsFileTime(&ft); diff --git a/mingw-w64-lfortran/PKGBUILD b/mingw-w64-lfortran/PKGBUILD index 7817ed3f66..cb747fb728 100644 --- a/mingw-w64-lfortran/PKGBUILD +++ b/mingw-w64-lfortran/PKGBUILD @@ -3,7 +3,7 @@ _realname=lfortran pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.31.0 +pkgver=0.33.1 pkgrel=1 arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') @@ -17,40 +17,47 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-ninja") source=("${url}/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz" 001-win-install.patch) -sha256sums=('b2239a0b8e954fbeedae60b7caaec55a0d9e20a5ccb0d3b0abbe9ca91f5dd85e' - 'a61475b45ba94b8b98dcd05f429735cd15c32e630ad4c970aec5d7fb9032ea60') +sha256sums=('bcd9c2f460e3ff971b86bf066d87a52b67a760e535ffaf02e1b77be078f68fac' + 'e7c98c23950b936e1a872040232773d58dbb32171b15f975025a736e49b84e0a') prepare() { - cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i ${srcdir}/001-win-install.patch + cd "${srcdir}/${_realname}-${pkgver}" + patch -p1 -i ${srcdir}/001-win-install.patch } build() { - mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" - export LLVM_DIR="${MINGW_PREFIX}/opt/llvm-15/lib/cmake/llvm" - MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - "${MINGW_PREFIX}"/bin/cmake.exe \ - -GNinja \ - -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ - -DCMAKE_BUILD_TYPE=Release \ - -DWITH_LLVM=yes \ - -DWITH_STACKTRACE=no \ - ../${_realname}-${pkgver} + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi - "${MINGW_PREFIX}"/bin/cmake.exe --build . + export LLVM_DIR="${MINGW_PREFIX}/opt/llvm-15/lib/cmake/llvm" + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + "${MINGW_PREFIX}"/bin/cmake.exe \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ + "${_extra_config[@]}" \ + -DWITH_LLVM=yes \ + -DWITH_STACKTRACE=no \ + ../${_realname}-${pkgver} + + "${MINGW_PREFIX}"/bin/cmake.exe --build . } check() { - cd "${srcdir}/build-${MSYSTEM}" + cd "${srcdir}/build-${MSYSTEM}" - "${MINGW_PREFIX}"/bin/cmake.exe --build . --target test + "${MINGW_PREFIX}"/bin/cmake.exe --build . --target test } package() { - cd "${srcdir}/build-${MSYSTEM}" + cd "${srcdir}/build-${MSYSTEM}" - DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install . + DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install . - install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" + install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" }