cpanfile 7.53 KB
Newer Older
Luc Didry's avatar
Luc Didry committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
### Requirements
##

# This module provides zip/unzip for archive and shared document download/upload
requires 'Archive::Zip', '>= 1.05';

# Required to run Sympa web interface
requires 'CGI', '>= 3.51';

# WWSympa, Sympa's web interface can run as a FastCGI (i.e. a persistent CGI). If you install this module, you will also need to install FCGI module
requires 'CGI::Fast', '>= 1.08';

# Used to construct various singleton classes.
requires 'Class::Singleton', '>= 1.03';

# A generic Database Driver, required by Sympa to access Subscriber information and User preferences. An additional Database Driver is required for each database type you wish to connect to.
requires 'DBI', '>= 1.48';

# Used to decode date and time in message headers
requires 'DateTime::Format::Mail', '>= 0.28';

# Used to decode date and time in message headers
requires 'DateTime::TimeZone', '>= 0.59';

# Used to compute MD5 digests for passwords, etc.
requires 'Digest::MD5', '>= 2.00';

# Module for character encoding processing
requires 'Encode';

# WWSympa, Sympa's web interface can run as a FastCGI (i.e. a persistent CGI). If you install this module, you will also need to install the associated FastCGI frontend, e.g. mod_fcgid for Apache.
requires 'FCGI', '>= 0.67';

# Used to copy file hierarchies
requires 'File::Copy::Recursive', '>= 0.36';

# Required to perform NFS-safe file locking
requires 'File::NFSLock';

# Used to create or remove paths
requires 'File::Path', '>= 2.08';

# Used to compute plaindigest messages from HTML
requires 'HTML::FormatText';

# Required for XSS protection on the web interface
requires 'HTML::StripScripts::Parser', '>= 1.03';

# Used to compute plaindigest messages from HTML
requires 'HTML::TreeBuilder';

# Internal use for filehandle processing
requires 'IO::File', '>= 1.10';

# Internal use for string processing
requires 'IO::Scalar';

# Required when including members of a remote list
requires 'LWP::UserAgent';

# Set of various subroutines to handle scalar
requires 'List::Util::XS', '>= 1.20';

# Internationalization functions
requires 'Locale::Messages', '>= 1.20';

# MHonArc is used to build Sympa web archives
requires 'MHonArc::UTF8', '>= 2.6.18';

# Required to compute digest for password and emails
requires 'MIME::Base64', '>= 3.03';

# Used to encode mail body using a different charset
requires 'MIME::Charset', '>= 1.011.3';

# Required to decode/encode SMTP header fields without breaking character encoding
requires 'MIME::EncWords', '>= 1.014';

# Used to compose HTML mail from the web interface
requires 'MIME::Lite::HTML', '>= 1.23';

# Provides libraries for manipulating MIME messages
requires 'MIME::Tools', '>= 5.423';

# Used to parse or build mailboxes in message headers
requires 'Mail::Address', '>= 1.70';

# Used to check netmask within Sympa authorization scenario rules
requires 'Net::CIDR', '>= 0.16';

# Used to record system log via syslog
requires 'Sys::Syslog', '>= 0.03';

# Sympa template format, used for web pages and other mail, config file templates. See http://template-toolkit.org/.
requires 'Template', '>= 2.21';

# Used to show progress bar by command line utilities
requires 'Term::ProgressBar', '>= 2.09';

# Used to fold lines in HTML mail composer and system messages, prior to Text::Wrap
requires 'Text::LineFold', '>= 2011.05';

# Used to get time with sub-second precision
requires 'Time::HiRes', '>= 1.29';

# Used to create URI containing non URI-canonical characters.
requires 'URI::Escape', '>= 3.28';

# Used to parse list configuration templates and instanciate list families
# libxml2-devel is needed to build the Perl code
requires 'XML::LibXML', '>= 1.70';

### Recommendations
##

# Use XS version of some modules to make Sympa faster
# Used to make copy of internal data structures.
recommends 'Clone', '>= 0.31';

# Used to encrypt passwords with the Bcrypt hash algorithm
recommends 'Crypt::Eksblowfish', '>= 0.009';

# Used for configureable hardening of passwords via the password_validation sympa.conf directive.
recommends 'Data::Password', '>= 1.07';

# Useful when running command line utilities in the console not supporting UTF-8 encoding
recommends 'Encode::Locale', '>= 1.02';

# Required in order to use DKIM features (both for signature verification and signature insertion)
recommends 'Mail::DKIM::Verifier', '>= 0.37';

# This is required if you set "list_check_smtp" sympa.conf parameter, used to check existing aliases before mailing list creation.
recommends 'Net::SMTP';

# This is required if you set a value for "dmarc_protection_mode" which requires DNS verification
recommends 'Net::DNS', '>= 0.65';

# Normalizes file names represented by Unicode
recommends 'Unicode::Normalize', '>= 0.23';

### Features
##

feature 'cas', 'CAS Single Sign-On client libraries. Required if you configure Sympa to delegate web authentication to a CAS server.' => sub {
    requires 'AuthCAS', '>= 1.4';
};

feature 'migrate-from-very-old-version', 'This module provides reversible encryption of user passwords in the database.  Useful when updating from old version with password reversible encryption, or if secure session cookies in non-SSL environments are required.' => sub {
    requires 'Crypt::CipherSaber', '>= 0.50';
};

feature 'x509-auth', 'Required to extract user certificates for SSL clients and S/MIME messages.' => sub {
    requires 'Crypt::OpenSSL::X509', '>= 1.800.1';
};

feature 'smime', 'Required to sign, verify, encrypt and decrypt S/MIME messages.' => sub {
    requires 'Crypt::SMIME', '>= 0.15';
    # Required to extract user certificates for SSL clients and S/MIME messages.
    requires 'Crypt::OpenSSL::X509', '>= 1.800.1';
};

feature 'csv', 'CSV database driver, required if you include list members, owners or editors from CSV file.' => sub {
    requires 'DBD::CSV', '>= 0.22';
};

feature 'odbc', 'ODBC database driver, required if you connect to a database via ODBC.' => sub {
    requires 'DBD::ODBC';
};

feature 'oracle', 'Oracle database driver, required if you connect to a Oracle database.' => sub {
    requires 'DBD::Oracle', '>= 1.02';
};

feature 'pg', 'PostgreSQL database driver, required if you connect to a PostgreSQL database.' => sub {
    # postgresql-devel and postgresql-server. PostgreSQL server should be running for make test to succeed
    requires 'DBD::Pg', '>= 2.00';
};

feature 'sqlite', 'SQLite database driver, required if you connect to a SQLite database.' => sub {
    # sqlite-devel. No need to install a server, the SQLite server code being provided with the client code.
    requires 'DBD::SQLite', '>= 1.31';
};

feature 'sybase', 'Sybase database driver, required if you connect to a Sybase database.' => sub {
    requires 'DBD::Sybase', '>= 0.90';
};

feature 'mysql', 'MySQL / MariaDB database driver, required if you connect to a MySQL (or MariaDB) database.' => sub {
    # mysql-devel and myslq-server. MySQL (or MariaDB) server should be running for make test to succeed
    requires 'DBD::mysql', '>= 4.008';
};

feature 'remote-list-including', 'Required when including members of a remote list' => sub {
    requires 'IO::Socket::SSL', '>= 0.90';
};

feature 'ldap', 'Required to query LDAP directories. Sympa can do LDAP-based authentication ; it can also build mailing lists with LDAP-extracted members.' => sub {
    # openldap-devel is needed to build the Perl code
    requires 'Net::LDAP', '>= 0.40';
};

feature 'soap', 'Required if you want to run the Sympa SOAP server that provides mailing list services via a "web service"' => sub {
    requires 'SOAP::Lite', '>= 0.712';
};


207
208
209
on 'develop' => sub {
    requires 'Test::Fixme';
    requires 'Test::PerlTidy';
210
    requires 'Perl::Tidy', '== 20180220';
211
};