libexif / libexif-gtk Goto Github PK
View Code? Open in Web Editor NEWA library of widgets to help display EXIF tags in GTK programs
License: GNU Lesser General Public License v2.1
A library of widgets to help display EXIF tags in GTK programs
License: GNU Lesser General Public License v2.1
libexif-gtk =========== WHAT IT IS ========== libexif-gtk is a library of widgets to help display EXIF tags in GTK programs. REQUIREMENTS ============ libexif-gtk is written in C and requires libexif and gtk+. GNU gettext is used for language translation, if available. BUILDING ======== Building from the source tar ball usually involves the commands: ./configure make sudo make install When building from source out of git, please run "autoreconf -i" first. NOTE TO PACKAGERS ================= The default is to build the gtk2 version of the library (minimum gtk2 version: 2.4). The configure option --with-gtk3 allows building with the gtk3 version of the library. Both versions can be installed on a system at the same time. NOTE TO DEVELOPERS ================== To link to the gtk2 version of libexif-gtk, use the 'libexif-gtk' pkgconfig information. To link your application to the gtk3 version of this library, use the 'libexif-gtk3' pkgconfig information. A simple example program using the libexif-gtk widgets is available in tests/test-libexif-gtk.c LINKS ===== libexif-gtk is a part of the libexif project at https://libexif.github.io/
I have just stumbled across the way libexif-gtk
does its soname versioning which appears to differ from the way libexif
does it.
Summarizing:
libexif-gtk
uses --version-info $(($CURRENT + $REVISION)):$AGE:$REVISION
.libexif
uses --version-info $CURRENT:$AGE:$REVISION
while the descriptions for the *_CURRENT
, *_REVISION
, and _AGE
numbers are the same.
libexif-gtk
does, in more detail:LIBEXIF_GTK_AGE=0
LIBEXIF_GTK_REVISION=1
LIBEXIF_GTK_CURRENT=5
AC_SUBST([LIBEXIF_GTK_AGE])
AC_SUBST([LIBEXIF_GTK_REVISION])
AC_SUBST([LIBEXIF_GTK_CURRENT])
LIBEXIF_GTK_VERSION_INFO=`expr $LIBEXIF_GTK_CURRENT + $LIBEXIF_GTK_REVISION`:$LIBEXIF_GTK_AGE:$LIBEXIF_GTK_REVISION
AC_SUBST([LIBEXIF_GTK_VERSION_INFO])
libexif-gtk/Makefile.am:libexif_@LIBEXIF_GTK_EXTENSION@_la_LDFLAGS = -version-info @LIBEXIF_GTK_VERSION_INFO@
libexif
does:LIBEXIF_CURRENT=15
LIBEXIF_AGE=3
LIBEXIF_REVISION=4
AC_SUBST([LIBEXIF_AGE])
AC_SUBST([LIBEXIF_REVISION])
AC_SUBST([LIBEXIF_CURRENT])
AC_SUBST([LIBEXIF_CURRENT_MIN],[`expr $LIBEXIF_CURRENT - $LIBEXIF_AGE`])
LIBEXIF_VERSION_INFO="$LIBEXIF_CURRENT:$LIBEXIF_REVISION:$LIBEXIF_AGE"
AC_SUBST([LIBEXIF_VERSION_INFO])
libexif/Makefile.am: -no-undefined -version-info @LIBEXIF_VERSION_INFO@
libgphoto2
does the same thing libexif
does, so I presume libexif-gtk
is the odd one out here and should be fixed to use the same mechanism, correct?
I realize that I am a bit late to the party here, but I am wondering why #2 and #3 change the name of the translation files to become specific to the libexif-gtk gtk2 and gtk3 versions?
I also do not understand why libexif-gtk
does not build both the gtk2 and the gtk3 version from a single source tree build.
PKG_CHECK_MODULES([GTK2], [gtk+-2.0 >= 2.4])
PKG_CHECK_MODULES([GTK3], [gtk+-3.0])
and then later use GTK2_LIBS
for libexif_gtk_LIBADD
and GTK3_LIBS
for libexif_gtk3_LIBADD
.
Why can't both libexif-gtk.so.*
(gtk2) and libexif-gtk3.so.* (gtk3) use the same file /usr/share/locale/de/LC_MESSAGES/libexif-gtk5.mo
? Then the package with libexif-gtk
and libexif-gtk3
can both depend on the same (possibly even noarch) -translations
subpackage.
Just renaming the translation files does not change their content, after all, so I do not see what renaming and duplicating the files buys us.
(Also, the name of the *.pot
and *.po
files changing might confuse translators and their toolchains.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.