Enbld
view release on metacpan or search on metacpan
lib/Enbld.pm view on Meta::CPAN
$ cat samples/git_install.pl
#!/usr/bin/perl
use strict;
use warnings;
use lib "$ENV{HOME}/.enbld/extlib/lib/perl5/";
use Enbld;
enbld 'mydevenv' => build {
target 'git' => define {
version 'latest';
};
}
=head3 Run as perl script
$ ./samples/git_install.pl
=head3 Finish installation
$ git --version
git version [latest version]
=head3 Upgrade
Then, if the newer version is released, please run script again.
$ ./samples/git_install.pl
The latest version will be installed.
=head2 INSTALL SPECIFIC VERSION
A specific version is specified in a conditions script. -> version '5.18.1';
$ cat samples/specific_version_install.pl
#!/usr/bin/perl
use strict;
use warnings;
use lib "$ENV{HOME}/.enbld/extlib/lib/perl5/";
use Enbld;
enbld 'mydevenv' => build {
target 'perl' => define {
version '5.18.1';
};
};
'perl 5.18.1' is installed.
$ perl -v
This is perl 5, version 18, subversion 1 (v5.18.1) built for ...
=head2 ADD ARGUMENTS
'arguments' method adds an additional arguments to 'configure' script.
target 'perl' => define {
version '5.18.1';
arguments '-Dusethreads';
};
perl 5.18.1 with thread is builded.
$ perl -v
This is perl 5, version 18, subversion 1 (v5.18.1) built for darwin-thread-multi-2level
=head2 INSTALL SOFTWARE WHICH DEPENDS
When using Enbld at OS X, Enbld also solve the dependencies between softwares automatically.
For example, when the is equal to which needs a libidn library for wget, and Enbld install wget, they also install libidn automatically.
$ enblder install wget
=====> Start building target 'wget'.
=====> Found dependencies.
--> Dependency 'libidn'.
--> libidn is not installed yet.
=====> Start building target 'libidn'.
Please solve the software which needs the fix patterns of a dependencies at that of a many using the package Management manager of operating system in operating system of Linux and BSD(s) other than OS X.
=head2 UTILITY COMMAND 'enblder'
Enbld installs utility command 'enblder'.
The main commands are shown below.
The description of all commands are shown by C<perldoc enblder>.
=head3 Displays available software
Subcommand 'available' displays software list that can install by Enbld.
$ enblder available
The name displayed on this list is used for the name of the Software which I specify as a condition script.
=head3 Install the software
subcommand 'install' installs the latest version of the software.
Use to install Software, without writing a condition script.
Then the 'freeze' subcommand is used, displays the conditions script reflecting the installation.
=head3 Displays installed software
Subcommand 'list' displays software list that is installed.
$ enblder list
=head3 Displays conditions script
Subcommand 'freeze' displays the condition script reproducing the software of an installed.
$ enblder freeze
If the displayed content is redirected to a text file, it will become a script of perl which can be performed as it is.
$ enblder freeze > conditions.pl
$ chmod +x conditions.pl
$ ./conditions.pl
=head3 Displays outdated software
( run in 1.191 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )