mumps: test fixes

This commit is contained in:
Oleg A. Khlybov 2025-06-23 23:00:27 +05:00 committed by Christoph Reiter
parent fafc9bc107
commit f90a27aa69
2 changed files with 15 additions and 5 deletions

View File

@ -1,6 +1,5 @@
# Contributor: Oleg A. Khlybov <fougas@mail.ru>
# This package provides multiple library build flavors differentiated by
# the 3-character suffix XYZ as follows:
#
@ -25,12 +24,16 @@
# That is the ZMO suffix designates the optimized MPI parallel double precision complex library flavor.
# Consider the `pkg-config mumps-zmo --cflags` command to obtain the build-specific compilation flags.
# There is a Tcl integration test suite for both packagers and end users to ensure the installed package is intact.
# The test suite performs a series of compile+run tests for multiple configurations from the build matrix.
# Basic usage: tclsh $MINGW_PREFIX/share/test/mumps/mumps.tcl
_realname=mumps
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=5.8.0
pkgrel=1
pkgrel=2
pkgdesc="Sparse direct SLAE solver (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64')
@ -60,7 +63,7 @@ sha256sums=('d762eb8b1d9843a0993b8cfc137d043d04c7c51877ad37c94560433a474340a0'
'9d6df2d18a2fbf512a5808168335b712a1728a6979c5bc8b977ac73d7a0a6da1'
'bbefd4a5f841536132f32c1ffc684a58b778901cd777445ca817dbb34d983450'
'357c13b985e75604fd9f59f2f174e6c75fd9133d0806e2db2d584d33e32b108d'
'aa8cc50e447eebb14492744c8be6bd8f731e0140c339a76cc31e54ea2f11813d'
'14410ca49d5020feb94970ae47a20d616f0e58d9629a85cf1a7bdaf5ad29cac3'
'8d8f5670ffdf34a10b0d027bff976131824e2e6b053f8a13d207ecddd4663d6d'
'd0db2aa573c9aaf57b30cb3c2bd7c66e1677f3f468002f467da98b75943076b1'
'd52709e3663d50ed793bfe991c571ec4ea5e6eaf72fcc920e1f8ba43d0ed7050')

View File

@ -4,6 +4,13 @@ tcl::tm::add [file normalize [file join [file dirname [info script]] .]]
package require xyz
# This fixes the issue related to the PkgConf-GFORTRAN interaction.
# Specifically, pkgconf (contrary to the original pkg-config utility) omits system
# directories (/ucrt64/include and alike) from command line options by default
# while gfortran (unlike gcc) maintains no default lookup directories and thus requires it.
set ::env(PKG_CONFIG_ALLOW_SYSTEM_CFLAGS) 1
foreach static {{} static} {
foreach executor {{} omp} {
xyz::unit MUMPS [concat $executor $static c double] {
@ -31,7 +38,7 @@ foreach precision {double single} {
xyz::unit MUMPS [list $executor $static $precision $scalar fortran] -input $input {
package require buildme
buildme::sandbox {
buildme::shell "gfortran -o a [string index [dict get $unit -xyz] 0]simpletest.F -I/ucrt64/include `pkgconf mumps-[dict get $unit -xyz] --cflags --libs [dict get $unit -static]` [dict get $unit -static] && ./a < [dict get $unit -input]"
buildme::shell "gfortran -o a [string index [dict get $unit -xyz] 0]simpletest.F `pkgconf mumps-[dict get $unit -xyz] --cflags --libs [dict get $unit -static]` [dict get $unit -static] && ./a < [dict get $unit -input]"
}
}
}
@ -39,7 +46,7 @@ foreach precision {double single} {
xyz::unit MUMPS [list $executor $static $precision $scalar fortran] -input $input {
package require buildme
buildme::sandbox {
buildme::shell "mpifort -o a [string index [dict get $unit -xyz] 0]simpletest.F -I/usrt64/include `pkgconf mumps-[dict get $unit -xyz] --cflags --libs [dict get $unit -static]` [dict get $unit -static] && mpiexec -n 1 ./a < [dict get $unit -input]"
buildme::shell "mpifort -o a [string index [dict get $unit -xyz] 0]simpletest.F `pkgconf mumps-[dict get $unit -xyz] --cflags --libs [dict get $unit -static]` [dict get $unit -static] && mpiexec -n 1 ./a < [dict get $unit -input]"
}
}
}