Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
gexiv2-sys
Rust FFI declarations for gexiv2
This library provides Rust FFI declarations for the gexiv2 library, which is a GObject-based wrapper around the Exiv2 library, which provides read and write access to the Exif, XMP, and IPTC metadata in media files.
Only FFI declarations are provided here; for a usable Rust library, consider
the rexiv2
crate.
Documentation
gexiv2’s APIs may be a useful reference, along with Exiv2’s API docs.
Dependencies
Given that it links to gexiv2, and transitively to Exiv2, gexiv2-sys obviously
depends on them. Only the library (e.g. .so
or .dll
) files are needed; not
the headers or source code. You can download these dependencies from their
download pages: Exiv2; gexiv2.
On a Linux system, you can typically install these dependencies through your package manager (look for packages with names like “libgexiv2-dev”). Mac OS X users may also have this option through unofficial package management systems. Note that to build gexiv2-sys from source you may need not just the library packages, but the “dev” versions of them as well.
Optional Features
raw-tag-access: If you need access to the raw byte values of tags, you can
enable this feature and gain the gexiv2_metadata_get_tag_raw
function. Note
that the return value of this call is a GLib GBytes
object, which
you can convert to a data pointer via GLib’s g_bytes_unref_to_data
.
This feature is disabled by default because it introduces a new dependency on
glib-sys
, and consequently on the GLib system library.
xmp-packet-access: If you need access to the XML-formatted XMP packet, you
can enable this feature. It will add the gexiv2_metadata_generate_xmp_packet
and gexiv2_metadata_get_xmp_packet
calls. Enabling the feature also introduces
a new dependency on the the bitflags
crate.
Contributing
Contributions are gladly accepted, either through GitHub pull requests or by
mailing patches to felixc@felixcrux.com
(PGP key 8569B6311EE485F8).
By contributing, you are agreeing to make your contribution available under the same license terms as the rest of the project.
Copyright & License
The Exiv2 and gexiv2 libraries are both released under the terms of the GNU General Public License (GPL), and since gexiv2-sys is linked to them, it too is made available under the terms of the GPL. Specifically:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Please refer to the LICENSE
file for a full copy of the license.