Alien-ckdl
view release on metacpan or search on metacpan
Revision history for Alien-ckdl
0.001 2026-04-30
- Initial CPAN release.
- Builds ckdl from upstream main as a static library via alienfile.
- Bypasses upstream CMake; only the C sources making up libkdl
are compiled (no Python, Cython, C++ bindings, or test suite).
use alienfile;
# Alien::ckdl always installs from source ("share").
# Pinned to a specific upstream commit of https://github.com/tjol/ckdl
# so builds are reproducible. Bump $CKDL_COMMIT to roll forward.
# Built statically; ckdl's CMake build is intentionally bypassed so we
# do not pull in Python/Cython, the C++ bindings, or the upstream test
# suite.
probe sub { 'share' };
# Pinned upstream commit (tjol/ckdl). Update both the SHA and the short
# version tag together when bumping.
my $CKDL_COMMIT = 'c9c33fe64446287215e80705545139d92a48f829';
my $CKDL_VERSION = '0.0.0-' . substr($CKDL_COMMIT, 0, 12);
share {
my $tarball = "https://github.com/tjol/ckdl/archive/$CKDL_COMMIT.tar.gz";
lib/Alien/ckdl.pm view on Meta::CPAN
This distribution downloads, builds, and installs
L<ckdl|https://github.com/tjol/ckdl>, a C11 library for reading and
writing the KDL Document Language (KDL v1 and v2). It exposes the
result to Perl XS modules through the standard L<Alien::Base>
interface.
The Alien tracks the upstream C<main> branch rather than a tagged
release, and always installs from source as a B<static> library.
The upstream CMake build is intentionally bypassed: only the C source
files that make up C<libkdl> are compiled, omitting the upstream test
suite, the Python bindings, and the C++ bindings. As a result the
build has no Python, Cython, or CMake dependency.
The primary consumer is L<Text::KDL::XS>. End users who only want to
parse or emit KDL from Perl should install C<Text::KDL::XS> directly
and let it pull in this Alien as a build-time dependency.
=head1 METHODS
This class inherits from L<Alien::Base>; see that module for the full
list of methods. The ones most useful to a consumer are:
lib/Alien/ckdl.pm view on Meta::CPAN
=back
When used through L<Alien::Build::MM>, the C<cflags> and C<libs>
strings are spliced into the generated Makefile automatically, so a
consumer's XS code can simply C<#include E<lt>kdl/kdl.hE<gt>> and link
against C<libkdl> with no extra configuration.
=head1 SEE ALSO
L<Text::KDL::XS>, the Perl XS binding that consumes this Alien.
L<Alien::Base> and L<Alien::Build>, the framework this distribution
plugs into.
L<https://github.com/tjol/ckdl>, the upstream C library.
L<https://github.com/kdl-org/kdl>, the KDL specification.
=head1 LICENSE
( run in 1.284 second using v1.01-cache-2.11-cpan-2398b32b56e )