site  contact  subhomenews

Claws Mail compiled in OE

December 10, 2021 — BarryK

I posted about compiling dependencies of Claws Mail in OpenEmbedded:

https://bkhome.org/news/202112/libetpan-and-bogofilter-compiled-in-oe.html

Now onto the big one. Here is the recipe, claws-mail_3.18.0.bb:

# Recipe created by recipetool
# recipetool create -o claws-mail_3.18.0.bb https://distro.ibiblio.org/easyos/source/alphabetical/c/claws-mail-3.18.0.tar.gz

LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e"

SRC_URI = "https://distro.ibiblio.org/easyos/source/alphabetical/c/claws-mail-${PV}.tar.gz \
file://gumbo.pc"
SRC_URI[md5sum] = "466a1e9ba0796cca21f4828c085106ef"
SRC_URI[sha256sum] = "f107deec1f0debfae77f7f0022aef713f85a5b1f7d0b1a0e98f6eebe1e3556f2"

DEPENDS = "valgrind libsm gdk-pixbuf cairo libarchive flex-native gnutls bison-native \
libcanberra libsoup-2.4 startup-notification libnotify libetpan perl \
networkmanager dbus curl librsvg nettle libical expat zlib gtk+ glib-2.0 \
poppler fontconfig glib-2.0-native litehtml libunistring libxcb openssl \
gpgme gnupg openldap enchant2 aspell libgcrypt libpng harfbuzz libidn2 \
libnsl2 pango fontconfig gmp libpcre fribidi libassuan freetype libffi \
gdb"

inherit gettext perlnative pkgconfig autotools

EXTRA_OECONF = " --disable-python-plugin --disable-perl-plugin --disable-fancy-plugin \
--disable-dillo-plugin --disable-clamd-plugin --enable-libetpan \
--enable-litehtml_viewer-plugin --disable-manual --disable-libsm"

#litehtml has libgumbo in it, but missing gumbo.pc
# should fix this in the litehtml recipe, but oh well...
do_configure_prepend() {
if [ ! -e ${WORKDIR}/recipe-sysroot/usr/lib/pkgconfig/gumbo.pc ];then
cp -f ${WORKDIR}/gumbo.pc ${WORKDIR}/recipe-sysroot/usr/lib/pkgconfig/
#hmmm...
cp -f ${WORKDIR}/recipe-sysroot/usr/include/gumbo/gumbo.h ${S}/src/plugins/litehtml_viewer/litehtml/
fi
}

HOMEPAGE = "https://www.claws-mail.org/"
SUMMARY = "Email client"

The configure step reported this:

claws-mail 3.18.0

Using Address Book : Original stable interface
JPilot : no
LDAP : yes
gnuTLS : yes
iconv : yes
compface : no
IPv6 : yes
enchant : yes
IMAP4 : yes
NNTP : yes
Crash dialog : no
LibSM : no
DBUS : yes
NetworkManager : yes
Manual : no
Generic UMPC code : no
SVG support : yes
Config dir : .claws-mail
Password crypto : gnutls
Unit tests : no
Plugins
Built:
- acpi_notifier
- address_keeper
- archive
- att_remover
- attachwarner
- bogofilter
- bsfilter
- fetchinfo
- libravatar
- litehtml_viewer
- mailmbox
- managesieve
- newmail
- notification
Features:
banner
command
hotkeys
lcdproc
libnotify
libcanberra-gtk
popup
trayicon
Disabled due to missing dependencies:
unity/messaging-menu
- pdf_viewer
- rssyl
- spamassassin
- spam_report
- vcalendar
Disabled:
- clamd
- demo
- dillo
- fancy
- perl
- python
Disabled due to missing dependencies:
- gdata
- pgpcore
- pgpmime
- pgpinline
- smime
- tnef_parse

The binary will be installed in /usr/bin

...some plugins are disabled due to missing dependencies. I don't know if any of those are important. I threw in everything I could think of into the DEPENDS variable, but something is still missing.

Well, if anyone reports that one of those missing plugins is required, I will have to hunt down the required dependencies.

I have a particular interest in using Claws Mail to download everything from my gmail account. Need to sort that out, so that the downloaded emails will be permanently stored.

Ah ha, reading through the log.do_configure file in OE, I see that there was an error accessing /usr/bin/gpgme-config -- I know why that is, so should be able to fix it. So, should get back some of those plugins that had missing deps.

EDIT:
Fixed. The original 'gpgme-config' script does not work properly in a cross-compile environment. Fixed the script, and now claws-mail configure reports:

Using Address Book : Original stable interface
JPilot : no
LDAP : yes
gnuTLS : yes
iconv : yes
compface : no
IPv6 : yes
enchant : yes
IMAP4 : yes
NNTP : yes
Crash dialog : no
LibSM : no
DBUS : yes
NetworkManager : yes
Manual : no
Generic UMPC code : no
SVG support : yes
Config dir : .claws-mail
Password crypto : gnutls
Unit tests : no
Plugins
Built:
- acpi_notifier
- address_keeper
- archive
- att_remover
- attachwarner
- bogofilter
- bsfilter
- fetchinfo
- libravatar
- litehtml_viewer
- mailmbox
- managesieve
- newmail
- notification
Features:
banner
command
hotkeys
lcdproc
libnotify
libcanberra-gtk
popup
trayicon
Disabled due to missing dependencies:
unity/messaging-menu
- pdf_viewer
- pgpcore
- pgpmime
- pgpinline
- rssyl
- spamassassin
- smime
- spam_report
- vcalendar
Disabled:
- clamd
- demo
- dillo
- fancy
- perl
- python
Disabled due to missing dependencies:
- gdata
- tnef_parse

...looks good!     

Tags: easy