[gdal-dev] Optional rust library as a dependency of the Zarr driver

Even Rouault even.rouault at spatialys.com
Fri Jun 12 07:33:07 PDT 2026


I've added a commit to require GDAL_USE_PCODEC to be explicitly set to 
ON to trigger download from source repositories (ie when cpcodec isn't 
already built and available on the build system). Mostly for license 
compliance, since Pcodec is Apache 2, and we want user consent before 
embedding such code.

Le 12/06/2026 à 01:24, Even Rouault via gdal-dev a écrit :
> Hi,
>
> We are in the situation where we are about to have our first Rust 
> direct (optional) dependency. This is for the "pcodec" lossless codec 
> (https://github.com/pcodec/pcodec) that is used by some Zarr datasets. 
> It offers a "cpcodec" crate with C bindings which we can use.
>
> I've tried in https://github.com/OSGeo/gdal/pull/14779 to offer 
> different options:
>
> - by default to satisfy "casual" developers building GDAL who are 
> mostly seeking ease of build and are fine with automatic download of 
> dependencies (pcodec and corrosion-rs for the CMake rust integration), 
> using git at CMake time,
>
> - as well as offering more control with manual settings - either by 
> pointing directly to an already installed cpcodec library, or by 
> pointing to the locations of the source tree of corrosion-rs and 
> pcodec - that should be more compatible of policies/constraints 
> of packagers.
>
> Review of people who might have integrated Rust crates in CMake C/C++ 
> projects welcome. See the PR description for details.
>
> Even
>
-- 
http://www.spatialys.com
My software is free, but my time generally not.



More information about the gdal-dev mailing list