Greg expressed concern about being the only packager chiming in here.

I didn't see anything that required me to do so, but I'll share my point of 
view as the Debian package maintainer.

On 6/12/26 1:24 AM, Even Rouault via gdal-dev wrote:
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.

Just for the record, this is the pco crate (https://crates.io/crates/pco).

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,

This reminds me of OSSIM and how its superbuild used CMake to download 
dependencies, a convenient feature for those not working within the constraints 
of OS package build environments.
- 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.

This is very welcome.

As long as it remains an optional dependency, I'll simply not use it for the 
Debian package.

If it becomes a required dependency, it will likely need to be vendored because 
I don't expect anyone to package the pco crate.

I don't see myself doing that either as I don't use Zarr datasets, like I don't 
use GeoParquet and can live without the Parquet driver in GDAL.

Users who do need this functionality are encouraged to help do the work to get 
the dependencies packaged and available on all release architectures.

Review of people who might have integrated Rust crates in CMake C/C++ projects 
welcome. See the PR description for details.

So far I've managed to avoid Rust, we'll see how long that lasts.

Python projects are increasingly following the example of python-cryptography 
and adopting Rust dependencies, e.g. cql2-rs for pystac-client.

Kind Regards,

Bas

--
 PGP Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to