… | |
… | |
9 | staticperl configure # fetch and then configure perl |
9 | staticperl configure # fetch and then configure perl |
10 | staticperl build # configure and then build perl |
10 | staticperl build # configure and then build perl |
11 | staticperl install # build and then install perl |
11 | staticperl install # build and then install perl |
12 | staticperl clean # clean most intermediate files (restart at configure) |
12 | staticperl clean # clean most intermediate files (restart at configure) |
13 | staticperl distclean # delete everything installed by this script |
13 | staticperl distclean # delete everything installed by this script |
|
|
14 | staticperl perl ... # invoke the perlinterpreter |
14 | staticperl cpan # invoke CPAN shell |
15 | staticperl cpan # invoke CPAN shell |
15 | staticperl instmod path... # install unpacked modules |
16 | staticperl instmod path... # install unpacked modules |
16 | staticperl instcpan modulename... # install modules from CPAN |
17 | staticperl instcpan modulename... # install modules from CPAN |
17 | staticperl mkbundle <bundle-args...> # see documentation |
18 | staticperl mkbundle <bundle-args...> # see documentation |
18 | staticperl mkperl <bundle-args...> # see documentation |
19 | staticperl mkperl <bundle-args...> # see documentation |
… | |
… | |
185 | |
186 | |
186 | =item F<staticperl install> |
187 | =item F<staticperl install> |
187 | |
188 | |
188 | Wipes the perl installation directory (usually F<~/.staticperl/perl>) and |
189 | Wipes the perl installation directory (usually F<~/.staticperl/perl>) and |
189 | installs the perl distribution, potentially after building it first. |
190 | installs the perl distribution, potentially after building it first. |
|
|
191 | |
|
|
192 | =item F<staticperl perl> [args...] |
|
|
193 | |
|
|
194 | Invokes the compiled perl interpreter with the given args. Basically the |
|
|
195 | same as starting perl directly (usually via F<~/.staticperl/bin/perl>), |
|
|
196 | but beats typing the path sometimes. |
|
|
197 | |
|
|
198 | Example: check that the Gtk2 module is installed and loadable. |
|
|
199 | |
|
|
200 | staticperl perl -MGtk2 -e0 |
190 | |
201 | |
191 | =item F<staticperl cpan> [args...] |
202 | =item F<staticperl cpan> [args...] |
192 | |
203 | |
193 | Starts an interactive CPAN shell that you can use to install further |
204 | Starts an interactive CPAN shell that you can use to install further |
194 | modules. Installs the perl first if necessary, but apart from that, |
205 | modules. Installs the perl first if necessary, but apart from that, |
… | |
… | |
940 | |
951 | |
941 | In addition to environment variables, it is possible to provide some |
952 | In addition to environment variables, it is possible to provide some |
942 | shell functions that are called at specific times. To provide your own |
953 | shell functions that are called at specific times. To provide your own |
943 | commands, just define the corresponding function. |
954 | commands, just define the corresponding function. |
944 | |
955 | |
|
|
956 | The actual order in which hooks are invoked during a full install |
|
|
957 | from scratch is C<preconfigure>, C<patchconfig>, C<postconfigure>, |
|
|
958 | C<postbuild>, C<postinstall>. |
|
|
959 | |
945 | Example: install extra modules from CPAN and from some directories |
960 | Example: install extra modules from CPAN and from some directories |
946 | at F<staticperl install> time. |
961 | at F<staticperl install> time. |
947 | |
962 | |
948 | postinstall() { |
963 | postinstall() { |
949 | rm -rf lib/threads* # weg mit Schaden |
964 | rm -rf lib/threads* # weg mit Schaden |
… | |
… | |
955 | |
970 | |
956 | =over 4 |
971 | =over 4 |
957 | |
972 | |
958 | =item preconfigure |
973 | =item preconfigure |
959 | |
974 | |
960 | Called just before running F<./Configur> in the perl source |
975 | Called just before running F<./Configure> in the perl source |
961 | directory. Current working directory is the perl source directory. |
976 | directory. Current working directory is the perl source directory. |
962 | |
977 | |
963 | This can be used to set any C<PERL_xxx> variables, which might be costly |
978 | This can be used to set any C<PERL_xxx> variables, which might be costly |
964 | to compute. |
979 | to compute. |
965 | |
980 | |
|
|
981 | =item patchconfig |
|
|
982 | |
|
|
983 | Called after running F<./Configure> in the perl source directory to create |
|
|
984 | F<./config.sh>, but before running F<./Configure -S> to actually apply the |
|
|
985 | config. Current working directory is the perl source directory. |
|
|
986 | |
|
|
987 | Can be used to tailor/patch F<config.sh> or do any other modifications. |
|
|
988 | |
966 | =item postconfigure |
989 | =item postconfigure |
967 | |
990 | |
968 | Called after configuring, but before building perl. Current working |
991 | Called after configuring, but before building perl. Current working |
969 | directory is the perl source directory. |
992 | directory is the perl source directory. |
970 | |
|
|
971 | Could be used to tailor/patch config.sh (followed by F<sh Configure -S>) |
|
|
972 | or do any other modifications. |
|
|
973 | |
993 | |
974 | =item postbuild |
994 | =item postbuild |
975 | |
995 | |
976 | Called after building, but before installing perl. Current working |
996 | Called after building, but before installing perl. Current working |
977 | directory is the perl source directory. |
997 | directory is the perl source directory. |
… | |
… | |
1213 | C<"AnyEvent/Util/uts46data.pl">. |
1233 | C<"AnyEvent/Util/uts46data.pl">. |
1214 | |
1234 | |
1215 | Or you can use C<--usepacklists> and specify C<-MAnyEvent> to include |
1235 | Or you can use C<--usepacklists> and specify C<-MAnyEvent> to include |
1216 | everything. |
1236 | everything. |
1217 | |
1237 | |
|
|
1238 | =item Cairo |
|
|
1239 | |
|
|
1240 | See Glib, same problem, same solution. |
|
|
1241 | |
1218 | =item Carp |
1242 | =item Carp |
1219 | |
1243 | |
1220 | Carp had (in older versions of perl) a dependency on L<Carp::Heavy>. As of |
1244 | Carp had (in older versions of perl) a dependency on L<Carp::Heavy>. As of |
1221 | perl 5.12.2 (maybe earlier), this dependency no longer exists. |
1245 | perl 5.12.2 (maybe earlier), this dependency no longer exists. |
1222 | |
1246 | |
1223 | =item Config |
1247 | =item Config |
1224 | |
1248 | |
1225 | The F<perl -V> switch (as well as many modules) needs L<Config>, which in |
1249 | The F<perl -V> switch (as well as many modules) needs L<Config>, which in |
1226 | turn might need L<"Config_heavy.pl">. Including the latter gives you |
1250 | turn might need L<"Config_heavy.pl">. Including the latter gives you |
1227 | both. |
1251 | both. |
|
|
1252 | |
|
|
1253 | =item Glib |
|
|
1254 | |
|
|
1255 | Glib literally requires Glib to be installed already to build - it tries |
|
|
1256 | to fake this by running Glib out of the build directory before being |
|
|
1257 | built. F<staticperl> tries to work around this by forcing C<MAN1PODS> and |
|
|
1258 | C<MAN3PODS> to be empty via the C<PERL_MM_OPT> environment variable. |
|
|
1259 | |
|
|
1260 | =item Gtk2 |
|
|
1261 | |
|
|
1262 | See Pango, same problems, same solution. |
|
|
1263 | |
|
|
1264 | =item Pango |
|
|
1265 | |
|
|
1266 | In addition to the C<MAN3PODS> problem in Glib, Pango also routes around |
|
|
1267 | L<ExtUtils::MakeMaker> by compiling its files on its own. F<staticperl> |
|
|
1268 | tries to patch L<ExtUtils::MM_Unix> to route around Pango. |
1228 | |
1269 | |
1229 | =item Term::ReadLine::Perl |
1270 | =item Term::ReadLine::Perl |
1230 | |
1271 | |
1231 | Also needs L<Term::ReadLine::readline>, or C<--usepacklists>. |
1272 | Also needs L<Term::ReadLine::readline>, or C<--usepacklists>. |
1232 | |
1273 | |