geant4-full
The source URL is hosted on a CERN subdomain, which is plausibly part of Geant4's official infrastructure, and the package builds from source; the non-whitelisted host is a false positive given the project's legitimate origin.
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 URL is hosted on a CERN subdomain, which is plausibly part of Geant4's official infrastructure, and the package builds from source; the non-whitelisted host is a false positive given the project's legitimate origin.
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:54
"http://geant4-data.web.cern.ch/releases/geant4-v${pkgver}.tar.gz"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Filippo Falezza <filippo dot falezza at outlook dot it>
pkgname='geant4-full'
pkgver=11.4.2
pkgrel=2
pkgdesc="A simulation toolkit for particle physics interactions - includes all the optional libraries"
depends=(
'cmake>=3.16'
'xerces-c>=3'
'qt6-base'
'glu'
'openmotif'
'soqt'
'zlib'
'python>=3'
'boost'
'tbb'
'root'
)
provides=('geant4')
conflicts=(
'geant4_devel'
'geant4'
'geant4-debug'
'geant4-abladata'
'geant4-channelingdata'
'geant4-ensdfstatedata'
'geant4-incldata'
'geant4-ledata'
'geant4-levelgammadata'
'geant4-neutronhpdata'
'geant4-neutronxsdata'
'geant4-nudexlibdata'
'geant4-particlehpdata'
'geant4-particlexsdata'
'geant4-piidata'
'geant4-radioactivedata'
'geant4-realsurfacedata'
'geant4-saiddata'
'geant4-uurptdata'
)
optdepends=(
'java-environment'
'tcsh'
'geant4-lend'
'dawn'
'hdf5-geant4'
)
url="http://geant4.cern.ch/"
arch=('x86_64')
license=('custom: http://geant4.cern.ch/license/')
options=('!emptydirs')
source=(
"http://geant4-data.web.cern.ch/releases/geant4-v${pkgver}.tar.gz"
'geant4-full.install'
'hdf5_2_2.patch'
)
sha256sums=(
'5720f2bba6921027e206ad4f0a06f9bcc348adab36240e8b27710f20ce3e971a'
'5fde7b80dcfa960407b1ecb2b2a2aa817250948cc32490d8ece48a5e5b4035c1'
'2486b50adcf4a6ce08b1a5b38b72469926f5835a2b0322b2d962902918eff8a2'
)
install="geant4-full.install"
prepare() {
cd "${srcdir}"
patch -Np0 < hdf5_2_2.patch
}
build() {
cd "${srcdir}"
echo "
export PATH=\$PATH:/opt/Geant4/Geant4-v${pkgver}/bin
export G4NEUTRONHPDATA=/opt/Geant4/Libraries/G4NDL4.7.1
export G4LEDATA=/opt/Geant4/Libraries/G4EMLOW8.8
export G4LEVELGAMMADATA=/opt/Geant4/Libraries/PhotonEvaporation6.1.2
export G4RADIOACTIVEDATA=/opt/Geant4/Libraries/RadioactiveDecay6.1.2
export G4PARTICLEXSDATA=/opt/Geant4/Libraries/G4PARTICLEXS4.2
export G4PIIDATA=/opt/Geant4/Libraries/G4PII1.3
export G4REALSURFACEDATA=/opt/Geant4/Libraries/RealSurface2.2
export G4SAIDXSDATA=/opt/Geant4/Libraries/G4SAIDDATA2.0
export G4ABLADATA=/opt/Geant4/Libraries/G4ABLA3.3
export G4INCLDATA=/opt/Geant4/Libraries/G4INCL1.3
export G4ENSDFSTATEDATA=/opt/Geant4/Libraries/G4ENSDFSTATE3.0
export G4CHANNELINGDATA=/opt/Geant4/Libraries/G4CHANNELING2.0
export G4PARTICLEHPDATA=/opt/Geant4/Libraries/G4TENDL1.4
export G4NUDEXLIBDATA=/opt/Geant4/Libraries/G4NUDEXLIB1.0
export G4URRPTDATA=/opt/Geant4/Libraries/G4URRPT1.1" > Geant4.sh
echo "
setenv PATH \$PATH:/opt/Geant4/Geant4-v${pkgver}/bin
setenv G4NEUTRONHPDATA /opt/Geant4/Libraries/G4NDL4.7.1
setenv G4LEDATA /opt/Geant4/Libraries/G4EMLOW8.8
setenv G4LEVELGAMMADATA /opt/Geant4/Libraries/PhotonEvaporation6.1.2
setenv G4RADIOACTIVEDATA /opt/Geant4/Libraries/RadioactiveDecay6.1.2
setenv G4PARTICLEXSDATA /opt/Geant4/Libraries/G4PARTICLEXS4.2
setenv G4PIIDATA /opt/Geant4/Libraries/G4PII1.3
setenv G4REALSURFACEDATA /opt/Geant4/Libraries/RealSurface2.2
setenv G4SAIDXSDATA /opt/Geant4/Libraries/G4SAIDDATA2.0
setenv G4ABLADATA /opt/Geant4/Libraries/G4ABLA3.3
setenv G4INCLDATA /opt/Geant4/Libraries/G4INCL1.3
setenv G4ENSDFSTATEDATA /opt/Geant4/Libraries/G4ENSDFSTATE3.0
setenv G4CHANNELINGDATA /opt/Geant4/Libraries/G4CHANNELING2.0
setenv G4PARTICLEHPDATA /opt/Geant4/Libraries/G4TENDL1.4
setenv G4NUDEXLIBDATA /opt/Geant4/Libraries/G4NUDEXLIB1.0
setenv G4URRPTDATA /opt/Geant4/Libraries/G4URRPT1.1" > Geant4.csh
[ -d "${srcdir}"/build ] || mkdir "${srcdir}"/build
cd "${srcdir}"/build
#check if hdf5-geant4 is installed, if so enable support, otherwise disable
_HDF5=OFF
if pacman -Q hdf5-geant4 &> /dev/null
then
_HDF5=ON
else
_HDF5=OFF
fi
cmake \
-DCMAKE_POLICY_VERSION_MINIMUM=4.0 \
-DCMAKE_INSTALL_PREFIX=/opt/Geant4/Geant4-v${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DGEANT4_BUILD_MULTITHREADED=ON \
-DGEANT4_INSTALL_DATA=ON \
-DGEANT4_INSTALL_DATASETS_TENDL=ON \
-DGEANT4_INSTALL_DATASETS_URRPT=ON \
-DGEANT4_INSTALL_DATASETS_NUDEXLIB=ON \
-DGEANT4_USE_G3TOG4=ON \
-DGEANT4_USE_GDML=ON \
-DGEANT4_USE_FREETYPE=ON \
-DGEANT4_USE_QT_QT6=ON \
-DGEANT4_USE_INVENTOR_QT=ON \
-DGEANT4_USE_OPENGL_X11=ON \
-DGEANT4_USE_QT=ON \
-DGEANT4_USE_RAYTRACER_X11=ON \
-DGEANT4_USE_SYSTEM_ZLIB=ON \
-DGEANT4_USE_XM=ON \
-DGEANT4_INSTALL_PACKAGE_CACHE=OFF \
-DGEANT4_USE_PYTHON=ON \
-DGEANT4_USE_TBB=ON \
-DGEANT4_USE_HDF5=${_HDF5} \
-DGEANT4_BUILD_TLS_MODEL=global-dynamic \
-DGEANT4_INSTALL_DATADIR=/opt/Geant4/Libraries \
../geant4-v${pkgver}
#set GEANT4_BUILD_TLS_MODEL=global-dynamic and GEANT4_USE_PYTHON=ON for compatibility with g4python
make #VERBOSE=1
}
package() {
cd "${srcdir}"
install -D -m 755 Geant4.sh "${pkgdir}"/etc/profile.d/Geant4.sh
install -D -m 755 Geant4.csh "${pkgdir}"/etc/profile.d/Geant4.csh
cd "${srcdir}"/build
make DESTDIR="${pkgdir}" install
mkdir -p "${pkgdir}"/usr/include
ln -s /opt/Geant4/Geant4-v${pkgver}/lib ${pkgdir}/opt/Geant4/Geant4-v${pkgver}/lib64
ln -s /opt/Geant4/Geant4-v${pkgver}/include/Geant4 "${pkgdir}"/usr/include/Geant4
ln -s /opt/Geant4/Geant4-v${pkgver}/include/Geant4/CLHEP "${pkgdir}"/usr/include/CLHEP
ln -s /opt/Geant4/Geant4-v${pkgver}/include/Geant4/PTL "${pkgdir}"/usr/include/PTL
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-03 00:23:04 | Low | 2 |
| 2026-10-02 00:00:32 | Low | 2 |
| 2026-10-01 00:02:06 | Low | 2 |
| 2026-09-30 00:20:07 | Low | 2 |
| 2026-09-29 00:07:46 | Low | 2 |
| 2026-09-28 00:28:32 | Low | 2 |
| 2026-09-27 00:07:07 | Low | 2 |
| 2026-09-26 00:12:15 | Low | 2 |
| 2026-09-25 00:03:36 | Low | 2 |
| 2026-09-24 00:24:14 | Low | 2 |
| 2026-09-23 00:28:13 | Low | 2 |
| 2026-09-22 00:15:14 | Low | 2 |
| 2026-09-21 00:26:32 | Low | 2 |
| 2026-09-20 00:25:31 | Low | 2 |
| 2026-09-19 00:25:36 | Low | 2 |
| 2026-09-18 00:17:11 | Low | 2 |
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |