]> git.pld-linux.org Git - SPECS.git/blob - perl-Email-Store.spec
SPECS updated Sun 1 Aug 20:28:02 CEST 2021
[SPECS.git] / perl-Email-Store.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # do not perform "make test"
4
5 %define pdir    Email
6 %define pnam    Store
7 Summary:        Email::Store - framework for database-backed email storage
8 Summary(pl.UTF-8):      Email::Store - szkielet przechowywania poczty w bazie danych
9 Name:           perl-Email-Store
10 Version:        0.256
11 Release:        1
12 # same as perl
13 License:        GPL v1+ or Artistic
14 Group:          Development/Languages/Perl
15 Source0:        http://www.cpan.org/modules/by-module/%{pdir}/%{pdir}-%{pnam}-%{version}.tar.gz
16 # Source0-md5:  cd722ff8b222dbb697556aa58f12c965
17 URL:            http://search.cpan.org/dist/Email-Store/
18 BuildRequires:  perl-devel >= 1:5.8.0
19 BuildRequires:  rpm-perlprov >= 4.1-13
20 %if %{with tests}
21 BuildRequires:  perl-Cache
22 BuildRequires:  perl-Class-DBI >= 0.9
23 BuildRequires:  perl-Class-DBI-DATA-Schema
24 BuildRequires:  perl-DBD-SQLite
25 BuildRequires:  perl-Email-Address >= 1.80
26 BuildRequires:  perl-Email-MIME >= 1.8
27 BuildRequires:  perl-Email-MIME-Attachment-Stripper >= 1.1
28 BuildRequires:  perl-Email-MessageID
29 BuildRequires:  perl-Email-Simple >= 1.92
30 BuildRequires:  perl-File-Slurp
31 BuildRequires:  perl-MIME-tools
32 BuildRequires:  perl-Mail-ListDetector >= 0.31
33 BuildRequires:  perl-Module-Pluggable >= 2.6
34 BuildRequires:  perl-Module-Pluggable-Ordered >= 1
35 BuildRequires:  perl-SQL-Translator
36 BuildRequires:  perl-Time-Piece
37 %endif
38 BuildArch:      noarch
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %description
42 Email::Store is the ideal basis for any application which needs to
43 deal with databases of email: archiving, searching, or even storing
44 mail for implementing IMAP or POP3 servers.
45
46 Email::Store itself is a very lightweight framework, meaning it does
47 not provide very much functionality itself; in effect, it is merely a
48 Class::DBI interface to a database schema which is designed for
49 storing email. Incidentally, if you don't know much about Class::DBI,
50 you're going to need to in order to get much out of this.
51
52 Despite its minimalist nature, Email::Store is incredibly powerful.
53 Its power comes from its extensibility, through plugin modules and
54 hooks which allow you to add new database tables and concepts to the
55 system, and so access the mail store from a "different direction". In
56 a sense, Email::Store is a blank canvas, onto which you can pick and
57 choose (or even write!) the plugins which you want for your
58 application.
59
60 For instance, the core Email::Store::Entity plugin module addresses
61 the idea of "people" in the email universe, allowing you to search for
62 mails to or from particular people; (despite their changing names or
63 email addresses) Email::Store::Thread interfaces Email::Store to
64 Mail::Thread allowing you to navigate mails by their position in a
65 mail thread; the planned non-core Email::Store::Plucene module plugs
66 into the indexing process and stores information about emails in a
67 Plucene search index for quick retrieval later, and so on.
68
69 %description -l pl.UTF-8
70 Email::Store to idealna podstawa dla każdej aplikacji potrzebującej
71 współpracować z bazami danych listów: archiwizowaniem, przeszukiwaniem
72 czy nawet przechowywaniem poczty przy implementowaniu serwerów IMAP
73 lub POP3.
74
75 Sam Email::Store jest bardzo lekkim szkieletem, co znaczy, że sam w
76 sobie nie dostarcza zbyt dużej funkcjonalności. W efekcie jest jedynie
77 interfejsem Class::DBI do schematu bazy danych zaprojektowanego do
78 przechowywania poczty. Przypadkowo, jeśli programista nie wie zbyt
79 dużo o Class::DBI, musi się trochę dowiedzieć, aby skorzystać z
80 Email::Store.
81
82 Pomimo swojej minimalistycznej natury Email::Store jest zadziwiająco
83 potężny. Jego potęga wynika z rozszerzalności poprzez moduły wtyczek i
84 punkty zaczepienia pozwalające na dodawanie nowych tabel i idei baz
85 danych do systemu oraz dostęp do zasobów pocztowych z "innej strony".
86 W tym sensie Email::Store to czyste płótno, na którym można umieszczać
87 wybrane (a nawet napisane przez siebie) wtyczki, które chcemy użyć we
88 własnej aplikacji.
89
90 Na przykład, podstawowy moduł wtyczki Email::Store::Entity przedstawia
91 ideę "ludzi" w świecie poczty elektronicznej, pozwalając wyszukiwać
92 listy do lub od określonych osób (pomimo zmieniania przez nich imion
93 czy adresów pocztowych). Email::Store::Thread łączy Email::Store z
94 Email::Thread pozwalając na nawigowanie poprzez listy po ich pozycji w
95 wątku; planowany dodatkowy moduł Email::Store::Plucene podłącza się do
96 procesu indeksowania i przechowuje informacje o listach w indeksie
97 wyszukiwarki Plucene w celu szybszego wyszukiwania ich później... i
98 tak dalej.
99
100 %prep
101 %setup -q -n %{pdir}-%{pnam}-%{version}
102
103 %build
104 %{__perl} Makefile.PL \
105         INSTALLDIRS=vendor
106 %{__make}
107
108 %{?with_tests:%{__make} test}
109
110 %install
111 rm -rf $RPM_BUILD_ROOT
112
113 %{__make} install \
114         DESTDIR=$RPM_BUILD_ROOT
115
116 %clean
117 rm -rf $RPM_BUILD_ROOT
118
119 %files
120 %defattr(644,root,root,755)
121 %doc Changes mailstore.sql
122 %{perl_vendorlib}/Email/*.pm
123 %{perl_vendorlib}/Email/Store
124 %{_mandir}/man3/*
This page took 0.64289 seconds and 3 git commands to generate.