/
PKGBUILD
61 lines (55 loc) · 2.19 KB
/
PKGBUILD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Maintainer: Rafał Brzegowy <rafal.brzegowy@yahoo.com>
_realname=calculix-ccx
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.21
pkgrel=1
pkgdesc="CalculiX: 3D Structural Finite Element Program - Solver (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64')
url="http://www.calculix.de/"
license=('spdx:GPL-2.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-arpack"
"${MINGW_PACKAGE_PREFIX}-arpack64"
"${MINGW_PACKAGE_PREFIX}-omp"
"${MINGW_PACKAGE_PREFIX}-openblas"
"${MINGW_PACKAGE_PREFIX}-openblas64"
"${MINGW_PACKAGE_PREFIX}-spooles"
$([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran"))
makedepends=("${MINGW_PACKAGE_PREFIX}-fc")
source=("http://www.dhondt.de/ccx_${pkgver}.src.tar.bz2"
"http://www.dhondt.de/gpl-2.0.txt"
"ccx_mingw.patch"
"ccx_ooc.patch")
sha256sums=('52a20ef7216c6e2de75eae460539915640e3140ec4a2f631a9301e01eda605ad'
'8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643'
'64a9b4aae8910f1acd1d28b65e188134775670f9ada5d15614df38c9cda16c53'
'dd81df3de137a05b45e39fe61830337e6405ec566148598dab2828a6d9780e8a')
prepare() {
cd "${srcdir}/CalculiX/ccx_${pkgver}/src"
patch -Np1 < ../../../ccx_mingw.patch
patch -Np1 < ../../../ccx_ooc.patch
}
build()
{
cd "${srcdir}/CalculiX/ccx_${pkgver}/src"
if [[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]]; then
CFLAGS+=" -fopenmp"
FC=gfortran
export FFLAGS="-fallow-argument-mismatch -fopenmp -O2"
export OMP_LIBS="-lgomp -lquadmath"
else
CFLAGS+=" -fopenmp -Wno-implicit-function-declaration"
FC=flang
export FFLAGS="-O2"
export OMP_LIBS="-lomp"
fi
make CC=${CC} FC=${FC} CCX_VERSION=${pkgver} -f Makefile_mingw_i4
make CC=${CC} FC=${FC} CCX_VERSION=${pkgver} -f Makefile_mingw_i8
}
package()
{
install -Dm755 ${srcdir}/CalculiX/ccx_${pkgver}/src/ccx_i4/ccx_i4.exe ${pkgdir}${MINGW_PREFIX}/bin/ccx.exe
install -Dm755 ${srcdir}/CalculiX/ccx_${pkgver}/src/ccx_i8/ccx_i8.exe ${pkgdir}${MINGW_PREFIX}/bin/ccx_i8.exe
install -Dm755 ${srcdir}/gpl-2.0.txt ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}