Download raw body.
devel/cargo/cargo.port.mk: use pkg-config for libsqlite3-sys
devel/cargo/cargo.port.mk: use pkg-config for libsqlite3-sys
Bjorn Ketelaars <bket@openbsd.org> writes:
> For whenever the ports tree is unlocked again:
>
> The diff below refines how we handle the libsqlite3-sys crate in
> cargo.port.mk.
>
> Currently, we remove the entire sqlite3/ directory within the crate.
> However, this directory contains glue code/binding that the crate's
> build.rs expects to find, even when linking against a system library.
> Deleting the whole tree leads to unnecessary build complications.
>
> Changes:
> - Set LIBSQLITE3_SYS_USE_PKG_CONFIG=1 in MODCARGO_ENV to force the crate
> to use the system's sqlite3 via pkg-config.
> - Change the cleanup logic to only remove .c and .h files. This ensures
> the bundled C source cannot be used while keeping the directory
> structure and any non-C files intact for the Rust bindings.
>
> This brings libsqlite3-sys in line with how we handle similar crates
> like libz-sys or zstd-sys.
>
> Tested on amd64 with several ports relying on libsqlite3-sys.
>
> Comments / OK (when ports tree is unlocked)?
Thanks, it seems right.
ok semarie@ (for post-unlock)
--
Sebastien Marie
> diff --git cargo.port.mk cargo.port.mk
> index bea935b258d..0d63b67e6cd 100644
> --- cargo.port.mk
> +++ cargo.port.mk
> @@ -135,9 +135,10 @@ MODCARGO_post-extract += \
> rm -f -- ${MODCARGO_VENDOR_DIR}/${_cratename}-${_cratever}/libsodium-*.tar.gz ;
>
> . elif "${_cratename}" == "libsqlite3-sys"
> +MODCARGO_ENV += LIBSQLITE3_SYS_USE_PKG_CONFIG=1
> MODCARGO_post-extract += \
> ${ECHO_MSG} "[modcargo] Removing libsrc for ${_cratename}-${_cratever}" ; \
> - rm -rf -- ${MODCARGO_VENDOR_DIR}/${_cratename}-${_cratever}/sqlite3 ;
> + rm -f -- ${MODCARGO_VENDOR_DIR}/${_cratename}-${_cratever}/sqlite3/*.{c,h} ;
>
> . elif "${_cratename}" == "libssh2-sys"
> MODCARGO_ENV += LIBSSH2_SYS_USE_PKG_CONFIG=1
devel/cargo/cargo.port.mk: use pkg-config for libsqlite3-sys
devel/cargo/cargo.port.mk: use pkg-config for libsqlite3-sys