[Module-build-general] PATCH: added ACTION_versioninstall
Status: Beta
Brought to you by:
kwilliams
|
From: Brian I. <in...@tt...> - 2003-02-20 01:24:40
|
Here's a patch to make:
./Build versioninstall work.
Cheers, Brian
diff -ru Module-Build-0.15-orig/lib/Module/Build/Base.pm Module-Build-0.15/lib/Module/Build/Base.pm
--- Module-Build-0.15-orig/lib/Module/Build/Base.pm Fri Jan 17 12:53:11 2003
+++ Module-Build-0.15/lib/Module/Build/Base.pm Wed Feb 19 17:01:52 2003
@@ -761,6 +761,28 @@
ExtUtils::Install::install($self->install_map('blib'), 1, 1);
}
+sub ACTION_versioninstall {
+ my ($self) = @_;
+ eval { require only };
+ die "You must have only.pm installed for this operation\n"
+ if $@;
+
+ if (defined $self->{args}{versionlib}) {
+ require Config;
+ $only::config::versionlib = $self->{args}{versionlib};
+ $only::config::versionarch =
+ File::Spec->catdir($self->{args}{versionlib},
+ $Config::Config{archname});
+ }
+ my @args = ();
+ if (defined $self->{args}{version}) {
+ push @args, $self->{args}{version};
+ }
+ $self->depends_on('build');
+ local @ARGV = @args;
+ only::install();
+}
+
sub ACTION_clean {
my ($self) = @_;
foreach my $item (keys %{$self->{cleanup}}) {
diff -ru Module-Build-0.15-orig/lib/Module/Build.pm Module-Build-0.15/lib/Module/Build.pm
--- Module-Build-0.15-orig/lib/Module/Build.pm Fri Jan 17 13:11:05 2003
+++ Module-Build-0.15/lib/Module/Build.pm Wed Feb 19 16:46:26 2003
@@ -733,6 +733,28 @@
anything, it will just report what it I<would> have done if you had
actually run the C<install> action.
+=item versioninstall
+
+If you have C<only.pm> installed on your system, you can use this action
+to install a module into the version specific library trees. This means
+that you can have several versions of the same module installed and
+C<use> a specific one like this:
+
+ use only MyModule => 0.55;
+
+To override the default installation libraries in C<only::config>,
+specify the C<versionlib> parameter when you run the C<Build.PL> script:
+
+ perl Build.PL versionlib=/my/version/place/
+
+To override which version the module is installed as, specify the
+C<versionlib> parameter when you run the C<Build.PL> script:
+
+ perl Build.PL version=0.50
+
+See the C<only.pm> documentation for more information on version
+specific installs.
+
=item manifest
This is an action intended for use by module authors, not people
Only in Module-Build-0.15: x
|