App-GhaInstall

 view release on metacpan or  search on metacpan

lib/App/GhaInstall.pm  view on Meta::CPAN

		'CPAN::Shell'->rematein( @notest, 'install', $module );
		if ( 'CPAN::Shell'->can('mandatory_dist_failed') ) {
			return scalar 'CPAN::Shell'->mandatory_dist_failed();
		}
		return;
	}
	
	return maybe_die system( split(/ /, INSTALLER), $module );
}

sub ensure_configured_cpan {
	use Cwd ();
	require CPAN;
	eval { require CPAN::Shell };

	my $home = $ENV{HOME};
	my $cwd  = Cwd::cwd;
	$CPAN::Config = {
	  'applypatch' => q[],
	  'auto_commit' => q[0],
	  'build_cache' => q[100],
	  'build_dir' => qq[$home/.cpan/build],
	  'build_dir_reuse' => q[0],
	  'build_requires_install_policy' => q[yes],
	  'bzip2' => q[/bin/bzip2],
	  'cache_metadata' => q[1],
	  'check_sigs' => q[0],
	  'colorize_output' => q[0],
	  'commandnumber_in_prompt' => q[1],
	  'connect_to_internet_ok' => q[1],
	  'cpan_home' => qq[$home/.cpan],
	  'ftp_passive' => q[1],
	  'ftp_proxy' => q[],
	  'getcwd' => q[cwd],
	  'gpg' => q[/usr/bin/gpg],
	  'gzip' => q[/bin/gzip],
	  'halt_on_failure' => q[0],
	  'histfile' => qq[$home/.cpan/histfile],
	  'histsize' => q[100],
	  'http_proxy' => q[],
	  'inactivity_timeout' => q[0],
	  'index_expire' => q[1],
	  'inhibit_startup_message' => q[0],
	  'keep_source_where' => qq[$home/.cpan/sources],
	  'load_module_verbosity' => q[none],
	  'make' => q[/usr/bin/make],
	  'make_arg' => q[],
	  'make_install_arg' => q[],
	  'make_install_make_command' => q[/usr/bin/make],
	  'makepl_arg' => q[INSTALLDIRS=site],
	  'mbuild_arg' => q[],
	  'mbuild_install_arg' => q[],
	  'mbuild_install_build_command' => q[./Build],
	  'mbuildpl_arg' => q[--installdirs site],
	  'no_proxy' => q[],
	  'pager' => q[/usr/bin/less],
	  'patch' => q[/usr/bin/patch],
	  'perl5lib_verbosity' => q[none],
	  'prefer_external_tar' => q[1],
	  'prefer_installer' => q[MB],
	  'prefs_dir' => qq[$home/.cpan/prefs],
	  'prerequisites_policy' => q[follow],
	  'scan_cache' => q[atstart],
	  'shell' => q[/bin/sh],
	  'show_unparsable_versions' => q[0],
	  'show_upload_date' => q[0],
	  'show_zero_versions' => q[0],
	  'tar' => q[/bin/tar],
	  'tar_verbosity' => q[none],
	  'term_is_latin' => q[1],
	  'term_ornaments' => q[1],
	  'test_report' => q[0],
	  'trust_test_report_history' => q[0],
	  'unzip' => q[/usr/bin/unzip],
	  'urllist' => [q[http://cpan.mirrors.uk2.net/], q[http://cpan.singletasker.co.uk/], q[http://cpan.cpantesters.org/]],
	  'use_sqlite' => q[0],
	  'version_timeout' => q[15],
	  'wget' => q[/usr/bin/wget],
	  'yaml_load_code' => q[0],
	  'yaml_module' => q[YAML],
	};
}

1;

__END__

=pod

=encoding utf-8

=head1 NAME

App::GhaInstall - provides the gha-install command

=head1 SYNOPSIS

Install dependencies for a distribution, assuming you're in the distro's
root directory (where Makefile.PL and META.json live):

  $ gha-install --configure
  $ perl Makefile.PL
  $ gha-install --auto

Install things by name:

  $ gha-install HTTP::Tiny

Install things by name, but ignore failures:

  $ gha-install --allow-fail HTTP::Tiny

=head1 DESCRIPTION

This is a wrapper around L<App::cpanminus>, L<App::cpm>, or L<CPAN>,
depending on what is available. Mostly because L<App::cpanminus>
doesn't work on Perl 5.6.

Copies of L<YAML::Tiny> and L<JSON::Tiny> are bundled, just in case.

C<< gha-install >> is intended to be packable with L<App::FatPacker>.



( run in 1.272 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )