git subrepo clone https://aur.archlinux.org/calculix
subrepo: subdir: "calculix" merged: "09c74d4" upstream: origin: "https://aur.archlinux.org/calculix" branch: "master" commit: "09c74d4" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
This commit is contained in:
parent
c72e831df9
commit
0c8010b089
39
calculix/.SRCINFO
Executable file
39
calculix/.SRCINFO
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
pkgbase = calculix
|
||||||
|
pkgdesc = CalculiX: 3D finite element solver and post-processor (executables)
|
||||||
|
pkgver = 2.17
|
||||||
|
pkgrel = 3
|
||||||
|
url = http://www.calculix.de/
|
||||||
|
arch = i686
|
||||||
|
arch = x86_64
|
||||||
|
license = GPL2
|
||||||
|
checkdepends = perl
|
||||||
|
makedepends = gcc-fortran
|
||||||
|
makedepends = perl
|
||||||
|
depends = arpack
|
||||||
|
depends = spooles
|
||||||
|
depends = libsnl-svn
|
||||||
|
depends = blas
|
||||||
|
depends = mesa
|
||||||
|
depends = glu
|
||||||
|
depends = libxmu
|
||||||
|
depends = libxi
|
||||||
|
optdepends = calculix-doc: documentation and examples
|
||||||
|
options = !makeflags
|
||||||
|
options = !buildflags
|
||||||
|
source = http://www.dhondt.de/ccx_2.17.src.tar.bz2
|
||||||
|
source = http://www.dhondt.de/ccx_2.17.test.tar.bz2
|
||||||
|
source = http://www.dhondt.de/ccx_2.17.fluidtest.tar.bz2
|
||||||
|
source = http://www.dhondt.de/ccx_2.17.fluidtestfem.tar.bz2
|
||||||
|
source = http://www.dhondt.de/ccx_2.17.structest.tar.bz2
|
||||||
|
source = http://www.dhondt.de/cgx_2.17.all.tar.bz2
|
||||||
|
source = calculix_2.17_archlinux.patch
|
||||||
|
sha256sums = ca708ad4aa729d9f84a9faba343c1bcc0b7cc84ed372616ebb55c8e6fa8f6e50
|
||||||
|
sha256sums = 798f94e536197bb10a74bae096f2a29a5111239020e7d10f93e1ad3d90c370cf
|
||||||
|
sha256sums = 5126de5f8543cb4f4c3355612d4df41541b278c3e505e7f2191fd90190eac4f7
|
||||||
|
sha256sums = dab62ed58b1e5c1035360b59942593bf952af151fb9c9d32701cc028ee1683e3
|
||||||
|
sha256sums = e7cd0e71a9764955bf5096c849e8bb818d35040e8c4909b2168ce4d29b41d8be
|
||||||
|
sha256sums = 01b32864714d7ed7c760567e3a04077f3e41fe171d1804b305c96c344b0e4d2e
|
||||||
|
sha256sums = d6bbe96457d6a773958a9eb5a783ae630c8c2ea38ebaa0c6a799f3384e85d84f
|
||||||
|
|
||||||
|
pkgname = calculix
|
||||||
|
|
12
calculix/.gitrepo
Normal file
12
calculix/.gitrepo
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
; DO NOT EDIT (unless you know what you are doing)
|
||||||
|
;
|
||||||
|
; This subdirectory is a git "subrepo", and this file is maintained by the
|
||||||
|
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
|
||||||
|
;
|
||||||
|
[subrepo]
|
||||||
|
remote = https://aur.archlinux.org/calculix
|
||||||
|
branch = master
|
||||||
|
commit = 09c74d4138b8a266e51bbd47d09fa291766e3486
|
||||||
|
parent = c72e831df9ba220118b12dd0537397a778cd876a
|
||||||
|
method = merge
|
||||||
|
cmdver = 0.4.1
|
161
calculix/PKGBUILD
Executable file
161
calculix/PKGBUILD
Executable file
@ -0,0 +1,161 @@
|
|||||||
|
# Maintainer: Maurizio D'Addona <mauritiusdadd@gmail.com>
|
||||||
|
# Contributor: Sven Niese <Fd3querm@yahoo.de>
|
||||||
|
# Contributor: Daniel Murphy <mosquitogang201@gmail.com>
|
||||||
|
|
||||||
|
# NOTE: the option "!makeflag" is needed because the compilation
|
||||||
|
# may fail if make uses more than one job.
|
||||||
|
|
||||||
|
pkgname=calculix
|
||||||
|
pkgver=2.17
|
||||||
|
pkgrel=3
|
||||||
|
pkgdesc="CalculiX: 3D finite element solver and post-processor (executables)"
|
||||||
|
arch=('i686' 'x86_64')
|
||||||
|
options=(!makeflags !buildflags)
|
||||||
|
url="http://www.calculix.de/"
|
||||||
|
license=('GPL2')
|
||||||
|
depends=('arpack' 'spooles' 'libsnl-svn' 'blas' 'mesa' 'glu' 'libxmu' 'libxi')
|
||||||
|
optdepends=('calculix-doc: documentation and examples')
|
||||||
|
makedepends=('gcc-fortran' 'perl')
|
||||||
|
checkdepends=('perl')
|
||||||
|
|
||||||
|
source=("http://www.dhondt.de/ccx_${pkgver}.src.tar.bz2"
|
||||||
|
"http://www.dhondt.de/ccx_${pkgver}.test.tar.bz2"
|
||||||
|
"http://www.dhondt.de/ccx_${pkgver}.fluidtest.tar.bz2"
|
||||||
|
"http://www.dhondt.de/ccx_${pkgver}.fluidtestfem.tar.bz2"
|
||||||
|
"http://www.dhondt.de/ccx_${pkgver}.structest.tar.bz2"
|
||||||
|
"http://www.dhondt.de/cgx_${pkgver}.all.tar.bz2"
|
||||||
|
"calculix_${pkgver}_archlinux.patch")
|
||||||
|
|
||||||
|
sha256sums=('ca708ad4aa729d9f84a9faba343c1bcc0b7cc84ed372616ebb55c8e6fa8f6e50'
|
||||||
|
'798f94e536197bb10a74bae096f2a29a5111239020e7d10f93e1ad3d90c370cf'
|
||||||
|
'5126de5f8543cb4f4c3355612d4df41541b278c3e505e7f2191fd90190eac4f7'
|
||||||
|
'dab62ed58b1e5c1035360b59942593bf952af151fb9c9d32701cc028ee1683e3'
|
||||||
|
'e7cd0e71a9764955bf5096c849e8bb818d35040e8c4909b2168ce4d29b41d8be'
|
||||||
|
'01b32864714d7ed7c760567e3a04077f3e41fe171d1804b305c96c344b0e4d2e'
|
||||||
|
'd6bbe96457d6a773958a9eb5a783ae630c8c2ea38ebaa0c6a799f3384e85d84f')
|
||||||
|
|
||||||
|
prepare()
|
||||||
|
{
|
||||||
|
cd "${srcdir}"
|
||||||
|
|
||||||
|
msg "Patching makefiles..."
|
||||||
|
rm -rf CalculiX/libSNL
|
||||||
|
patch -p0 -f -l -s -i calculix_${pkgver}_archlinux.patch
|
||||||
|
msg2 "Done"
|
||||||
|
}
|
||||||
|
|
||||||
|
build()
|
||||||
|
{
|
||||||
|
msg "Building..."
|
||||||
|
|
||||||
|
msg2 "Building solver..."
|
||||||
|
cd "${srcdir}/CalculiX/ccx_${pkgver}/src"
|
||||||
|
make CFLAGS="${CFLAGS} -Wall -O2 -fopenmp -I /usr/include/spooles -DARCH=\"Linux\" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT -DUSE_MT=1" FFLAGS='-Wall -O2 -fopenmp -fpic -fallow-argument-mismatch' LIBS='-lpthread -lm -lc -lspooles -larpack -lblas -llapack -lgomp'
|
||||||
|
|
||||||
|
msg2 "Building gui..."
|
||||||
|
cd "${srcdir}/CalculiX/cgx_${pkgver}/src"
|
||||||
|
make CFLAGS='-O2 -Wall -Wno-narrowing -I./ -I/usr/include/libSNL -I../../glut-3.5/src' LFLAGS='-lGL -lGLU -lX11 -lXi -lXmu -lXext -lXt -lSM -lICE -lSNL -lm -lpthread -lrt'
|
||||||
|
|
||||||
|
msg2 "Build complete"
|
||||||
|
}
|
||||||
|
|
||||||
|
check()
|
||||||
|
{
|
||||||
|
tests=('beamp' 'ball' 'pipe' 'pipe2' 'planestress'
|
||||||
|
'gap' 'gap2' 'capacitor' 'carbonseal' 'beamptied1'
|
||||||
|
'beamp1rotate' 'beamp2' 'beamp2rotate' 'beamf' 'beamhf'
|
||||||
|
'cou' 'furnace' 'gaspipe1' 'gaspipe1-oil' 'gaspipe2'
|
||||||
|
'gaspipe3' 'gaspipe4' 'gaspipe5' 'gaspipe6' 'gaspipe7'
|
||||||
|
'gaspipe8' 'gaspipe-cfd-pressure' 'gaspipe8-cfd-pressure'
|
||||||
|
'gaspipe8-cfd-massflow' 'gaspipe8-cfd-pressure'
|
||||||
|
'gaspipe8-cfd-pressure-split' 'green1' 'green2' 'green3'
|
||||||
|
'green4' 'hinge' 'hueeber1' 'hueeber2' 'induction' 'induction2'
|
||||||
|
'inistrain' 'largerot1' 'linearnet' 'mass1' 'mass2' 'mass3'
|
||||||
|
'massflow_percent_ccx' 'membrane1' 'metalforming' 'modelchel'
|
||||||
|
'multistage' 'networkmpc' 'oneel' 'pendel' 'resstress1'
|
||||||
|
'restrictor' 'segment' 'sensitivity_I' 'shell1'
|
||||||
|
'shellbeam' 'shellf' 'simplebeam' 'slant' 'spring1' 'spring2'
|
||||||
|
'small_pressure_gradient' 'square' 'substructure' 'swing'
|
||||||
|
'thermomech' 'transition' 'truss' 'vortex1' 'wire')
|
||||||
|
|
||||||
|
msg "Testing solver..."
|
||||||
|
cd ${srcdir}/CalculiX/ccx_${pkgver}/test
|
||||||
|
|
||||||
|
error_status=0
|
||||||
|
start_time="$(date -u +%s)"
|
||||||
|
for test_name in "${tests[@]}" ; do
|
||||||
|
ref_file=${test_name}.dat.ref
|
||||||
|
dat_file=${test_name}.dat
|
||||||
|
frd_file=${test_name}.frd
|
||||||
|
log_file=${test_name}.log
|
||||||
|
|
||||||
|
msg2 "testing ${test_name}"
|
||||||
|
rm -f ${dat_file}
|
||||||
|
rm -f ${frd_file}
|
||||||
|
|
||||||
|
# Testing on maximum 4 cores
|
||||||
|
OMP_NUM_THREADS=4 ../src/ccx_${pkgver} ${test_name} &> ${log_file} ||\
|
||||||
|
warning "check $(pwd)/${log_file}"
|
||||||
|
|
||||||
|
if [ ! -f ${dat_file} ]; then
|
||||||
|
warning "${dat_file} does not exist"
|
||||||
|
error_status=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sum1="$(wc -l ${dat_file})"
|
||||||
|
sum2="$(wc -l ${ref_file})"
|
||||||
|
if [ ${sum1%* *} != ${sum2%* *} ]; then
|
||||||
|
warning "The data file generated by ccx is not valid"
|
||||||
|
error_status=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if grep "NaN" ${dat_file} ; then
|
||||||
|
warning "${dat_file} contains NaNs!"
|
||||||
|
error_status=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! ./datcheck.pl ${test_name} ; then
|
||||||
|
warning "Result is inconsistent with reference data!"
|
||||||
|
error_status=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ${srcdir}/CalculiX/ccx_${pkgver}/fluidtest
|
||||||
|
for test_name in ./*.inp ; do
|
||||||
|
msg2 "testing ${test_name}"
|
||||||
|
OMP_NUM_THREADS=4 ../src/ccx_${pkgver} ${test_name} &> ${log_file} ||\
|
||||||
|
error_status=1 warning "check $(pwd)/${log_file}"
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ${srcdir}/CalculiX/ccx_${pkgver}/fluidtestfem
|
||||||
|
for test_name in ./*.inp ; do
|
||||||
|
msg2 "testing ${test_name}"
|
||||||
|
OMP_NUM_THREADS=4 ../src/ccx_${pkgver} ${test_name} &> ${log_file} ||\
|
||||||
|
error_status=1 warning "check $(pwd)/${log_file}"
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ${srcdir}/CalculiX/ccx_${pkgver}/structest
|
||||||
|
for test_name in ./*.inp ; do
|
||||||
|
msg2 "testing ${test_name}"
|
||||||
|
OMP_NUM_THREADS=4 ../src/ccx_${pkgver} ${test_name} &> ${log_file} ||\
|
||||||
|
error_status=1 warning "check $(pwd)/${log_file}"
|
||||||
|
done
|
||||||
|
end_time="$(date -u +%s)"
|
||||||
|
elapsed="$(($end_time-$start_time))"
|
||||||
|
|
||||||
|
msg "Total of $elapsed seconds elapsed for tesing"
|
||||||
|
|
||||||
|
return $error_status
|
||||||
|
}
|
||||||
|
|
||||||
|
package()
|
||||||
|
{
|
||||||
|
msg "Copying files"
|
||||||
|
|
||||||
|
install -d ${pkgdir}/usr/bin
|
||||||
|
|
||||||
|
install -Dm755 ${srcdir}/CalculiX/ccx_${pkgver}/src/ccx_${pkgver} ${pkgdir}/usr/bin/ccx
|
||||||
|
install -Dm755 ${srcdir}/CalculiX/cgx_${pkgver}/src/cgx ${pkgdir}/usr/bin/cgx
|
||||||
|
|
||||||
|
msg2 "Done"
|
||||||
|
}
|
34
calculix/calculix_2.17_archlinux.patch
Executable file
34
calculix/calculix_2.17_archlinux.patch
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
diff -ur CalculiX_orig/cgx_2.17/src/Makefile CalculiX/cgx_2.16/src/Makefile
|
||||||
|
--- CalculiX_orig/cgx_2.17/src/Makefile
|
||||||
|
+++ CalculiX/cgx_2.17/src/Makefile
|
||||||
|
@@ -59,1 +53,1 @@
|
||||||
|
- ../../libSNL/src/*.cpp
|
||||||
|
+# ../../libSNL/src/*.cpp
|
||||||
|
diff -ur CalculiX_orig/cgx_2.17/src/cgx.h CalculiX/cgx_2.17/src/cgx.h
|
||||||
|
--- CalculiX_orig/cgx_2.17/src/cgx.h
|
||||||
|
+++ CalculiX/cgx_2.17/src/cgx.h
|
||||||
|
@@ -85,12 +85,12 @@
|
||||||
|
#elif defined AFLIB
|
||||||
|
- #define HELPFILE {"/usr/local/CalculiX/cgx_2.17/doc/cgx/cgx.html",\
|
||||||
|
- "/usr/local/CalculiX/ccx_2.17/doc/ccx/ccx.html",\
|
||||||
|
- "/usr/local/CalculiX/cgx_2.16/doc/aflib/aflib.pdf"}
|
||||||
|
+ #define HELPFILE {"/usr/share/doc/cgx/cgx.html",\
|
||||||
|
+ "/usr/share/doc/doc/ccx/ccx.html",\
|
||||||
|
+ "/usr/share/doc/doc/aflib/aflib.pdf"}
|
||||||
|
/* default tet mesher, 0:Netgen ng_vol, 1:tetgen */
|
||||||
|
#define TETMESHER 1
|
||||||
|
#else
|
||||||
|
- #define HELPFILE {"/usr/local/CalculiX/cgx_2.17/doc/cgx/cgx.html",\
|
||||||
|
- "/usr/local/CalculiX/ccx_2.17/doc/ccx/ccx.html"}
|
||||||
|
+ #define HELPFILE {"/usr/share/doc/cgx/cgx.html",\
|
||||||
|
+ "/usr/share/doc/ccx/ccx.html"}
|
||||||
|
/* default tet mesher, 0:Netgen ng_vol, 1:tetgen */
|
||||||
|
#define TETMESHER 1
|
||||||
|
#endif
|
||||||
|
diff -ur CalculiX_orig/cgx_2.17/src/uselibSNL.h CalculiX/cgx_2.17/src/uselibSNL.h
|
||||||
|
--- CalculiX_orig/cgx_2.17/src/uselibSNL.h
|
||||||
|
+++ CalculiX/cgx_2.17/src/uselibSNL.h
|
||||||
|
@@ -8,1 +8,3 @@
|
||||||
|
#include <cgx.h>
|
||||||
|
+#undef max
|
||||||
|
+#undef min
|
Loading…
Reference in New Issue
Block a user