ncl
The package builds from the official GitHub source of the NCAR NCL project and applies well-documented, benign patches from Fedora's trusted RPM repository; the non-whitelisted host (src.fedoraproject.org) hosts only patch files, not executables, and the rest of the sources are from official project repositories, making the overall risk low.
Triggered rules
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 package builds from the official GitHub source of the NCAR NCL project and applies well-documented, benign patches from Fedora's trusted RPM repository; the non-whitelisted host (src.fedoraproject.org) hosts only patch files, not executables, and the rest of the sources are from official project repositories, making the overall risk low.
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:19
http://www.netlib.org/voronoi/triangle.zip Site.local ncarg.sh hluresfile ncl.install
PKGBUILD
1 offending line(s) highlighted# Maintainer: XavierCLL <xavier.corredor.llano (a) gmail.com>
# Maintainer: Michal Wojdyla < micwoj9292 at gmail dot com >
pkgname=ncl
pkgver=6.6.2
pkgrel=5
pkgdesc='Ncar Command Language, is an interpreted language designed specifically for scientific data analysis and visualization'
url='http://www.ncl.ucar.edu'
license=('Apache-2.0')
arch=('i686' 'x86_64')
depends=('libxext' 'cairo' 'pixman' 'fontconfig' 'expat' 'bzip2' 'zlib' 'netcdf' 'hdf5'
'triangle' 'hdf4' 'netcdf-fortran' 'libxt' 'libxaw' 'libxext' 'libxpm' 'udunits'
'libx11' 'imake' 'g2clib' 'gdal' 'lesstif' 'glibc' 'libjpeg' 'libpng' 'jasper' 'libaec'
'libxaw' 'tcsh' 'flex' 'gsl')
makedepends=('gcc' 'gcc-fortran' 'tcsh' 'byacc' 'lapack')
provides=('ncl')
install=${pkgname}.install
backup=(etc/profile.d/ncarg.sh)
source=(ncl-$pkgver.tar.gz::https://github.com/NCAR/ncl/archive/$pkgver.tar.gz
http://www.netlib.org/voronoi/triangle.zip Site.local ncarg.sh hluresfile ncl.install
no_install_dep.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-5.0.0-no_install_dep.patch
includes.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-5.1.0-includes.patch
netcdff.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-5.1.0-netcdff.patch
paths.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-5.1.0-paths.patch
ncl-libs.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-libs.patch
ncl-gdal.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-gdal.patch
ncl-proj8.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-proj8.patch
ncl-format.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-format.patch
ncl-boz.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-boz.patch
ncl-hdf4.3.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-hdf4.3.patch
ncl-gcc15.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-gcc15.patch
ncl-nc-set-log-level.patch::https://src.fedoraproject.org/rpms/ncl/raw/main/f/ncl-nc-set-log-level.patch)
optdepends=('ncl-highres: High-resolution coastlines (RANGS and GSHHS)')
sha256sums=('cad4ee47fbb744269146e64298f9efa206bc03e7b86671e9729d8986bb4bc30e'
'1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480'
'bbb3d9a712107a3cabb427a06960ec0e1db90f3df9891845f8dc7af66f57123a'
'4e2347ffc7ffe20c32124430c8a165ad9e750f60d9948f11fc7e610aa7130c8e'
'5b3990a78e849044cd5f0e9d98661f8325b8a5629604237dd3caa1f7e3b6e32e'
'79a9b66ea670dcf5a69c29ad6eab804e696ca79d050d584d66dafbd2c611bcdb'
'6b15ccdbd3a5c0d044b867342b5ab9daad1add6f6a488d14be955b172116c0ed'
'870e6e7a868a3c5c94bcd3f3af898ea9bebd666343e4b0f77e4a74e85aadf55b'
'4f168597ca725145c009fd33dfde27d50d936412b0365edb33be2f915d1af07c'
'61b9b3beab800f0de350564a42ccd54d5e7e1e23189199350f084435fbce6564'
'5a7516b9ddbc1af91518b030f58f4b17de0efb046ba615eab549dde6b0875e04'
'0ae96df73ac8902b1cd4bab203c45c4bc58b2f645ed094768884f9149066849a'
'f960b172438485f664a2ce72c47daf5ccd6f3ff81ecd5866ae746c2ae8300529'
'adb5e0eaa5edcedf0276979431dff2fba3fe7850a5bace3a3071ca858bc8b3b5'
'64f3502c9deab48615a4cbc26073173081c0774faf75778b044d251e45d238f7'
'f93d79090cdd95a7d7642271a83adad0ea394e3d4f58c3e8f31cf2e4811700e2'
'e1861055e58695279fed24480216d7cb46b476af67cda2f4f6557fc239208b24'
'899b9bee42c35c3ee3329b6f7c3009382cdbc903d82f156316c62eb7a8dee987')
build() {
# copy triangle library
cp triangle.c triangle.h ${pkgname}-$pkgver/ni/src/lib/hlu/
cd ${pkgname}-$pkgver
# patchs http://pkgs.fedoraproject.org/cgit/rpms/ncl.git
patch -Np1 --ignore-whitespace -i ../no_install_dep.patch
patch -Np1 --ignore-whitespace -i ../includes.patch
patch -Np1 --ignore-whitespace -i ../netcdff.patch
patch -Np1 --ignore-whitespace -i ../paths.patch
patch -Np1 --ignore-whitespace -i ../ncl-libs.patch
patch -Np1 --ignore-whitespace -i ../ncl-gdal.patch
patch -Np1 --ignore-whitespace -i ../ncl-proj8.patch
patch -Np1 --ignore-whitespace -i ../ncl-format.patch
patch -Np1 --ignore-whitespace -i ../ncl-boz.patch
patch -Np1 --ignore-whitespace -i ../ncl-hdf4.3.patch
patch -Np1 --ignore-whitespace -i ../ncl-gcc15.patch
patch -Np1 --ignore-whitespace -i ../ncl-nc-set-log-level.patch
# Spurrious exec permissions
find -name '*.[fh]' -exec chmod -x {} +
#Fixup LINUX config (to expose vsnprintf prototype)
sed -i -e '/StdDefines/s/-DSYSV/-D_ISOC99_SOURCE/' config/LINUX
rm -rf external/blas external/lapack
sed -ri -e 's,-lblas_ncl,-lblas,' \
-e 's,-llapack_ncl,-llapack,' config/Project
# configure
#./Configure -ncar || return 1
cp ../Site.local config/
sed -i "s|YmakeRoot /usr|YmakeRoot ${pkgdir}/usr|g" config/Site.local
# Fixup LINUX config (to expose vsnprintf prototype)
sed -i -e '/StdDefines/s/-DSYSV/-D_ISOC99_SOURCE/' config/LINUX
# fix include c.h
sed -i 's|#include <ncarg/c.h>|#include "c.h"|g' common/src/libncarg_c/env.c \
common/src/libncarg_c/gsbytes.c common/src/libncarg_c/logic32.c common/src/libncarg_c/logic64.c \
common/src/libncarg_c/mangle.c common/src/libncarg_c/rwchinfl.c common/src/libncarg_c/trnspprt.c
# fix netcdf.h
sed -i 's|#include <netcdf.h>|#include "/usr/include/netcdf.h"|g' `find . -name \*.c`
sed -i 's|#include <netcdf.h>|#include "/usr/include/netcdf.h"|g' `find . -name \*.h`
./config/ymkmf
# build
make Build CCOPTIONS="-O2 -std=c99 -fPIC -fno-strict-aliasing -fopenmp -lnetcdf -fcommon -DH5_USE_110_API -Wno-implicit-int -Wno-implicit-function-declaration -Wno-int-conversion -Wno-incompatible-pointer-types" F77="gfortran" F77_LD="gfortran"\
CTOFLIBS="-lgfortran" FCOPTIONS="-fPIC -fno-second-underscore -fno-range-check -fopenmp -fallow-argument-mismatch -fcommon -DH5_USE_110_API" # >> log 2>&1
}
package() {
# install
cd ${pkgname}-$pkgver
make install # >> log 2>&1
# move libs
mv ${pkgdir}/usr/share/ncarg/* ${pkgdir}/usr/lib/ncarg/
rm -rf ${pkgdir}/usr/share/ncarg
# Use system udunits
rm -rf ${pkgdir}/usr/lib/ncarg/udunits
ln -s /usr/share/udunits ${pkgdir}/usr/lib/ncarg/
# set variable ncarg in system
install -dv ${pkgdir}/etc/profile.d
install --mode=755 ../ncarg.sh --target-directory=${pkgdir}/etc/profile.d/
# copy hluresfile
install --mode=644 ../hluresfile --target-directory=${pkgdir}/usr/lib/ncarg/
# compress and put in order man files
cd $pkgdir/usr/man
for listman in `ls`
do
mkdir -p $pkgdir/usr/share/man/$listman
cd $pkgdir/usr/man/$listman
for manfiles in `ls`
do
gzip $manfiles
mv ${manfiles}.gz $pkgdir/usr/share/man/$listman/
done
done
rm -Rf $pkgdir/usr/man/
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |