python-gdal-ecw
maintainer olivervbk
· 4 votes
· base
gdal-ecw
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source is a standard upstream tarball from the official OSGeo download server, which is a plausible project host; building from this source is normal AUR packaging behavior and poses no inherent risk.
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 standard upstream tarball from the official OSGeo download server, which is a plausible project host; building from this source is normal AUR packaging behavior and poses no inherent risk.
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:40
source=(https://download.osgeo.org/${_pkgbase}/${pkgver}/${_pkgbase}-${pkgver}.tar.xz)
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Sylvain POULAIN <sylvain dot poulain at giscan dot com>
2
# Contributor: Jaroslav Lichtblau <svetlemodry@archlinux.org>
3
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
4
# Contributor: William Rea <sillywilly@gmail.com>
5
# Contributor: Luigi Ranghetti <ggranga@gmail.com>
6
# Contributor: Oliver Kuster <olivervbk (at) gmail>
7
#
8
# Original can be found at:
9
# https://github.com/archlinux/svntogit-community/blob/packages/gdal/trunk/PKGBUILD
10
11
pkgbase=gdal-ecw
12
_pkgbase=gdal
13
provides=('gdal=3.13.0')
14
conflicts=('gdal')
15
pkgname=('gdal-ecw' 'python-gdal-ecw')
16
pkgver=3.13.0
17
pkgrel=1
18
pkgdesc="A translator library for raster and vector geospatial data formats, with support to ECW format. Based on gdal-hdf4 AUR package."
19
arch=(x86_64)
20
url="https://gdal.org/"
21
license=(custom)
22
depends=('curl' 'geos' 'giflib' 'hdf5' 'libgeotiff' 'libjpeg-turbo' 'libpng' 'libspatialite' 'libtiff' 'netcdf'
23
'openjpeg2' 'poppler' 'cfitsio' 'sqlite' 'mariadb-libs' 'postgresql-libs' 'xerces-c' 'json-c' 'arrow' 'pcre2'
24
'libecwj2'
25
'sfcgal'
26
'libkml-git'
27
)
28
29
makedepends=(cmake opencl-headers python-setuptools python-numpy
30
proj arrow blosc cfitsio curl crypto++ libdeflate expat libfreexl
31
libgeotiff geos giflib libheif hdf5 libjpeg-turbo json-c libjxl xz
32
libxml2 lz4 mariadb-libs netcdf unixodbc ocl-icd openexr openjpeg2
33
openssl pcre2 libpng podofo poppler postgresql-libs qhull
34
libspatialite sqlite swig libtiff libwebp xerces-c zlib zstd libaec
35
sfcgal
36
)
37
# armadillo basisu brunsli lerc qb3 rasterlite2 tiledb
38
# ogdi
39
changelog=$_pkgbase.changelog
40
source=(https://download.osgeo.org/${_pkgbase}/${pkgver}/${_pkgbase}-${pkgver}.tar.xz)
41
b2sums=('f8136f226bf2201a732e7acc61d23024a9f65fc9037386f18b3db4edb85672c054ac29703df1404a33efd97b266f0e40e716b0880e619dea3256e14afd366aaa')
42
43
build() {
44
opt_libs=""
45
[[ "$(ldconfig -p | grep kml)" ]] && { echo "Found libkml"; opt_libs+=" -DGDAL_USE_LIBKML=ON"; }
46
47
cmake -B build -S $_pkgbase-$pkgver \
48
-DCMAKE_INSTALL_PREFIX=/usr \
49
-DENABLE_IPO=ON \
50
-DBUILD_PYTHON_BINDINGS=ON \
51
-DGDAL_ENABLE_PLUGINS=ON \
52
-DGDAL_USE_ARROW=ON \
53
-DGDAL_USE_BLOSC=ON \
54
-DGDAL_USE_CFITSIO=ON \
55
-DGDAL_USE_CURL=ON \
56
-DGDAL_USE_CRYPTOPP=ON \
57
-DGDAL_USE_DEFLATE=ON \
58
-DGDAL_USE_EXPAT=ON \
59
-DGDAL_USE_FREEXL=ON \
60
-DGDAL_USE_GEOTIFF=ON \
61
-DGDAL_USE_GEOS=ON \
62
-DGDAL_USE_GIF=ON \
63
-DGDAL_USE_HEIF=ON \
64
-DGDAL_USE_HDF5=ON \
65
-DGDAL_USE_ICONV=ON \
66
-DGDAL_USE_JPEG=ON \
67
-DGDAL_USE_JSONC=ON \
68
-DGDAL_USE_JXL=ON \
69
-DGDAL_USE_LIBLZMA=ON \
70
-DGDAL_USE_LIBXML2=ON \
71
-DGDAL_USE_LZ4=ON \
72
-DGDAL_USE_MYSQL=ON \
73
-DGDAL_USE_NETCDF=ON \
74
-DGDAL_USE_ODBC=ON \
75
-DGDAL_USE_OPENEXR=ON \
76
-DGDAL_USE_OPENJPEG=ON \
77
-DGDAL_USE_OPENSSL=ON \
78
-DGDAL_USE_PARQUET=ON \
79
-DGDAL_USE_PCRE2=ON \
80
-DGDAL_USE_PNG=ON \
81
-DGDAL_USE_POPPLER=ON \
82
-DGDAL_USE_POSTGRESQL=ON \
83
-DGDAL_USE_QHULL=ON \
84
-DGDAL_USE_SPATIALITE=ON \
85
-DGDAL_USE_SQLITE3=ON \
86
-DGDAL_USE_TIFF_INTERNAL=ON \
87
-DGDAL_USE_GEOTIFF_INTERNAL=ON \
88
-DGDAL_USE_TIFF=ON \
89
-DGDAL_USE_WEBP=ON \
90
-DGDAL_USE_XERCESC=ON \
91
-DGDAL_USE_ZLIB=ON \
92
-DGDAL_USE_ZSTD=ON \
93
$opt_libs
94
make -C build
95
}
96
97
package_gdal-ecw () {
98
depends=(proj blosc crypto++ curl libdeflate expat libfreexl geos libgeotiff
99
giflib libjpeg-turbo json-c xz libxml2 lz4 unixodbc ocl-icd openssl
100
pcre2 libpng qhull libspatialite sqlite libtiff xerces-c zlib zstd libaec
101
arrow cfitsio hdf5 libheif mariadb-libs netcdf openexr openjpeg2
102
podofo poppler postgresql-libs libwebp libecwj2
103
)
104
optdepends=('arrow: Arrow/Parquet support'
105
'cfitsio: FITS support'
106
'hdf5: HDF5 support'
107
'libheif: HEIF support'
108
'libjxl: JPEG XL support'
109
'libkml-git: Full KML/KMZ support'
110
'mariadb-libs: MySQL support'
111
'netcdf: netCDF support'
112
'openexr: EXR support'
113
'openjpeg2: JP2 support'
114
'podofo: PDF support'
115
'poppler: PDF support'
116
'postgresql-libs: PostgreSQL support'
117
'perl: perl binding support'
118
'unixodbc: when present while building, will add odbc support'
119
'libwebp: WebP support')
120
121
make -C build DESTDIR="${pkgdir}" install
122
install -Dm644 ${_pkgbase}-${pkgver}/LICENSE.TXT -t "${pkgdir}"/usr/share/licenses/$_pkgbase/
123
# Move python stuff
124
mkdir -p {bin,lib}
125
mv "${pkgdir}"/usr/bin/*py bin
126
mv "${pkgdir}"/usr/lib/python* lib
127
}
128
129
package_python-gdal-ecw () {
130
pkgdesc="Python bindings for GDAL, with support to ECW format"
131
provides=("python-gdal")
132
conflicts=("python-gdal")
133
depends=("gdal-ecw=$pkgver" 'python-numpy')
134
135
install -d "${pkgdir}"/usr/{bin,lib}
136
mv bin/* "${pkgdir}"/usr/bin
137
mv lib/* "${pkgdir}"/usr/lib
138
install -dm755 "${pkgdir}"/usr/share/licenses
139
ln -s $_pkgbase "${pkgdir}"/usr/share/licenses/$pkgname
140
# byte-compile python modules since the CMake build does not do it.
141
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
142
python -m compileall -o 0 -o 1 -o 2 --hardlink-dupes -s "${pkgdir}" "${pkgdir}"${site_packages}
143
}
144
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 |