python-damask
damask
scanned 2026-11-01 00:21:48.120785
The source is a tarball from the project's official domain (damask-multiphysics.org), which is not on the whitelist but is plausibly legitimate; building from official project sources is normal AUR practice and the checksum is verified.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a tarball from the project's official domain (damask-multiphysics.org), which is not on the whitelist but is plausibly legitimate; building from official project sources is normal AUR practice and the checksum is verified.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:17
source=(https://damask-multiphysics.org/download/damask-${pkgver}.tar.xz
PKGBUILD
1 offending line(s) highlighted# Maintainer: Martin Diehl <martin.diehl@kuleuven.be>
pkgbase=damask
pkgname=('damask' 'damask-grid' 'damask-mesh' 'python-damask')
pkgver=3.1.0
pkgrel=3
pkgdesc='DAMASK - The Duesseldorf Advanced Material Simulation Kit'
arch=('x86_64')
url='https://damask-multiphysics.org'
license=('AGPL-3.0-or-later')
petsc_excluded='3.27' # next PETSc release (exclude because API changes are expected)
makedepends=('gcc-fortran' 'cmake'
'python-build' 'python-installer' 'python-wheel' 'python-setuptools'
"petsc<${petsc_excluded}" 'hdf5-openmpi' 'fftw-openmpi' 'zlib' 'libfyaml'
'python-pandas' 'python-numpy' 'python-scipy' 'python-h5py-openmpi' 'python-matplotlib' 'python-pyaml'
'vtk' 'fmt' 'verdict')
optdepends=('paraview: post-processing')
source=(https://damask-multiphysics.org/download/damask-${pkgver}.tar.xz
'DAMASK_grid.1'
'DAMASK_mesh.1')
sha512sums=('7e00d655601ab1c097505e4202713f0708bd6137b01fc5e47b162d788399fb95669c39f6df79bb699ede87fce502011f94cec37839cd774fb54a8b7dd1a5aeab'
'd41eaae25bfb428661cb121ff89b80c6f146c997df40e1bd8736381c1ae73c0535d0886d6586edf34bb55d47629efa27d23058a044363c33f383f9ab097b91a4'
'5ed3d30432a3999894f137da0eeed73985c3ba7155458b3c25dbda2b91b44c23a821da880881c71cd224945133ed8290da04ee1caa079533e746b6d0070e46be')
prepare() {
sed -i 's#fs_case_sensitive(${CMAKE_INSTALL_PREFIX}/bin fs_is_case_sensitive)#set(fs_is_case_sensitive BOOL FALSE)#g' ${pkgname}-${pkgver}/src/CMakeLists.txt
sed -i '21s/25/26/g' ${pkgname}-${pkgver}/CMakeLists.txt
}
build() {
cmake -S ${pkgbase}-${pkgver} \
-B build-test \
-D TEST=ON \
-D CMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_BUILD_TYPE:STRING=Performance
make -C build-test
cmake -S ${pkgbase}-${pkgver} \
-B build-grid \
-D GRID=ON \
-D CMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_BUILD_TYPE:STRING=Performance
make -C build-grid
cmake -S ${pkgbase}-${pkgver} \
-B build-mesh \
-D MESH=ON \
-D CMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_BUILD_TYPE:STRING=Performance
make -C build-mesh
cd ${pkgbase}-${pkgver}/python
python -m build --wheel --no-isolation
}
check() {
mpirun -np 2 build-test/src/DAMASK_test
example_dir="$(pwd)"/${pkgbase}-${pkgver}/examples/grid
mpirun -np 2 build-grid/src/DAMASK_grid \
-l "${example_dir}"/tensionX.yaml \
-g "${example_dir}"/20grains16x16x16.vti \
-m "${example_dir}"/material.yaml \
-w $(mktemp -d)
example_dir="$(pwd)"/${pkgbase}-${pkgver}/examples/mesh
./build-mesh/src/DAMASK_mesh \
-l "${example_dir}"/tensionZ_3g.yaml \
-g "${example_dir}"/cube_3grains.msh \
-m "${example_dir}"/material.yaml \
-w $(mktemp -d)
PYTHONPATH=${pkgbase}-${pkgver}/python:"${PYTHONPATH}"
python -c "import damask;print(damask.__version__)"
}
package_damask-grid() {
pkgdesc='Grid solver for DAMASK'
depends=("petsc<${petsc_excluded}" 'openmpi' 'hdf5-openmpi' 'libfyaml' 'zlib' 'fftw-openmpi')
optdepends=('dream3d: pre-processing')
install -m 644 -D ${pkgbase}-${pkgver}/examples/grid/* -t "${pkgdir}"/usr/share/doc/${pkgname}/
install -m 644 -D DAMASK_grid.1 -t "${pkgdir}"/usr/share/man/man1/
install -m 644 -D DAMASK_grid.1 -T "${pkgdir}"/usr/share/man/man1/damask_grid.1
install -m 644 -D ${pkgbase}-${pkgver}/env/damask_grid -t "${pkgdir}"/usr/share/bash-completion/completions/
install -m 644 -D ${pkgbase}-${pkgver}/env/_damask_grid -t "${pkgdir}"/usr/share/zsh/site-functions/
DESTDIR="${pkgdir}" cmake --install build-grid
ln -s DAMASK_grid "${pkgdir}"/usr/bin/damask_grid
}
package_damask-mesh() {
pkgdesc='Mesh solver for DAMASK'
depends=("petsc<${petsc_excluded}" 'openmpi' 'hdf5-openmpi' 'libfyaml')
optdepends=('neper: pre-processing')
install -m 644 -D ${pkgbase}-${pkgver}/examples/mesh/* -t "${pkgdir}"/usr/share/doc/${pkgname}/
install -m 644 -D DAMASK_mesh.1 -t "${pkgdir}"/usr/share/man/man1/
install -m 644 -D DAMASK_mesh.1 -T "${pkgdir}"/usr/share/man/man1/damask_mesh.1
install -m 644 -D ${pkgbase}-${pkgver}/env/damask_mesh -t "${pkgdir}"/usr/share/bash-completion/completions/
install -m 644 -D ${pkgbase}-${pkgver}/env/_damask_mesh -t "${pkgdir}"/usr/share/zsh/site-functions/
DESTDIR="${pkgdir}" cmake --install build-mesh
ln -s DAMASK_mesh "${pkgdir}"/usr/bin/damask_mesh
}
package_python-damask() {
pkgdesc='Pre- and post-processing tools for DAMASK'
depends=('python-pandas' 'python-numpy' 'python-scipy' 'python-h5py-openmpi' 'vtk' 'python-matplotlib' 'python-pyaml')
optdepends=('python-seaborn: post-processing'
'jupyterlab: comfortable shell'
'ipython: comfortable shell')
python -m installer --destdir="${pkgdir}" ${pkgbase}-${pkgver}/python/dist/*.whl
}
package_damask() {
depends=('python-damask' 'damask-grid' 'damask-mesh')
install -m 755 -d "${pkgdir}"/usr/share/doc/${pkgname}/
cp -r ${pkgbase}-${pkgver}/examples/config/* ${pkgdir}/usr/share/doc/${pkgname}/
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |
| 2026-10-18 00:06:55 | Low | 2 |
| 2026-10-17 00:21:55 | Low | 2 |
| 2026-10-16 00:12:47 | Low | 2 |
| 2026-10-15 00:28:05 | Low | 2 |
| 2026-10-14 00:06:47 | Low | 2 |
| 2026-10-13 00:23:45 | Low | 2 |