view release on metacpan or search on metacpan
CONTRIBUTING.md view on Meta::CPAN
The suite exercises the real `xmake`/`xrepo` binaries, so it requires a working xmake (or the ability to fetch one). Tests build and install a small package (`zlib`) and a binary (`ninja`) into a temporary, isolated store.
## Development workflow
This project uses **native Perl `class` syntax** (`use v5.40`). Please keep that style and avoid adding comments unless they clarify non-obvious behavior.
We use [Test2::V0](https://metacpan.org/pod/Test2::V0) for tests. Follow the existing test structure when adding coverage.
Before submitting, please:
1. **Run the full suite** and confirm it passes.
2. Format your code so it matches the surrounding style (the repo has a
`[Code::TidyAll](https://metacpan.org/pod/Code::TidyAll)` configuration in `.tidyallrc`).
3. Add a changelog entry under `## [Unreleased]` in `Changes.md`.
If you change the public API of a class, update the corresponding `.pod` and any example distributions under `eg/examples/`.
## Submitting changes
1. Fork the repository on GitHub.
2. Create a feature branch: `git checkout -b my-change`
3. Commit your changes with a clear, concise message (see the existing `git log` for style).
4. Push your branch and open a Pull Request against `main` (previously `master`).
Please make sure your PR:
- Describes the problem being solved
view all matches for this distribution
view release on metacpan or search on metacpan
corpus/dir/http.html view on Meta::CPAN
<html><head>
<title>Index of /corpus/dist/</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type='text/css'>
table { width:100%%; }
.name { text-align:left; }
.size, .mtime { text-align:right; }
.type { width:11em; }
.mtime { width:15em; }
</style>
</head><body>
<h1>Index of /corpus/dist/</h1>
<hr />
<table>
<tr>
view all matches for this distribution
view release on metacpan or search on metacpan
'%{make}',
'%{make} install',
];
after build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'source';
$build->runtime_prop->{command} = 'python3';
};
plugin 'Gather::IsolateDynamic';
}
after build => sub {
my($build) = @_;
my $prefix = $build->install_prop->{prefix};
$build->runtime_prop->{'style'} = 'binary';
$build->runtime_prop->{command} = 'python';
$build->runtime_prop->{share_bin_dir_rel} = '.';
};
}
after build => sub {
my($build) = @_;
my $prefix = path($build->install_prop->{prefix});
$build->runtime_prop->{'style'} = 'binary';
$build->runtime_prop->{command} = 'python3';
my $framework_dst_dir = path('Python.framework');
my ($version_base) = $framework_dst_dir->child( qw(Versions) )->children( qr/^3\./ );
$build->runtime_prop->{share_bin_dir_rel} = $version_base->child('bin')->stringify;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/CSFML.pm view on Meta::CPAN
C language
=head1 Description
This distribution builds and installs CSFML; the official binding of SFML for
the C language. Its API is as close as possible to the C++ API (but in C style,
of course), which makes it a perfect tool for building SFML bindings for other
languages that don't directly support C++ libraries.
=head1 Synopsis
view all matches for this distribution
view release on metacpan or search on metacpan
cp/codepress/codepress.css view on Meta::CPAN
height:100%;
}
pre {margin:0;}
html>body{background-position:0 2px;}
P {margin:0;padding:0;border:0;outline:0;display:block;white-space:pre;}
b, i, s, u, a, em, tt, ins, big, cite, strong, var, dfn {text-decoration:none;font-weight:normal;font-style:normal;font-size:13px;}
body.hide-line-numbers {background:white;margin-left:16px;}
body.show-line-numbers {background-image:url("images/line-numbers.png");margin-left:32px;}
view all matches for this distribution
view release on metacpan or search on metacpan
t/pod-coverage.t view on Meta::CPAN
eval "use Test::Pod::Coverage $min_tpc";
plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
if $@;
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
# but older versions don't recognize some common documentation styles
my $min_pc = 0.18;
eval "use Pod::Coverage $min_pc";
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
match => qr/^deno ([0-9\.]+)/,
version => qr/^deno ([0-9\.]+)/,
);
share {
# Only supports binary style for now.
my %os_arch_mapping = (
"darwin:aarch64" => { name => 'aarch64-apple-darwin' },
"darwin:x86_64" => { name => 'x86_64-apple-darwin' },
"MSWin32:x86_64" => { name => 'x86_64-pc-windows-msvc' },
plugin 'Build::Copy';
gather sub {
my ($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
};
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/FFTW3.pm view on Meta::CPAN
for floats, doubles, long doubles, and quad doubles respecetively.
On initial use, Alien::FFTW3 checks for which precisions are
available. If more than zero are available, it succeeds. If none are
available, then it fails. If you specify a version number, it is
translated from Perl-style version numbers to a POSIX module version
string. The load will throw an exception unless every located libfftw
external library is at that version or later.
You can query which precisions are installed on your system using the
"precision" method, documented below.
view all matches for this distribution
view release on metacpan or search on metacpan
patches/FreeImage-3.17.0-ALL-IN-ONE.patch view on Meta::CPAN
+++ src/Source/LibRawLite/internal/libraw_x3f.cpp 2017-06-26 19:50:06.806762000 +0200
@@ -1,4 +1,4 @@
-/* Library for accessing X3F Files
+/* Library for accessing X3F Files
----------------------------------------------------------------
BSD-style License
----------------------------------------------------------------
diff -ru src.3170/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c src/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c
--- src.3170/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c 2015-03-08 20:53:02.000000000 +0100
+++ src/Source/LibWebP/src/dsp/dsp.dec_mips_dsp_r2.c 2017-06-22 22:17:19.446910500 +0200
@@ -548,10 +548,10 @@
view all matches for this distribution
view release on metacpan or search on metacpan
plugin 'Download';
extract [ '%{sevenzip} x %{.install.download}' ];
plugin 'Build::Copy';
gather sub {
my ($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
};
}
sub do_source_release {
start_url 'https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.6/gnuplot-5.4.6.tar.gz/download';
'%{make}',
'%{make} install',
];
gather sub {
my ($build) = @_;
$build->runtime_prop->{'style'} = 'source';
};
}
share {
if( $^O eq 'MSWin32' ) {
view all matches for this distribution
view release on metacpan or search on metacpan
GvaScript_Builder.pm view on Meta::CPAN
return <<__EOHTML__
<html>
<head>
<script src="../../lib/Alien/GvaScript/lib/prototype.js"></script>
<script src="../../lib/Alien/GvaScript/lib/GvaScript.js"></script>
<link href="GvaScript_doc.css" rel="stylesheet" type="text/css">
<script>
document.observe('dom:loaded', function() { new GvaScript.TreeNavigator('TN_tree'); });
function jumpto_href(event) {
var label = event.controller.label(event.target);
if (label && label.tagName == "A") {
view all matches for this distribution
view release on metacpan or search on metacpan
'Text::Patch' => 0,
'IPC::Run3' => 0.041, # we need return_if_system_error
},
share_dir => 'sharedir',
get_options => { 'cvs' => { qw(type :s store) => \$cvs_src } },
#create_makefile_pl => 'small', # creating Makefile.PL to satisfy old CPAN clients (does not work well with our style of M::B use)
create_readme => 1,
meta_merge => {
resources => {
bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Alien-IUP',
repository => 'https://github.com/kmx/alien-iup',
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Devel/CheckLib.pm view on Meta::CPAN
a string or an array of strings
representing additional paths to search for libraries.
=item LIBS
a C<ExtUtils::MakeMaker>-style space-seperated list of
libraries (each preceded by '-l') and directories (preceded by '-L').
=back
And libraries are no use without header files, so ...
inc/Devel/CheckLib.pm view on Meta::CPAN
a string or an array of strings
representing additional paths to search for headers.
=item INC
a C<ExtUtils::MakeMaker>-style space-seperated list of
incpaths, each preceded by '-I'.
=back
=head2 check_lib_or_exit
view all matches for this distribution
view release on metacpan or search on metacpan
t/pod-coverage.t view on Meta::CPAN
eval "use Test::Pod::Coverage $min_tpc";
plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
if $@;
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
# but older versions don't recognize some common documentation styles
my $min_pc = 0.18;
eval "use Pod::Coverage $min_pc";
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/Judy.pod view on Meta::CPAN
=head1 ACKNOWLEDGEMENTS
I stole the packaging style from Michael Schwern's L<Alien::SVN>.
=head1 Alien::Judy COPYRIGHT & LICENSE
Copyright 2008-2010 Josh ben Jore, all rights reserved.
view all matches for this distribution
view release on metacpan or search on metacpan
'%{make} install',
];
plugin 'Gather::IsolateDynamic';
after gather => sub {
my ($build) = @_;
$build->runtime_prop->{'style'} = 'source';
};
}
share {
do_source;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/LMDB.pm
MANIFEST This list of files
META.json
META.yml
t/installed.t
t/style-trailing-space.t
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Devel/CheckLib.pm view on Meta::CPAN
a string or an array of strings
representing additional paths to search for libraries.
=item LIBS
a C<ExtUtils::MakeMaker>-style space-seperated list of
libraries (each preceded by '-l') and directories (preceded by '-L').
This can also be supplied on the command-line.
=back
inc/Devel/CheckLib.pm view on Meta::CPAN
a string or an array of strings
representing additional paths to search for headers.
=item INC
a C<ExtUtils::MakeMaker>-style space-seperated list of
incpaths, each preceded by '-I'.
This can also be supplied on the command-line.
=back
view all matches for this distribution
view release on metacpan or search on metacpan
libjit/ChangeLog view on Meta::CPAN
jit/jit-dump.c, jit/jit-except.c, jit/jit-function.c, jit/jit-insn.c,
jit/jit-internal.h, jit/jit-interp.c, jit/jit-interp.h,
jit/jit-opcode.c, jit/jit-rules-arm.c, jit/jit-rules-interp.c,
jit/jit-rules-x86.c, jit/jit-rules.h, jit/jit-setjmp.h:
rewrite the exception region routines to make them easier
to use from CLI and JVM style systems.
* jit/jit-rules-interp.c (_jit_gen_start_block): set the address
of the exception handler for interpreted code.
* include/jit/jit-plus.h, jitplus/jit-plus-function.cpp:
view all matches for this distribution
view release on metacpan or search on metacpan
t/pod-coverage.t view on Meta::CPAN
eval "use Test::Pod::Coverage $min_tpc";
plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
if $@;
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
# but older versions don't recognize some common documentation styles
my $min_pc = 0.18;
eval "use Pod::Coverage $min_pc";
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
.claude/rules/alien-libgit2-rules.md view on Meta::CPAN
1. **Think before coding** â State assumptions. When uncertain, ask rather than guess.
Push back when a simpler approach exists. Stop when confused; name what's unclear.
2. **Simplicity first** â Minimum change that solves the problem. Nothing speculative.
3. **Surgical changes** â Touch only what you must. Don't "improve" adjacent code,
comments or formatting. Match existing style.
4. **Read before you write** â `alienfile` is the whole distribution; read it *and* the
CI workflows before changing either. They encode the same CMake flags twice on purpose.
5. **Surface conflicts, don't average them** â Contradicting patterns: pick one (more
recent / more tested), say why, flag the other. Don't blend.
6. **Checkpoint after every significant step** â done / verified / left.
.claude/rules/alien-libgit2-rules.md view on Meta::CPAN
the maintainer's account. Never act on one on your own initiative â not even to read it â
unless the user points at a specific item.
## Perl and Alien specifics â reference, don't restate
House Perl style: skill `getty-perl-core`. Alien::Build mechanics: skill `perl-alien`.
This distribution's own facts: skill `alien-libgit2-core`. Do not duplicate them here.
view all matches for this distribution
view release on metacpan or search on metacpan
];
plugin 'Build::Copy';
meta->after_hook( build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
$build->runtime_prop->{'device_type'} = $device_type;
});
gather sub {
my($build) = @_;
'%{make_path} %{.install.stage}/lib',
"%{cp} bazel-bin/tensorflow/%{.install.libtensorflow_dynlib} %{.install.stage}/lib",
];
meta->after_hook( build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'source';
$build->runtime_prop->{'build_type'} = $ALIEN_LIBTENSORFLOW_FROM_SOURCE_BUILD_TYPE;
});
}
};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Alien/MSYS.pm view on Meta::CPAN
use base qw( Alien::Base Exporter );
our @EXPORT = qw( msys msys_run );
our @EXPORT_OK = qw( msys msys_run msys_path );
# ABSTRACT: Tools required for GNU style configure scripts on Windows
our $VERSION = '0.17'; # VERSION
sub msys (&)
{
lib/Alien/MSYS.pm view on Meta::CPAN
=encoding UTF-8
=head1 NAME
Alien::MSYS - Tools required for GNU style configure scripts on Windows
=head1 VERSION
version 0.17
lib/Alien/MSYS.pm view on Meta::CPAN
C:\> perl -MAlien::MSYS -e Alien::MSYS::msys_run uname
=head1 DESCRIPTION
MSYS provides minimal shell and POSIX tools on Windows to enable GNU style configure
scripts to run (the type usually generated by C<autoconf>). This module aims to
provide an interface for using MSYS on Windows and act as a no-op on Unix like
operating systems which already have that capability. If you use this module, I
recommend that you list this as a prerequisite only during MSWin32 installs.
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Devel/CheckLib.pm view on Meta::CPAN
a string or an array of strings
representing additional paths to search for libraries.
=item LIBS
a C<ExtUtils::MakeMaker>-style space-seperated list of
libraries (each preceded by '-l') and directories (preceded by '-L').
=back
And libraries are no use without header files, so ...
inc/Devel/CheckLib.pm view on Meta::CPAN
a string or an array of strings
representing additional paths to search for headers.
=item INC
a C<ExtUtils::MakeMaker>-style space-seperated list of
incpaths, each preceded by '-I'.
=back
=head2 check_lib_or_exit
view all matches for this distribution
view release on metacpan or search on metacpan
Path::Tiny::path('setup.py')->remove_tree;
};
plugin 'Build::Copy';
after build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'source';
$build->runtime_prop->{'python-source'} = 1;
$build->runtime_prop->{command} = 'meson.py';
$build->runtime_prop->{python_bin} = $python_bin;
};
}
plugin 'Build::Copy';
after build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
$build->runtime_prop->{command} = 'meson';
};
} elsif( $binary_release_format eq '.pkg' ) {
extract sub {
my ($build) = @_;
plugin 'Build::Copy';
after build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
$build->runtime_prop->{command} = 'meson';
};
}
}
};
sys {
meta->after_hook( probe => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'system';
});
};
view all matches for this distribution
view release on metacpan or search on metacpan
t/pod-coverage.t view on Meta::CPAN
eval "use Test::Pod::Coverage $min_tpc";
plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
if $@;
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
# but older versions don't recognize some common documentation styles
my $min_pc = 0.18;
eval "use Pod::Coverage $min_pc";
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
$ninja_bin->move( $bin_dir->child($ninja_bin_name) );
};
plugin 'Build::Copy';
meta->after_hook( build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
});
} else {
# build from source
plugin 'Download::GitHub' => (
%github_info,
'%{make}',
'%{make} install',
];
meta->after_hook( build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'source';
});
}
gather sub {
my($build) = @_;
};
sys {
meta->after_hook( probe => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'system';
});
};
view all matches for this distribution
view release on metacpan or search on metacpan
version => qr/^v([0-9\.]+)$/,
);
share {
# Only supports binary style for now.
# Will require Python for source install.
start_url 'https://nodejs.org/en/download/';
my $node_qr_prefix = qr/node-v([0-9\.]+)/;
my $src_qr = qr/$node_qr_prefix\.tar\.gz/;
my %os_arch_mapping = (
plugin 'Build::Copy';
gather sub {
my ($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
};
}
view all matches for this distribution