1Alien::Build::Plugin::DUoswenrloCaodn:t:rNiebguAotlteiideantP:ee:(rB3lu)iDlodc:u:mPelnutgaitni:o:nDownload::Negotiate(3)
2
3
4
6 Alien::Build::Plugin::Download::Negotiate - Download negotiation plugin
7
9 version 2.80
10
12 use alienfile;
13 share {
14 start_url 'http://ftp.gnu.org/gnu/make';
15 plugin 'Download' => (
16 filter => qr/^make-.*\.tar\.gz$/,
17 version => qr/([0-9\.]+)/,
18 );
19 };
20
22 This is a negotiator plugin for downloading packages from the internet.
23 This plugin picks the best Fetch, Decode and Prefer plugins to do the
24 actual work. Which plugins are picked depend on the properties you
25 specify, your platform and environment. It is usually preferable to
26 use a negotiator plugin rather than the Fetch, Decode and Prefer
27 plugins directly from your alienfile.
28
30 url
31 [DEPRECATED] use "start_url" instead.
32
33 The Initial URL for your package. This may be a directory listing
34 (either in HTML or ftp listing format) or the final tarball intended to
35 be downloaded.
36
37 filter
38 This is a regular expression that lets you filter out files that you do
39 not want to consider downloading. For example, if the directory
40 listing contained tarballs and readme files like this:
41
42 foo-1.0.0.tar.gz
43 foo-1.0.0.readme
44
45 You could specify a filter of "qr/\.tar\.gz$/" to make sure only
46 tarballs are considered for download.
47
48 version
49 Regular expression to parse out the version from a filename. The
50 regular expression should store the result in $1.
51
52 Note: if you provide a "version" property, this plugin will assume that
53 you will be downloading an initial index to select package downloads
54 from. Depending on the protocol (and typically this is the case for
55 http and HTML) that may bring in additional dependencies. If start_url
56 points to a tarball or other archive directly (without needing to do
57 through an index selection process), it is recommended that you not
58 specify this property.
59
60 ssl
61 If your initial URL does not need SSL, but you know ahead of time that
62 a subsequent request will need it (for example, if your directory
63 listing is on "http", but includes links to "https" URLs), then you can
64 set this property to true, and the appropriate Perl SSL modules will be
65 loaded.
66
67 passive
68 If using FTP, attempt a passive mode transfer first, before trying an
69 active mode transfer.
70
71 bootstrap_ssl
72 If set to true, then the download negotiator will avoid using plugins
73 that have a dependency on Net::SSLeay, or other Perl SSL modules. The
74 intent for this option is to allow OpenSSL to be alienized and be a
75 useful optional dependency for Net::SSLeay.
76
77 The implementation may improve over time, but as of this writing, this
78 option relies on you having a working "curl" or "wget" with SSL support
79 in your "PATH".
80
81 prefer
82 How to sort candidates for selection. This should be one of three
83 types of values:
84
85 code reference
86 This will be used as the prefer hook.
87
88 true value
89 Use Alien::Build::Plugin::Prefer::SortVersions.
90
91 false value
92 Don't set any preference at all. A hook must be installed, or
93 another prefer plugin specified.
94
95 decoder
96 Override the detected decoder.
97
99 pick
100 my($fetch, @decoders) = $plugin->pick;
101
102 Returns the fetch plugin and any optional decoders that should be used.
103
105 Alien::Build::Plugin::Prefer::BadVersion,
106 Alien::Build::Plugin::Prefer::GoodVersion
107
108 Alien::Build, alienfile, Alien::Build::MM, Alien
109
111 Author: Graham Ollis <plicease@cpan.org>
112
113 Contributors:
114
115 Diab Jerius (DJERIUS)
116
117 Roy Storey (KIWIROY)
118
119 Ilya Pavlov
120
121 David Mertens (run4flat)
122
123 Mark Nunberg (mordy, mnunberg)
124
125 Christian Walde (Mithaldu)
126
127 Brian Wightman (MidLifeXis)
128
129 Zaki Mughal (zmughal)
130
131 mohawk (mohawk2, ETJ)
132
133 Vikas N Kumar (vikasnkumar)
134
135 Flavio Poletti (polettix)
136
137 Salvador Fandiño (salva)
138
139 Gianni Ceccarelli (dakkar)
140
141 Pavel Shaydo (zwon, trinitum)
142
143 Kang-min Liu (劉康民, gugod)
144
145 Nicholas Shipp (nshp)
146
147 Juan Julián Merelo Guervós (JJ)
148
149 Joel Berger (JBERGER)
150
151 Petr Písař (ppisar)
152
153 Lance Wicks (LANCEW)
154
155 Ahmad Fatoum (a3f, ATHREEF)
156
157 José Joaquín Atria (JJATRIA)
158
159 Duke Leto (LETO)
160
161 Shoichi Kaji (SKAJI)
162
163 Shawn Laffan (SLAFFAN)
164
165 Paul Evans (leonerd, PEVANS)
166
167 Håkon Hægland (hakonhagland, HAKONH)
168
169 nick nauwelaerts (INPHOBIA)
170
171 Florian Weimer
172
174 This software is copyright (c) 2011-2022 by Graham Ollis.
175
176 This is free software; you can redistribute it and/or modify it under
177 the same terms as the Perl 5 programming language system itself.
178
179
180
181perl v5.36.1 2A0l2i3e-n0:5:-B1u5ild::Plugin::Download::Negotiate(3)