The cargo-c package creates a cargo subcommand to build and install C-ABI compatible dynamic and static libraries.
This package is known to build and work properly using an LFS 12.4 platform.
Download (HTTP): https://github.com/lu-zero/cargo-c/archive/v0.10.15/cargo-c-0.10.15.tar.gz
Download MD5 sum: 082c8d0028ccb1c4c2dacb1d9a44ed6e
Download size: 35 KB
Estimated disk space required: 827 MB
Estimated build time: 0.7 SBU
libssh2-1.11.1 and SQLite-3.50.4
An Internet connection is needed for building this package. The system certificate store may need to be set up with make-ca-1.16.1 before building this package.
First, download a file to ensure that cargo uses the dependency versions specified by the upstream developers when this cargo-c version (0.10.15) was released. Without this, the latest versions of the dependencies would be used and they might cause breakages:
curl -fLO https://github.com/lu-zero/cargo-c/releases/download/v0.10.15/Cargo.lock
Normally we would put such a download into an “Additional Downloads”
section. But in this case we cannot tell the package name and
version from the file name Cargo.lock
, so it's better not to put the
ambiguously-named file outside the cargo-c-0.10.15
directory. We use curl here because the cURL-8.15.0 package should have been installed
as a required dependency of rustc-1.89.0.
The md5sum of the file should be 57fab87782a5f9ef46fcbddc44d425b1
.
Install cargo-c by running the following commands:
[ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1 && [ ! -e /usr/include/sqlite3.h ] || export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 && cargo build --release
To test the results, issue: cargo test --release.
Now, as the root
user:
install -vm755 target/release/cargo-{capi,cbuild,cinstall,ctest} /usr/bin/
Finally, unset the exported environment variables:
unset LIB{SSH2,SQLITE3}_SYS_USE_PKG_CONFIG