gdalraster.windows builds a self-contained
gdalraster package against a modern
GDAL runtime published by this repository.
The installed gdalraster vendors GDAL and dependency DLLs, matching GDAL/PROJ
data, and osgeo_utils. Later sessions require no activation helper,
.Rprofile hook, PATH edit, or GDAL environment variables.
Install the package, then build a self-contained gdalraster into the regular
user library:
# pak::pak("jimbrig/gdalraster.windows")
install.packages("gdalraster.windows", repos = c('https://jimbrig.r-universe.dev', 'https://cloud.r-project.org'))
gdalraster.windows::gdal_setup()
Then, in any fresh session:
library(gdalraster)
gdalraster::gdal_global_reg_names()
Pass lib for a custom library, or isolated = TRUE for a package-managed
library that does not replace .libPaths()[1].
gdalraster.windows::gdal_sitrep()
gdalraster.windows::gdal_verify()
gdalraster.windows::gdal_update()
Verification runs in fresh processes and checks:
gdal driver gpkg validate when embedded Python is ready.gdalraster.windows::gdal_setup(
local_zip = "C:/Downloads/gdal-bundle-v3.13.2-windows-x64.zip"
)
Bundle assets are published at https://github.com/jimbrig/gdalraster.windows/releases.
The package uses the downloaded bundle as a build-time SDK. After compiling
gdalraster, it stages and vendors:
gdalraster/
libs/x64/ # gdalraster.dll + GDAL dependency closure
gdal/ # matching GDAL data
proj/ # matching PROJ data
python/osgeo_utils/ # embedded-Python algorithms
gdalraster.windows-build.dcf
The SDK has its own MANIFEST.dcf. Comparing bundle tags lets
gdal_sitrep() detect a stale build after a runtime update.
Embedded Python is provisioned through a managed .pth in system CPython's
site-packages; the package never sets PYTHONPATH.
.github/workflows/build.yml, tools/build_gdal.sh, and
tools/collect_dlls.sh build and publish the GDAL bundle.gdalraster, provisions
Python, and verifies the user workflow..github/workflows/e2e.yml proves fresh-session self-containment..github/workflows/edge-cases.yml exercises dirty-machine failure modes.See the published Getting Started, Runtime Guide, Architecture, and Troubleshooting articles for details.