view release on metacpan or search on metacpan
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
shift @dirs while @dirs && $dirs[0] ne 'blib';
return unless @dirs;
if ( $dirs[1] && $dirs[1] eq 'lib' ) {
print qq{'blib' scheme is detected. Setting ALIEN_BLIB=1. If this has been done in error, please set ALIEN_BLIB and restart build process to disambiguate.\n};
return 1;
}
carp q{'blib' scheme is suspected, but uncertain. Please set ALIEN_BLIB and restart build process to disambiguate. Setting ALIEN_BLIB=1 for now.};
return 1;
lib/Alien/Base/ModuleBuild.pm view on Meta::CPAN
if the package you are building does not use C<pkg-config>.
When this method is called, the current working directory will be the
build root.
If you see an error message like this:
Library looks like it installed, but no version was determined
After the package is built from source code then you probably need to
provide an implementation for this method.
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
unless ( $INC{$file} ) { die <<"END_DIE" }
Please invoke ${\__PACKAGE__} with:
view all matches for this distribution
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
$static_prereqs
);
# Add dynamic prereqs to the included modules list (if we can)
my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
my $cpan_meta_error;
if ( $source && $HAS_CPAN_META
&& (my $meta = eval { CPAN::Meta->load_file($source) } )
) {
$full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
}
else {
$cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source)
$source = 'static metadata';
}
my @full_reports;
my @dep_errors;
my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
# Add static includes into a fake section
for my $mod (@include) {
$req_hash->{other}{modules}{$mod} = 0;
t/00-report-prereqs.t view on Meta::CPAN
$have = "undef" unless defined $have;
push @reports, [$mod, $want, $have];
if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
if ( $have !~ /\A$lax_version_re\z/ ) {
push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
}
elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
push @dep_errors, "$mod version '$have' is not in required range '$want'";
}
}
}
else {
push @reports, [$mod, $want, "missing"];
if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
push @dep_errors, "$mod is not installed ($req_string)";
}
}
}
if ( @reports ) {
t/00-report-prereqs.t view on Meta::CPAN
if ( @full_reports ) {
diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
}
if ( $cpan_meta_error || @dep_errors ) {
diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n";
}
if ( $cpan_meta_error ) {
my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n";
}
if ( @dep_errors ) {
diag join("\n",
"\nThe following REQUIRED prerequisites were not satisfied:\n",
@dep_errors,
"\n"
);
}
pass('Reported prereqs');
view all matches for this distribution
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
$static_prereqs
);
# Add dynamic prereqs to the included modules list (if we can)
my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
my $cpan_meta_error;
if ( $source && $HAS_CPAN_META
&& (my $meta = eval { CPAN::Meta->load_file($source) } )
) {
$full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
}
else {
$cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source)
$source = 'static metadata';
}
my @full_reports;
my @dep_errors;
my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
# Add static includes into a fake section
for my $mod (@include) {
$req_hash->{other}{modules}{$mod} = 0;
t/00-report-prereqs.t view on Meta::CPAN
$have = "undef" unless defined $have;
push @reports, [$mod, $want, $have];
if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
if ( $have !~ /\A$lax_version_re\z/ ) {
push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
}
elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
push @dep_errors, "$mod version '$have' is not in required range '$want'";
}
}
}
else {
push @reports, [$mod, $want, "missing"];
if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
push @dep_errors, "$mod is not installed ($req_string)";
}
}
}
if ( @reports ) {
t/00-report-prereqs.t view on Meta::CPAN
if ( @full_reports ) {
diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
}
if ( $cpan_meta_error || @dep_errors ) {
diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n";
}
if ( $cpan_meta_error ) {
my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n";
}
if ( @dep_errors ) {
diag join("\n",
"\nThe following REQUIRED prerequisites were not satisfied:\n",
@dep_errors,
"\n"
);
}
pass('Reported prereqs');
view all matches for this distribution
view release on metacpan or search on metacpan
inc/My/Builder.pm view on Meta::CPAN
if (lc($unpack) eq 'y') {
$self->clean_dir($srcdir);
my $archive = catfile($download, File::Fetch->new(uri => $bp->{url})->file);
print "Extracting sources...\n";
my $ae = Archive::Extract->new( archive => $archive );
die "###ERROR###: cannot extract $bp ", $ae->error unless $ae->extract(to => $build_src);
$self->apply_patch($build_src, $_) foreach (@{$bp->{patches}});
}
return 1;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
$static_prereqs
);
# Add dynamic prereqs to the included modules list (if we can)
my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
my $cpan_meta_error;
if ( $source && $HAS_CPAN_META
&& (my $meta = eval { CPAN::Meta->load_file($source) } )
) {
$full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
}
else {
$cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source)
$source = 'static metadata';
}
my @full_reports;
my @dep_errors;
my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
# Add static includes into a fake section
for my $mod (@include) {
$req_hash->{other}{modules}{$mod} = 0;
t/00-report-prereqs.t view on Meta::CPAN
$have = "undef" unless defined $have;
push @reports, [$mod, $want, $have];
if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
if ( $have !~ /\A$lax_version_re\z/ ) {
push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
}
elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
push @dep_errors, "$mod version '$have' is not in required range '$want'";
}
}
}
else {
push @reports, [$mod, $want, "missing"];
if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
push @dep_errors, "$mod is not installed ($req_string)";
}
}
}
if ( @reports ) {
t/00-report-prereqs.t view on Meta::CPAN
if ( @full_reports ) {
diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
}
if ( $cpan_meta_error || @dep_errors ) {
diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n";
}
if ( $cpan_meta_error ) {
my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n";
}
if ( @dep_errors ) {
diag join("\n",
"\nThe following REQUIRED prerequisites were not satisfied:\n",
@dep_errors,
"\n"
);
}
pass('Reported prereqs');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/Build/Git.pm view on Meta::CPAN
See the synopsis above and the modules in the SEE ALSO section below. To decide
which you need.
Also please carefully consider NOT using one of these modules. If you can,
using http or ftp to download your target project will probably require fewer
and less error-prone dependencies.
=head1 SEE ALSO
=over 4
view all matches for this distribution
view release on metacpan or search on metacpan
t/alien_build_mb.t view on Meta::CPAN
is($download->slurp, 'testdata', 'fake tar faile has content');
};
subtest 'build' => sub {
my($out, $error) = capture_merged {
eval { $abmb->ACTION_alien_build };
$@;
};
is($error, '', 'build did not error ') || do {
diag Dumper($abmb->alien_build);
return;
};
my $build = $abmb->alien_build(1);
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/Build/Plugin/Build/Premake5.pm view on Meta::CPAN
=over 4
=item B<fatal>
Treat warnings from project scripts as errors.
=item B<insecure>
Forfeit SSH certification checks.
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
# I just want a test that checks that the modules
# will compile okay. I won't be trying to use them.
my($mod) = @_;
my $ctx = context();
eval qq{ require $mod };
my $error = $@;
my $ok = !$error;
$ctx->ok($ok, "require $mod");
$ctx->diag("error: $error") if $error ne '';
$ctx->release;
}
view all matches for this distribution
view release on metacpan or search on metacpan
(gh#256, gh#259)
- Fix bug where symlinks to directories were incorrectly being skipped
(gh#255, gh#260)
2.38 2021-01-11 14:35:54 -0700
- Fixed a bug the can cause an array dereference error in pkg-config command line
plugin on MSYS2 / MinGW environment (gh#243)
- Changed the auto-generated module name for Test::Alien, in a way that works
around a probable bug / issue with ExtUtils::CBuilder (gh#243)
2.37 2020-11-02 09:09:13 -0700
2.15 2020-03-16 06:53:31 -0600
- Tests on Windows will use the system temp directory rather than
a temp directory under the install directory. A temp directory
under the install directory was used to work around typically
Linux systems that have noexec set on /tmp. Since this is less
normal on Windows, and can cause mkpath errors if the install
directory is too deep we will use the windows system temp directory.
(gh#181, gh#182)
2.14 2020-03-15 12:49:17 -0600
- Added ffi_name property to Probe::Vcpkg plugin (gh#179)
- Production release identical to 1.77_01
1.77_01 2019-06-28 12:08:12 -0400
- _alien/alien.json file is generated using ->canonical(1) for reproducibility
(gh#132 Grinnz++ for the suggestion)
- _alien/alien.json file is generated using ->ascii to avoid warnings / errors
when unicode is included in install/runtime properties.
(gh#132 Grinnz++ for the suggestion)
1.76 2019-06-23 11:01:08 -0400
- Production release identical to 1.75_01
1.34_01 2017-12-27 10:30:10 -0500
- Add env_interpolate meta property.
- PkgConfig plugins now attempt to set PKG_CONFIG environment variable during build
1.33_01 2017-11-08 11:54:19 -0500
- Improve diagnostic for partially installed Alien error
1.32 2017-11-03 13:15:35 -0400
- Add ALIEN_INSTALL_NETWORK environment variable. Set to false if you don't
want to allow network fetch.
1.26_01 2017-10-25 12:28:58 -0400
- Fix Test::Alien bug where -L could be placed after directories specified in %Config
(this was already handled correctly by Alien::Base::Wrapper).
- Remove cpp and C++ options for xs_ok (I don't believe these were used in practice
and were issuing deprecation warnings for a while).
- A number of documentation errors have been fixed (jjatria++ leto++)
1.25 2017-10-09 08:57:34 -0400
- Production release identical to 1.24_01
1.24_01 2017-10-08 10:40:11 -0400
0.62 2017-07-13 21:27:31 +0000
- Add support for rc file ~/.alienfile/rc.pl
- Add start_url meta property
- Fetch plugins use start_url property by default
- Turn off Test2::Plugin::SRand, which seemed to be triggering an error in File::Temp
see fd3208bfe8613aae63e4439aa1f4c78d01be086e
0.61 2017-07-13 11:10:46 +0000
- Add passive property to Download::Negotiate plugin
- Add passive property to Fetch::NetFTP plugin
0.12 2017-02-08 15:39:56 -0500
- Added Probe::GnuWin32 plugin
0.11 2017-02-08 07:56:08 -0500
- Fixed regression in architecture logic for Alien::Build::MM
- Fix bug where compile error wouldn't throw exception from
Alien::Build->load
0.10 2017-02-06 05:24:25 -0500
- Add heuristic to determine version from filename using
Prefer::SortVersions plugin
- Add log method to Alien::Build
- Fixed bug in probe where first 'share' would be accepted (gh#7)
0.09 2017-02-04 17:31:00 -0500
- Using an undefined property in command interpolation is now an
error.
- Added patch support.
- Add meta property platform.compiler_type to flag Microsoft
Visual C++ ("microsoft") compared with everything else ("unix")
0.08 2017-02-04 11:33:01 -0500
- Fixed interpolator bug expressed in older versions of Perl
- Add patch hook to Alien::Build
- Add patch directive to alienfile
- Fixes for Microsoft Windows / Strawberry Perl
- Removed dangerous autosave option from Alien::Build
- Fixed error when trying to load modules without a $VERSION
- test suite now runs correctly if ALIEN_INSTALL_TYPE is set
- The Fetch::HTTPTiny and Fetch::LWP plugins now add the necessary
SSL modules if the URL is of the https scheme.
0.02 2017-01-31 13:22:29 -0500
view all matches for this distribution