Niepce May 2023 updates
This is the May 2023 update for Niepce.
Life comes at you fast. And hit hard. tl;dr not as much progress as I wished: I had to put this project a bit more on the sideline.
This will be a short update.
The importer
Some small bits:
Some fixing in the metadata processing on import, notably a better handling of raw files. Turns out the previous logic broke getting metadata from video files.
Also fixing some rexiv2
/ gexiv2-sys
bugs
that are mostly memory leaks.
I am pondering directly binding Exiv2 now that 0.28 got rid of
auto_ptr<>
that had been deprecated for over a decade. cxx
should
make this easier. This would automatically resolve the problem above,
and I don't need to bind all the API, just what I need.
Forecast
To move forward the importer, I need to fix the recursive creation of folders (it currently flatten them to a single level).
Misc
There are always the other fixes.
Fedora 38
I pulled the trigger and updated to Fedora 38. And Niepce failed to
build because of a bug with bindgen with clang
16, that was
already fixed, triggered by libgphoto2-sys
. Submitted the PR for
the crate and we
are good to go. The short version is that clang 16 sent different data
for anonymous enums, that bindgen 0.60 couldn't handle. But at that
bindgen 0.65 was fine.
This is the reason why I always check into git the generated bindings and update them as needed, instead of doing it at build time.
Application ID
I have been using org.gnome.Niepce
as an application ID. While it is
hosted in the main namespace repositories (it was back in the days of
Subversion, to which I am thankful), Niepce is not a core
app. Policies with the GNOME project do not allow using that namespace
for non core apps. So I had a perform a global change rename. Not a
big deal, and it doesn't change anything for users since there is no
release. I just needed to get this out of the way.
libopenraw
Pushed a bit on the Rust port to implement metadata extraction. This is driven by the goal of not having three different libraries. Still some parity gaps with the C++ code, but it's closing in. I hope to be able to release 0.4.0 based on the Rust code.
Thanks you for reading.