This is a WIP Rust port of the CLI utilities provided by libcdio.
- cd-drive: show CD-ROM drive characteristics
- cd-info: show information about a CD or CD-image
- cd-paranoia: an audio CD ripper
- cd-read: read information from a CD or CD-image
- cdda-player: a simple curses-based audio CD player
- iso-info: show information about an ISO 9660 image
- iso-read: read portions of an ISO 9660 image
- mmc-tool: issue low-level commands to a CD drive
- Cargo: The Rust build tool
- libclang:
Used by
libcdio-sysfor generating Rust bindings to libcdio - libcdio: Consult your package manager
cargo build --releaseOmit --release for debug builds.
The build outputs should be in the target directory.
cargo testTo run ignored tests, which require some extra setup:
cargo test -- --include-ignoredBuild libcdio with the --without-versioned-libs option.
cd libcdio
autoreconf -f -i
./configure --without-versioned-libs
makeSet the following environment variables:
# Set this to the (absolute!) path of your libcdio build directory
export LIBCDIO_ROOT="/home/skran/libcdio"
export SYSTEM_DEPS_LIBCDIO_NO_PKG_CONFIG="yes"
export SYSTEM_DEPS_LIBCDIO_SEARCH_NATIVE="$LIBCDIO_ROOT/lib/driver/.libs"
export SYSTEM_DEPS_LIBCDIO_INCLUDE="$LIBCDIO_ROOT/include"
export SYSTEM_DEPS_LIBCDIO_LIB="cdio"
export BINDGEN_EXTRA_CLANG_ARGS="-I$LIBCDIO_ROOT/include"
export LD_LIBRARY_PATH="$LIBCDIO_ROOT/lib/driver/.libs:$LD_LIBRARY_PATH"
# For macOS
# export DYLD_LIBRARY_PATH="$LIBCDIO_ROOT/lib/driver/.libs:$DYLD_LIBRARY_PATH"That's it. Cargo should now use your local copy of libcdio.