From 395e47463a57d1a65af227784ff7f2db5a7c8fa2 Mon Sep 17 00:00:00 2001 From: Denis Silakov Date: Sun, 18 Oct 2015 21:45:48 +0300 Subject: [PATCH] Added kde service menu, demo and tools plugin, format the spec a little --- claws-mail.spec | 253 +++++++++++++++++++++++++++++++----------------- 1 file changed, 165 insertions(+), 88 deletions(-) diff --git a/claws-mail.spec b/claws-mail.spec index 46ed65c..cc3dc0c 100644 --- a/claws-mail.spec +++ b/claws-mail.spec @@ -1,4 +1,6 @@ %define _disable_ld_no_undefined 1 +%define flag_gtk3 0 +%define flag_demo 1 # There are perl scripts in docs/tools and we don't want to install perl # modules required by these scripts @@ -21,6 +23,7 @@ Patch1: claws-mail-3.13.0-ru-i18n.patch BuildRequires: bison BuildRequires: flex BuildRequires: docbook-utils +BuildRequires: docbook-utils-pdf BuildRequires: imagemagick BuildRequires: intltool BuildRequires: compface-devel @@ -30,6 +33,9 @@ BuildRequires: libxml2-devel BuildRequires: openldap-devel BuildRequires: perl-devel BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(champlain-0.12) +BuildRequires: pkgconfig(champlain-gtk-0.12) +BuildRequires: pkgconfig(clutter-1.0) BuildRequires: pkgconfig(dbus-1) >= 0.60 BuildRequires: pkgconfig(dbus-glib-1) >= 0.60 BuildRequires: pkgconfig(enchant) >= 1.0.0 @@ -40,8 +46,14 @@ BuildRequires: pkgconfig(gnutls) >= 2.2 BuildRequires: pkgconfig(gobject-2.0) >= 2.6 BuildRequires: pkgconfig(gthread-2.0) >= 2.6 BuildRequires: pkgconfig(gtk+-2.0) >= 2.16 +BuildRequires: pkgconfig(indicate-0.6) BuildRequires: pkgconfig(libarchive) +BuildRequires: pkgconfig(libcanberra) +%if %{flag_gtk3} +BuildRequires: pkgconfig(libcanberra-gtk3) +%else BuildRequires: pkgconfig(libcanberra-gtk) +%endif BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(libgdata) @@ -118,7 +130,7 @@ For a complete listing of Features: http://www.claws-mail.org/features.php #---------------------------------------------------------------------------- -%package devel +%package devel Summary: Development files for Claws Mail Group: Development/Other Requires: %{name} = %{EVRD} @@ -126,217 +138,248 @@ Requires: %{name} = %{EVRD} Obsoletes: %{name}-notification-plugin-devel < %{EVRD} Obsoletes: %{name}-vcalendar-plugin-devel < %{EVRD} -%description devel +%description devel Development files and headers for %{name}. -%files devel +%files devel %{_includedir}/%{name} %{_libdir}/pkgconfig/claws-mail.pc #---------------------------------------------------------------------------- -%package acpi-plugin +%package acpi-plugin Summary: This Claws Mail plugin enables mail notification via LEDs on some laptops Group: Networking/Mail Requires: %{name} = %{EVRD} -%description acpi-plugin +%description acpi-plugin This plugin for Claws Mail enables mail notification via LEDs on some laptops. -%files acpi-plugin +%files acpi-plugin #%{_datadir}/appdata/claws-mail-acpi_notifier.metainfo.xml %{_libdir}/%{name}/plugins/acpi_notifier.so #---------------------------------------------------------------------------- -%package address_keeper-plugin +%package address_keeper-plugin Summary: This Claws Mail plugin never forgets e-mail adresses Group: Networking/Mail Requires: %{name} = %{EVRD} -%description address_keeper-plugin +%description address_keeper-plugin This plugin for Claws Mail allows saving outgoing addresses to a designated folder in the address book.Addresses are saved only if not found in the address book to avoid unwanted duplicates. -%files address_keeper-plugin +%files address_keeper-plugin #%{_datadir}/appdata/claws-mail-address_keeper.metainfo.xml %{_libdir}/%{name}/plugins/address_keeper.so #---------------------------------------------------------------------------- -%package archive-plugin +%package archive-plugin Summary: Mail Archiver Group: Networking/Mail Requires: %{name} = %{EVRD} -%description archive-plugin +%description archive-plugin This plugin adds archiving features to Claws Mail. -%files archive-plugin +%files archive-plugin #%{_datadir}/appdata/claws-mail-archive.metainfo.xml %{_libdir}/%{name}/plugins/archive.so #---------------------------------------------------------------------------- -%package att_remover-plugin +%package att_remover-plugin Summary: This Claws Mail plugin enables the removal of attachments Group: Networking/Mail Requires: %{name} = %{EVRD} -%description att_remover-plugin +%description att_remover-plugin This plugin for Claws Mail enables the removal of attachments. -%files att_remover-plugin +%files att_remover-plugin #%{_datadir}/appdata/claws-mail-att_remover.metainfo.xml %{_libdir}/%{name}/plugins/att_remover.so #---------------------------------------------------------------------------- -%package attachwarner-plugin +%package attachwarner-plugin Summary: This Claws Mail plugin enables attachment warnings Group: Networking/Mail Requires: %{name} = %{EVRD} -%description attachwarner-plugin +%description attachwarner-plugin This Claws Mail plugin enables attachment warnings. -%files attachwarner-plugin +%files attachwarner-plugin #%{_datadir}/appdata/claws-mail-attachwarner.metainfo.xml %{_libdir}/%{name}/plugins/attachwarner.so #---------------------------------------------------------------------------- -%package bogofilter-plugin +%package bogofilter-plugin Summary: Bogofilter plugin for Claws Mail Group: Networking/Mail BuildRequires: bogofilter Requires: %{name} = %{EVRD} Requires: bogofilter -%description bogofilter-plugin +%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 +%files bogofilter-plugin #%{_datadir}/appdata/claws-mail-bogofilter.metainfo.xml %{_libdir}/%{name}/plugins/bogofilter.so #---------------------------------------------------------------------------- -%package bsfilter-plugin +%package bsfilter-plugin Summary: This Claws Mail plugin enables spam fitering through bsfilter Group: Networking/Mail Requires: %{name} = %{EVRD} -%description bsfilter-plugin +%description bsfilter-plugin Check all messages that are received from an IMAP, LOCAL or POP account for spam using Bsfilter. -%files bsfilter-plugin +%files bsfilter-plugin #%{_datadir}/appdata/claws-mail-bsfilter.metainfo.xml %{_libdir}/%{name}/plugins/bsfilter.so #---------------------------------------------------------------------------- -%package clamd-plugin +%package clamd-plugin Summary: This Claws Mail plugin enables spam fitering through Clam AntiVirus Group: Networking/Mail Requires: %{name} = %{EVRD} -%description clamd-plugin +%description clamd-plugin Check all messages that are received from an IMAP, LOCAL or POP account for spam using Clam AntiVirus. -%files clamd-plugin +%files clamd-plugin #%{_datadir}/appdata/claws-mail-clamd.metainfo.xml %{_libdir}/%{name}/plugins/clamd.so #---------------------------------------------------------------------------- -%package fancy-plugin +%if %flag_demo + +%package demo +Summary: This Claws Mail demo plugin for programming +Group: Networking/Mail +Requires: %{name} = %{EVRD} + +%description demo +Demo plugin for Claws Mail + +%files demo +%{_libdir}/%{name}/plugins/demo.so + +%endif + +#---------------------------------------------------------------------------- + +%package fancy-plugin Summary: This Claws Mail plugin renders HTML e-mails through WebKit Group: Networking/Mail Requires: %{name} = %{EVRD} -%description fancy-plugin +%description fancy-plugin Renders HTML e-mail using the WebKit library. -%files fancy-plugin +%files fancy-plugin #%{_datadir}/appdata/claws-mail-fancy.metainfo.xml %{_libdir}/%{name}/plugins/fancy.so #---------------------------------------------------------------------------- -%package fetchinfo-plugin +%package fetchinfo-plugin Summary: This Claws Mail plugin inserts headers containing some download information Group: Networking/Mail Requires: %{name} = %{EVRD} -%description fetchinfo-plugin +%description fetchinfo-plugin This plugin for Claws Mail inserts headers containing some download information: UIDL, Sylpheeds account name, POP server, user ID and retrieval time. -%files fetchinfo-plugin +%files fetchinfo-plugin #%{_datadir}/appdata/claws-mail-fetchinfo.metainfo.xml %{_libdir}/%{name}/plugins/fetchinfo.so #---------------------------------------------------------------------------- -%package gdata-plugin +%package gdata-plugin Summary: This Claws Mail plugin enables access to GData (Google services) Group: Networking/Mail Requires: %{name} = %{EVRD} -%description gdata-plugin +%description gdata-plugin Plugin to access to GData (Google services). The only currently implemented feature is inclusion of Google contacts into the address completion. -%files gdata-plugin +%files gdata-plugin #%{_datadir}/appdata/claws-mail-gdata.metainfo.xml %{_libdir}/%{name}/plugins/gdata.so +#----------------------------------------------------------------------------- + +%package kdeservicemenu +Summary: This Claws Mail kde service menu integrated +Group: Networking/Mail +Requires: %{name} = %{EVRD} + +%description kdeservicemenu +This Claws Mail kde service menu integrated + +%files kdeservicemenu +%{_bindir}/claws-mail-kdeservicemenu.pl +%{_datadir}/kde4/services/ServiceMenus/claws-mail-attach-files.desktop + #---------------------------------------------------------------------------- -%package libravatar-plugin +%package libravatar-plugin Summary: This Claws Mail plugin enables libravatar support Group: Networking/Mail Requires: %{name} = %{EVRD} -%description libravatar-plugin +%description libravatar-plugin Plugin to show the profile pictures associated to email addresses provided by libravatar service ( http://www.libravatar.org ). -%files libravatar-plugin +%files libravatar-plugin #%{_datadir}/appdata/claws-mail-libravatar.metainfo.xml %{_libdir}/%{name}/plugins/libravatar.so #---------------------------------------------------------------------------- -%package mailmbox-plugin +%package mailmbox-plugin Summary: This Claws Mail plugin provides direct access to mbox folders Group: Networking/Mail Requires: %{name} = %{EVRD} -%description mailmbox-plugin +%description mailmbox-plugin This Claws Mail plugin provides direct access to mbox folders. -%files mailmbox-plugin +%files mailmbox-plugin #%{_datadir}/appdata/claws-mail-mailmbox.metainfo.xml %{_libdir}/%{name}/plugins/mailmbox.so #---------------------------------------------------------------------------- -%package managesieve-plugin +%package managesieve-plugin Summary: ManageSieve plugin for %{name} Group: Networking/Mail Requires: %{name} >= %{EVRD} -%description managesieve-plugin +%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. @@ -344,224 +387,238 @@ with an IMAP account. This plugin handles managing Sieve filters, editing them, and checking their syntax. -%files managesieve-plugin +%files managesieve-plugin %{_libdir}/%{name}/plugins/managesieve.so #---------------------------------------------------------------------------- -%package newmail-plugin +%package newmail-plugin Summary: This Claws Mail plugin can write a summary to a log file Group: Networking/Mail Requires: %{name} = %{EVRD} -%description newmail-plugin +%description newmail-plugin This Claws Mail plugin can write a summary to a log file upon receiving new mail. It defaults to ~/Mail/NewLog. -%files newmail-plugin +%files newmail-plugin #%{_datadir}/appdata/claws-mail-newmail.metainfo.xml %{_libdir}/%{name}/plugins/newmail.so #---------------------------------------------------------------------------- -%package notification-plugin +%package notification-plugin Summary: This Claws Mail plugin notifies about new mail Group: Networking/Mail Requires: %{name} = %{EVRD} -%description notification-plugin +%description notification-plugin This Claws Mail plugin notifies about new mail. -%files notification-plugin +%files notification-plugin #%{_datadir}/appdata/claws-mail-notification.metainfo.xml %{_libdir}/%{name}/plugins/notification.so #---------------------------------------------------------------------------- -%package pdfviewer-plugin +%package pdfviewer-plugin Summary: This Claws Mail plugin handles PDF and PostScript attachments Group: Networking/Mail Requires: %{name} = %{EVRD} -%description pdfviewer-plugin +%description pdfviewer-plugin This Claws Mail plugin This plugin handles PDF and PostScript attachments. -%files pdfviewer-plugin +%files pdfviewer-plugin #%{_datadir}/appdata/claws-mail-pdf_viewer.metainfo.xml %{_libdir}/%{name}/plugins/pdf_viewer.so #---------------------------------------------------------------------------- -%package perl-plugin +%package perl-plugin Summary: Perl interface to Claws Mail's filtering mechanism Group: Networking/Mail Requires: %{name} = %{EVRD} -%description perl-plugin +%description perl-plugin This plugin is intended to extend the filtering possibilities of Claws Mail. It provides a Perl interface to Claws Mail's filtering mechanism, allowing the use of full Perl power in email filters. -%files perl-plugin +%files perl-plugin #%{_datadir}/appdata/claws-mail-perl.metainfo.xml %{_libdir}/%{name}/plugins/perl.so #---------------------------------------------------------------------------- -%package pgpcore-plugin +%package pgpcore-plugin Summary: PGP core plugin for Claws Mail Group: Networking/Mail Requires: %{name} = %{EVRD} -%description pgpcore-plugin +%description pgpcore-plugin Handles core PGP functions and is a dependency of both the PGP/Inline and PGP/MIME plugins. -%files pgpcore-plugin +%files pgpcore-plugin #%{_datadir}/appdata/claws-mail-pgpcore.metainfo.xml %{_libdir}/%{name}/plugins/pgpcore.so #---------------------------------------------------------------------------- -%package pgpinline-plugin +%package pgpinline-plugin Summary: PGP/Inline plugin for Claws Mail Group: Networking/Mail Requires: %{name} = %{EVRD} Requires: %{name}-pgpcore-plugin = %{EVRD} -%description pgpinline-plugin +%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 +%files pgpinline-plugin #%{_datadir}/appdata/claws-mail-pgpinline.metainfo.xml %{_libdir}/%{name}/plugins/pgpinline.so %{_libdir}/%{name}/plugins/pgpinline.deps #---------------------------------------------------------------------------- -%package pgpmime-plugin +%package pgpmime-plugin Summary: PGP/MIME plugin for Claws Mail Group: Networking/Mail Requires: %{name} = %{EVRD} Requires: %{name}-pgpcore-plugin = %{EVRD} -%description pgpmime-plugin +%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 +%files pgpmime-plugin #%{_datadir}/appdata/claws-mail-pgpmime.metainfo.xml %{_libdir}/%{name}/plugins/pgpmime.so %{_libdir}/%{name}/plugins/pgpmime.deps #---------------------------------------------------------------------------- -%package python-plugin +%package python-plugin Summary: Python scriptin access to Claws Mail Group: Networking/Mail Requires: %{name} = %{EVRD} -%description python-plugin +%description python-plugin This plugin offers a Python scripting access to Claws Mail. -%files python-plugin +%files python-plugin #%{_datadir}/appdata/claws-mail-python.metainfo.xml %{_libdir}/%{name}/plugins/python.so #---------------------------------------------------------------------------- -%package rssyl-plugin +%package rssyl-plugin Summary: This Claws Mail plugin allows you to read your favorite newsfeeds Group: Networking/Mail Requires: %{name} = %{EVRD} -%description rssyl-plugin +%description rssyl-plugin This plugin allows you to read your favorite newsfeeds in Claws Mail. RSS 1.0, 2.0 and Atom feeds are currently supported. -%files rssyl-plugin +%files rssyl-plugin #%{_datadir}/appdata/claws-mail-rssyl.metainfo.xml %{_libdir}/%{name}/plugins/rssyl.so #---------------------------------------------------------------------------- -%package smime-plugin +%package smime-plugin Summary: S/Mime plugin for Claws Mail Group: Networking/Mail Requires: %{name} = %{EVRD} -%description smime-plugin +%description smime-plugin This plugin allows to use S/Mime signatures and encryptions in Claws Mail. -%files smime-plugin +%files smime-plugin #%{_datadir}/appdata/claws-mail-smime.metainfo.xml %{_libdir}/%{name}/plugins/smime.so %{_libdir}/%{name}/plugins/smime.deps #---------------------------------------------------------------------------- -%package spamassassin-plugin +%package spamassassin-plugin Summary: Spamassassin-plugin for Claws Mail Group: Networking/Mail Requires: %{name} = %{EVRD} Requires: spamassassin-spamd -%description spamassassin-plugin +%description spamassassin-plugin Enables the scanning of incoming mail received from a POP, IMAP, or LOCAL account using SpamAssassin. See README for configuration and set-up info. -%files spamassassin-plugin +%files spamassassin-plugin %doc src/plugins/spamassassin/README #%{_datadir}/appdata/claws-mail-spamassassin.metainfo.xml %{_libdir}/%{name}/plugins/spamassassin.so #---------------------------------------------------------------------------- -%package spam_report-plugin +%package spam_report-plugin Summary: This Claws Mail plugin provides spamreport Group: Networking/Mail Requires: %{name} = %{EVRD} -%description spam_report-plugin +%description spam_report-plugin This Claws Mail plugin provides spamreport. -%files spam_report-plugin +%files spam_report-plugin #%{_datadir}/appdata/claws-mail-spam_report.metainfo.xml %{_libdir}/%{name}/plugins/spamreport.so #---------------------------------------------------------------------------- -%package tnef_parse-plugin +%package tnef_parse-plugin Summary: This Claws Mail plugin enables parsing MS-TNEF attachments Group: Networking/Mail Requires: %{name} = %{EVRD} -%description tnef_parse-plugin +%description tnef_parse-plugin This Claws Mail plugin enables parsing MS-TNEF attachments. -%files tnef_parse-plugin +%files tnef_parse-plugin #%{_datadir}/appdata/claws-mail-tnef_parse.metainfo.xml %{_libdir}/%{name}/plugins/tnef_parse.so +#----------------------------------------------------------------------------- + +%package tools +Summary: This Claws Mail tools +Group: Networking/Mail +Requires: %{name} = %{EVRD} + +%description tools +This Claws Mail tools. + +%files tools +%{_libdir}/%{name}/tools/* + #---------------------------------------------------------------------------- -%package vcalendar-plugin +%package vcalendar-plugin Summary: This Claws Mail plugin enables vCalendar message handling Group: Networking/Mail Requires: %{name} = %{EVRD} -%description vcalendar-plugin +%description vcalendar-plugin This Claws Mail 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 +%files vcalendar-plugin #%{_datadir}/appdata/claws-mail-vcalendar.metainfo.xml %{_libdir}/%{name}/plugins/vcalendar.so -#---------------------------------------------------------------------------- +#----------------------------------------------------------------------------- + %prep %setup -q @@ -576,12 +633,20 @@ cp %{SOURCE1} po --enable-compface \ --enable-crash-dialog \ --enable-enchant \ +%if %flag_gtk3 + --enable-gtk3 \ +%endif --enable-ipv6 \ --enable-jpilot \ --enable-ldap \ --enable-gnutls \ --enable-networkmanager-support \ --enable-spamassassin-plugin \ +%if %flag_demo + --enable-demo-plugin \ +%else + --disable-demo-plugin \ +%endif --disable-rpath \ --disable-static @@ -614,8 +679,20 @@ rm -f %{buildroot}%{_docdir}/claws-mail/tools/Makefile* # We don't build with plugin rm -f %{buildroot}%{_datadir}/appdata/claws-mail-geolocation.metainfo.xml +# integrated kde menu +mkdir -p %{buildroot}%{_datadir}/kde4/services/ServiceMenus/ + +sed "s/SCRIPT_PATH/claws-mail-kdeservicemenu.pl/" tools/kdeservicemenu/claws-mail-attach-files.desktop.kde4template > %{buildroot}/%{_datadir}/kde4/services/ServiceMenus/claws-mail-attach-files.desktop +#install -m644 tools/kdeservicemenu/claws-mail-attach-files.desktop.kde4template \ +# %{buildroot}%{_datadir}/kde4/services/ServiceMenu/claws-mail-attach-files.desktop +install -m755 tools/kdeservicemenu/claws-mail-kdeservicemenu.pl %{buildroot}%{_bindir}/ + +cp -a tools %{buildroot}%{_libdir}/%{name}/ +rm -f %{buildroot}%{_libdir}/%{name}/tools/Makefile* + %find_lang %{name} %check make check +