mbdyn-git
maintainer zanoni
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source is a git repository from a university-hosted GitLab instance (polimi.it), which is a plausible project-owned host; building from source is normal for AUR packages, and the software is a legitimate scientific simulation tool.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a git repository from a university-hosted GitLab instance (polimi.it), which is a plausible project-owned host; building from source is normal for AUR packages, and the software is a legitimate scientific simulation tool.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:35
source=("${pkgname}::git+https://public.gitlab.polimi.it/DAER/mbdyn.git#branch=develop")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Andrea Zanoni <andrea dot zanoni at polimi dot it>
2
pkgname=mbdyn-git
3
pkgver=r18.fbacc87
4
pkgrel=1
5
pkgdesc="The first *free* general purpose Multibody Dynamics analysis software"
6
arch=('x86_64')
7
url='https://www.mbdyn.org'
8
license=('GPL-2.0-or-later')
9
depends=(
10
'suitesparse'
11
'netcdf'
12
'netcdf-cxx'
13
'hdf5'
14
'arpack'
15
'lapack'
16
'blas'
17
'python'
18
'python-numpy'
19
'octave'
20
'gtest'
21
'boost'
22
)
23
makedepends=(
24
'git'
25
'autoconf'
26
'automake'
27
'gcc-fortran'
28
'libtool'
29
)
30
optdepends=(
31
'trilinos: advanced nonlinear solver support (NOX) - requires version 16.1.0 from AUR'
32
'ginac: symbolic elements support'
33
'intel-oneapi-mkl: Intel MKL PARDISO sparse solver support'
34
)
35
source=("${pkgname}::git+https://public.gitlab.polimi.it/DAER/mbdyn.git#branch=develop")
36
install=mbdyn.install
37
sha256sums=('SKIP')
38
options=('!buildflags')
39
40
# Note: edit the list of modules to suit your needs
41
# All modules enabled by default, remove ones you don't need
42
_modules="fabricate damper-gandhi pid hfelem fab-electric template2 cont-contact wheel4 mds indvel mcp_test1 scalarfunc muscles minmaxdrive drive-test loadinc cudatest randdrive imu convtest md autodiff_test rotor-loose-coupling namespace drive controller constlaw fab-sbearings rotor_disc hunt-crossley diff damper-hydraulic cyclocopter fab-motion flightgear hid ns damper-graall nonsmooth-node cosim-output"
43
44
# Compiler optimization flags (matching Arch build script)
45
_compiler_flags="-Ofast -march=native -mtune=native"
46
47
pkgver() {
48
cd ${pkgname}
49
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
50
}
51
52
prepare() {
53
cd ${srcdir}/${pkgname}
54
sh bootstrap.sh
55
}
56
57
build() {
58
cd ${srcdir}/${pkgname}
59
60
# Setup include paths
61
CPPFLAGS="-I/usr/include/suitesparse"
62
63
# Check if Trilinos is installed
64
_trilinos_flag="--without-trilinos"
65
if pacman -Q trilinos &>/dev/null; then
66
echo "==> Trilinos detected, enabling Trilinos support"
67
_trilinos_flag="--with-trilinos"
68
CPPFLAGS+=" -I/usr/include/trilinos -I/usr/include/trilinos/kokkos"
69
else
70
echo "==> Trilinos not found, building without Trilinos support"
71
echo "==> Install 'trilinos' from AUR for advanced nonlinear solver support (NOX)"
72
fi
73
74
# Check if Intel MKL is installed
75
_pardiso_flag="--without-pardiso"
76
if [[ -d "/opt/intel/oneapi/mkl" ]]; then
77
echo "==> Intel MKL detected, enabling PARDISO support"
78
_pardiso_flag="--with-pardiso"
79
_mkl_pc=$(find /opt/intel/oneapi/mkl -name "mkl-dynamic-lp64-gomp.pc" 2>/dev/null | head -1)
80
if [[ -n "$_mkl_pc" ]]; then
81
export PKG_CONFIG_PATH="$(dirname $_mkl_pc):${PKG_CONFIG_PATH}"
82
CPPFLAGS+=" $(pkg-config --cflags-only-I mkl-dynamic-lp64-gomp)"
83
LDFLAGS+=" $(pkg-config --libs-only-L mkl-dynamic-lp64-gomp)"
84
LDFLAGS+=" $(pkg-config --libs-only-L mkl-dynamic-lp64-gomp | sed 's/^-L\//-Wl,-rpath=\//g')"
85
fi
86
fi
87
88
# Python configuration
89
PYTHON_VERSION="3"
90
export CPPFLAGS
91
export LDFLAGS
92
93
# Enable runtime loading for modules
94
CXXFLAGS="${_compiler_flags} -std=c++20 -rdynamic"
95
CFLAGS="${_compiler_flags}"
96
FFLAGS="${_compiler_flags}"
97
FCFLAGS="${_compiler_flags}"
98
99
./configure \
100
PYTHON_VERSION="${PYTHON_VERSION}" \
101
CPPFLAGS="${CPPFLAGS}" \
102
CXXFLAGS="${CXXFLAGS}" \
103
CFLAGS="${CFLAGS}" \
104
FFLAGS="${FFLAGS}" \
105
FCFLAGS="${FCFLAGS}" \
106
--prefix=/usr \
107
--libexecdir=/usr/lib/${pkgname::-4} \
108
--with-module="${_modules}" \
109
--enable-python \
110
--enable-octave \
111
--enable-octave-utils \
112
--enable-netcdf \
113
--with-lapack \
114
--with-arpack \
115
--with-umfpack \
116
--with-klu \
117
--with-suitesparseqr \
118
--with-static-modules \
119
--without-mpi \
120
--without-siconos \
121
--enable-runtime-loading \
122
--enable-Werror=no \
123
--with-gtest \
124
--enable-override-operator-new \
125
--enable-multithread \
126
${_trilinos_flag} \
127
${_pardiso_flag}
128
129
make -j$(nproc)
130
}
131
132
package() {
133
cd ${srcdir}/${pkgname}
134
make DESTDIR="${pkgdir}" install
135
}
136
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |