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>
2pkgname=mbdyn-git
3pkgver=r18.fbacc87
4pkgrel=1
5pkgdesc="The first *free* general purpose Multibody Dynamics analysis software"
6arch=('x86_64')
7url='https://www.mbdyn.org'
8license=('GPL-2.0-or-later')
9depends=(
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)
23makedepends=(
24 'git'
25 'autoconf'
26 'automake'
27 'gcc-fortran'
28 'libtool'
29)
30optdepends=(
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)
35source=("${pkgname}::git+https://public.gitlab.polimi.it/DAER/mbdyn.git#branch=develop")
36install=mbdyn.install
37sha256sums=('SKIP')
38options=('!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
47pkgver() {
48 cd ${pkgname}
49 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
50}
51
52prepare() {
53 cd ${srcdir}/${pkgname}
54 sh bootstrap.sh
55}
56
57build() {
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
132package() {
133 cd ${srcdir}/${pkgname}
134 make DESTDIR="${pkgdir}" install
135}
136

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion