# get latest git snapshot available from https://www.claws-mail.org/snapshots/LATEST # comment out if not git build %global git git149 # exclude plugin .so from provides %global __provides_exclude_from %{_libdir}/%{name}/plugins/.*\\.so # enable/disable python plugin %bcond_without python # enable/disable litehtml_viewer plugin, # only available claws-mail > 3.17.3 %bcond_without litehtml # build using bundled litehtml as system one # seems to be causing a crash %bcond_with system_litehtml Summary: The user-friendly, lightweight and fast GTK3 based email client Name: claws-mail Epoch: 1 Version: 4.3.1%{?git} Release: %mkrel 1 License: GPLv3+ Group: Networking/Mail URL: https://www.claws-mail.org Source0: https://www.claws-mail.org/releases/claws-mail-%{version}.tar.xz Source1: gettarball.sh # upstream patches # # other patches Patch101: 0001-Drop-enchant-1.x-support.patch %if %{with system_litehtml} Patch103: claws-mail-system-litehtml.patch %else Source103: claws-mail-system-litehtml.patch %endif %if 0%{?git:1} BuildRequires: automake BuildRequires: bison BuildRequires: gettext-devel BuildRequires: flex %endif %ifnarch %arm BuildRequires: pkgconfig(valgrind) %endif BuildRequires: compface-devel BuildRequires: docbook-utils BuildRequires: imagemagick BuildRequires: libetpan-devel >= 1.9.3-3 BuildRequires: openldap-devel BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(enchant-2) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libcanberra-gtk3) BuildRequires: pkgconfig(libnm) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(nettle) BuildRequires: pkgconfig(pygobject-3.0) BuildRequires: pkgconfig(sm) Requires: compface Requires: rootcerts Requires: common-licenses Requires: enchant-dictionary = 2 # XPM icons Requires: xpm-pixbuf-loader%{?_isa} >= 2.43.3-1 # POP3 / IMAP authentication Requires: sasl-plug-plain Requires: sasl-plug-login %if ! %{with litehtml} Obsoletes: %{name}-litehtml_viewer-plugin < %{epoch}:%{version}-%{release} %endif %if ! %{with python} Obsoletes: %{name}-python-plugin < %{epoch}:%{version}-%{release} %endif # To handle hidden preferences Recommends: clawsker # Extra tools Recommends: %{name}-tools %description Claws-Mail is an e-mail client (and news reader) based on GTK+, running on X Window System, and aiming for: * Quick response * Graceful, and sophisticated interface * Easy configuration, intuitive operation * Abundant features For a complete listing of features: https://www.claws-mail.org/features.php %files -f %{name}.lang %doc AUTHORS NEWS README* RELEASE_NOTES %doc %dir %{_docdir}/%{name}/manual/ %lang(en) %doc %{_docdir}/%{name}/manual/en/ %lang(es) %doc %{_docdir}/%{name}/manual/es/ %lang(fr) %doc %{_docdir}/%{name}/manual/fr/ %exclude %{_docdir}/%{name}/tools/ %{_bindir}/%{name} %{_datadir}/applications/claws-mail.desktop %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugins %{_iconsdir}/hicolor/*/apps/*.png %{_mandir}/man1/%{name}.* %package tools Summary: Extra tools for %{name} Group: Networking/Mail Conflicts: %{name} < 1:3.10.1-4 %description tools This package contains extra tools for %{name}. Tools are located at %{_docdir}/%{name}/tools/. %files tools %{_docdir}/%{name}/tools/ %package devel Summary: Development files for %{name} Group: Development/Other Requires: %{name} = %{epoch}:%{version}-%{release} %description devel Development files and headers for %{name}. %files devel %{_includedir}/%{name}/ %{_libdir}/pkgconfig/claws-mail.pc %package plugins Summary: Plugins for %{name} Group: Networking/Mail Requires: %{name}-bogofilter-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-smime-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-pgpcore-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-pgpinline-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-pgpmime-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-spamassassin-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-acpi-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-att_remover-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-bsfilter-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-fancy-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-fetchinfo-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-keyword_warner-plugin = %{epoch}:%{version}-%{release} %if %{with litehtml} Requires: %{name}-litehtml_viewer-plugin = %{epoch}:%{version}-%{release} %endif Requires: %{name}-mailmbox-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-managesieve-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-notification-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-pdf_viewer-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-perl-plugin = %{epoch}:%{version}-%{release} %if %{with python} Requires: %{name}-python-plugin = %{epoch}:%{version}-%{release} %endif Requires: %{name}-rssyl-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-vcalendar-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-attachwarner-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-spam_report-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-address_keeper-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-clamd-plugin = %{epoch}:%{version}-%{release} Requires: %{name}-libravatar-plugin = %{epoch}:%{version}-%{release} Obsoletes: %{name}-plugins < 1:3.8.1-3 Obsoletes: %{name}-extra-plugins < 1:3.9.1 Obsoletes: %{name}-tnef_parse-plugin < 1:3.15.0-4 %description plugins This is a meta-package which requires all plugins included in the Claws Mail source package. %files plugins %package acpi-plugin Summary: This plugin enables mail notification via LEDs on some laptops Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description acpi-plugin This plugin for %{name} enables mail notification via LEDs on some laptops. %files acpi-plugin %{_libdir}/%{name}/plugins/acpi* %package address_keeper-plugin Summary: %{name} plugin keeps all recipient addresses in an addressbook folder Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description address_keeper-plugin This %{name} plugin keeps all recipient addresses in an addressbook folder. %files address_keeper-plugin %{_libdir}/%{name}/plugins/address_keeper* %package archive-plugin Summary: Archiver plugin for %{name} Group: Networking/Mail BuildRequires: pkgconfig(libarchive) Requires: %{name} >= %{epoch}:%{version} %description archive-plugin Archives mail folders using libarchive library. Folders can be archived with or without compression (ZIP, GZIP or BZIP2) and also in several formats (TAR, SHAR, PAX or CPIO). %files archive-plugin %{_libdir}/%{name}/plugins/archive.so %package att_remover-plugin Summary: This plugin for %{name} enables the removal of attachments Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description att_remover-plugin This plugin for %{name} enables the removal of attachments. %files att_remover-plugin %{_libdir}/%{name}/plugins/att_remover* %package attachwarner-plugin Summary: This plugin for %{name} enables attachwarner Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description attachwarner-plugin This %{name} plugin provides attachwarner. %files attachwarner-plugin %{_libdir}/%{name}/plugins/attachwarner* %package bogofilter-plugin Summary: Bogofilter plugin for %{name} Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} Requires: bogofilter %description bogofilter-plugin Enables the scanning of incoming mail received from a POP, IMAP, or LOCAL account using Bogofilter. It can optionally delete mail identified as spam or save it to a designated folder. Bogofilter is a pure Bayesian filter, therefore it has better speed performance than SpamAssassin but might catch less spam. %files bogofilter-plugin %{_libdir}/%{name}/plugins/bogofilter.so %package bsfilter-plugin Summary: This plugin enables spam fitering through bsfilter Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description bsfilter-plugin Check all messages that are received from an IMAP, LOCAL or POP account for spam using Bsfilter. %files bsfilter-plugin %{_libdir}/%{name}/plugins/bsfilter* %package clamd-plugin Summary: %{name} plugin to enable scanning all received messages Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} Requires: clamav %description clamd-plugin This %{name} plugin scans all messages that are received from an IMAP, LOCAL or POP account using clamd (Clam AV). %files clamd-plugin %{_libdir}/%{name}/plugins/clamd* %package dillo-plugin Summary: This plugin renders HTML e-mails through dillo Group: Networking/Mail Requires: dillo %description dillo-plugin Renders HTML e-mail using dillo webbrowser %files dillo-plugin %{_libdir}/%{name}/plugins/dillo* %package fancy-plugin Summary: This plugin renders HTML e-mails through WebKit Group: Networking/Mail BuildRequires: pkgconfig(webkit2gtk-4.1) BuildRequires: pkgconfig(libcurl) Requires: %{name} >= %{epoch}:%{version} Obsoletes: %{name}-gtkhtml2_viewer-plugin < 1:3.9.1 Obsoletes: %{name}-dillo_viewer-plugin < 1:3.9.1 %description fancy-plugin Renders HTML e-mail using the WebKit library %files fancy-plugin %{_libdir}/%{name}/plugins/fancy* %dir %{_libdir}/%{name}/web_extensions/ %{_libdir}/%{name}/web_extensions/fancywebextension.so %package fetchinfo-plugin Summary: This plugin inserts headers containing some download information Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description fetchinfo-plugin This plugin for %{name} inserts headers containing some download information: UIDL, Sylpheeds account name, POP server, user ID and retrieval time. %files fetchinfo-plugin %{_libdir}/%{name}/plugins/fetchinfo* %package keyword_warner-plugin Summary: keyword_warner plugin for %{name} Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description keyword_warner-plugin This plugin show a warning when sending or queueing a message and a reference to one or more user-defined keywords are found in the message text. %files keyword_warner-plugin %{_libdir}/%{name}/plugins/keyword_warner.so %package libravatar-plugin Summary: Libravatar plugin for %{name} Group: Networking/Mail BuildRequires: pkgconfig(libcurl) Requires: %{name} >= %{epoch}:%{version} %description libravatar-plugin This plugin allows showing the profile picture associated to email addresses provided by https://www.libravatar.org/. %files libravatar-plugin %doc src/plugins/libravatar/README %doc src/plugins/libravatar/TODO %{_libdir}/%{name}/plugins/libravatar.so %if %{with litehtml} %package litehtml_viewer-plugin Summary: Litehtml viewer plugin for %{name} Group: Networking/Mail BuildRequires: pkgconfig(gumbo) %if %{with system_litehtml} BuildRequires: litehtml-devel %endif Requires: %{name} >= %{epoch}:%{version} %if ! %{with system_litehtml} Provides: bundled(litehtml) %endif %description litehtml_viewer-plugin Renders HTML e-mail using the litehml library. %files litehtml_viewer-plugin %doc src/plugins/litehtml_viewer/TODO %{_libdir}/%{name}/plugins/litehtml_viewer.so %endif %package mailmbox-plugin Summary: This plugin provides direct access to mbox folders Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description mailmbox-plugin This plugin for %{name} provides direct access to mbox folders. %files mailmbox-plugin %{_libdir}/%{name}/plugins/mailmbox* %package managesieve-plugin Summary: ManageSieve plugin for %{name} Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description managesieve-plugin The Claws Mail ManageSieve plugin provides an interface for managing Sieve filters. Sieve filters are used for filtering mail on mail servers, usually with an IMAP account. This plugin handles managing Sieve filters, editing them, and checking their syntax. %files managesieve-plugin %{_libdir}/%{name}/plugins/managesieve.so %package newmail-plugin Summary: This plugin can write a summary to a log file Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} %description newmail-plugin This plugin for %{name} can write a summary to a log file upon receiving new mail. It defaults to ~/Mail/NewLog. %files newmail-plugin %{_libdir}/%{name}/plugins/newmail* %package notification-plugin Summary: This plugin notify from new mail Group: Networking/Mail BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libcanberra-gtk) Requires: %{name} >= %{epoch}:%{version} Obsoletes: %{name}-trayicon-plugin < 1:3.9.1 %description notification-plugin This plugin for %{name} notify from new incoming mail. %files notification-plugin %{_libdir}/%{name}/plugins/noti* %package pdf_viewer-plugin Summary: %{name} plugin to handle PDF attachments Group: Networking/Mail BuildRequires: pkgconfig(poppler-glib) Obsoletes: %{name}-pdfviewer-plugin < 1:3.9.0-3 Requires: %{name} >= %{epoch}:%{version} %description pdf_viewer-plugin This %{name} plugin handles PDF and Postscript attachments. %files pdf_viewer-plugin %{_libdir}/%{name}/plugins/pdf_viewer* %package perl-plugin Summary: Perl interface to %{name}s' filtering mechanism Group: Networking/Mail BuildRequires: perl-devel Requires: %{name} >= %{epoch}:%{version} %description perl-plugin This plugin is intended to extend the filtering possibilities of %{name}. It provides a Perl interface to %{name}s' filtering mechanism, allowing the use of full Perl power in email filters. %files perl-plugin %{_libdir}/%{name}/plugins/perl* %package pgpcore-plugin Summary: PGP core plugin for %{name} Group: Networking/Mail BuildRequires: gpgme-devel Requires: %{name} >= %{epoch}:%{version} %description pgpcore-plugin Handles core PGP functions and is a dependency of both the PGP/Inline and PGP/MIME plugins. %files pgpcore-plugin %{_libdir}/%{name}/plugins/pgpcore.so %package pgpinline-plugin Summary: PGP/Inline plugin for %{name} Group: Networking/Mail BuildRequires: gpgme-devel Requires: %{name} >= %{epoch}:%{version} Requires: %{name}-pgpcore-plugin >= %{epoch}:%{version} %description pgpinline-plugin Handles PGP/Inline signed and/or encrypted mails. You can decrypt mails, verify signatures or sign and encrypt your own mails. %files pgpinline-plugin %{_libdir}/%{name}/plugins/pgpinline.so %{_libdir}/%{name}/plugins/pgpinline.deps %package pgpmime-plugin Summary: PGP/MIME plugin for %{name} Group: Networking/Mail BuildRequires: gpgme-devel Requires: %{name} >= %{epoch}:%{version} Requires: %{name}-pgpcore-plugin >= %{epoch}:%{version} %description pgpmime-plugin Handles PGP/MIME signed and/or encrypted mails. You can decrypt mails, verify signatures or sign and encrypt your own mails. %files pgpmime-plugin %{_libdir}/%{name}/plugins/pgpmime.so %{_libdir}/%{name}/plugins/pgpmime.deps %if %{with python} %package python-plugin Summary: Python scripting access to %{name} Group: Networking/Mail BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(pygobject-3.0) Requires: %{name} >= %{epoch}:%{version} %description python-plugin This plugin offers a Python scripting access to %{name}. %files python-plugin %docdir %{_docdir}/%{name}-python-plugin/ %dir %{_docdir}/%{name}-python-plugin/ %{_docdir}/%{name}-python-plugin/examples/ %{_libdir}/%{name}/plugins/python* %endif %package rssyl-plugin Summary: This plugin allows you to read your favorite newsfeeds in %{name} Group: Networking/Mail BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(libcurl) Requires: %{name} >= %{epoch}:%{version} %description rssyl-plugin This plugin allows you to read your favorite newsfeeds in %{name}. RSS 1.0, 2.0 and Atom feeds are currently supported. %files rssyl-plugin %{_libdir}/%{name}/plugins/rssyl* %package smime-plugin Summary: S/Mime plugin for %{name} Group: Networking/Mail BuildRequires: gpgme-devel Requires: %{name} >= %{epoch}:%{version} Requires: %{name}-pgpcore-plugin >= %{epoch}:%{version} %description smime-plugin This plugin allows to use S/Mime signatures and encryption in Claws Mail %files smime-plugin %{_libdir}/%{name}/plugins/smime.so %{_libdir}/%{name}/plugins/smime.deps %package spamassassin-plugin Summary: Spamassassin-plugin for %{name} Group: Networking/Mail Requires: %{name} >= %{epoch}:%{version} Requires: spamassassin-spamd %description spamassassin-plugin Scans incoming mail received from a POP, IMAP or LOCAL account using SpamAssassin. It can optionally delete mail identified as spam or save it to a designated folder. %files spamassassin-plugin %doc src/plugins/spamassassin/README %{_libdir}/%{name}/plugins/spamassassin*.so %package spam_report-plugin Summary: This plugin for %{name} enables spamreport Group: Networking/Mail BuildRequires: pkgconfig(libcurl) Requires: %{name} >= %{epoch}:%{version} %description spam_report-plugin This %{name} plugin provides spamreport. %files spam_report-plugin %{_libdir}/%{name}/plugins/spamreport* %package vcalendar-plugin Summary: This plugin for %{name} enables vCalendar message handling Group: Networking/Mail BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libical) Requires: %{name} >= %{epoch}:%{version} %description vcalendar-plugin This %{name} plugin handles the vCalendar format (or rather, the meeting subset of it). It displays such mails in a nice format, lets you create and send meetings, and creates a virtual folder with the meetings you have sent or received. %files vcalendar-plugin %{_libdir}/%{name}/plugins/vcalendar* %prep %autosetup -p1 -n claws-mail-%{version} cat > README.update.urpmi << EOF If you are upgrading from the GTK+ 2 version (3.x) to the GTK+ 3 version (4.x) of Claws Mail, you will need to reload any plugins that you want to use. EOF %build autoreconf -vfi %configure \ %{!?with_python:--disable-python-plugin} \ --disable-tnef_parse-plugin \ --disable-static \ --disable-rpath %make_build %check make check %install %make_install mkdir -p %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48,64x64,128x128}/apps convert %{name}.png -geometry 16x16 %{buildroot}%{_iconsdir}/hicolor/16x16/apps/%{name}.png convert %{name}.png -geometry 32x32 %{buildroot}%{_iconsdir}/hicolor/32x32/apps/%{name}.png install -m644 %{name}.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png install -m644 %{name}-64x64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png install -m644 %{name}-128x128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png #we don't have geolocation plugin rm -rf %{buildroot}%{_datadir}/appdata/%{name}-geolocation.* #install .desktop file desktop-file-install \ %{name}.desktop \ --dir %{buildroot}%{_datadir}/applications #we don't want these find %{buildroot} -name '*.la' -delete # install tools mkdir -p %{buildroot}%{_docdir}/%{name}/ cp -a tools %{buildroot}%{_docdir}/%{name}/tools rm -rf %{buildroot}%{_docdir}/%{name}/tools/Makefile* # install python examples mkdir -p %{buildroot}%{_docdir}/%{name}-python-plugin/ cp -a src/plugins/python/examples %{buildroot}%{_docdir}/%{name}-python-plugin/examples rm -rf %{buildroot}%{_docdir}/%{name}-python-plugin/examples/Makefile* %find_lang %{name}