Source: libextutils-builder-perl
Standards-Version: 4.7.3
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders:
 gregor herrmann <gregoa@debian.org>,
Section: perl
Testsuite: autopkgtest-pkg-perl
Build-Depends:
 debhelper-compat (= 13),
Build-Depends-Indep:
 libextutils-config-perl (>= 0.009) <!nocheck>,
 libextutils-helpers-perl (>= 0.027) <!nocheck>,
 libscalar-list-utils-perl <!nocheck>,
 libtest-simple-perl <!nocheck>,
 libversion-perl <!nocheck>,
 perl,
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libextutils-builder-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libextutils-builder-perl.git
Homepage: https://metacpan.org/release/ExtUtils-Builder

Package: libextutils-builder-perl
Architecture: all
Depends:
 ${misc:Depends},
 ${perl:Depends},
 libextutils-config-perl (>= 0.009),
 libextutils-helpers-perl (>= 0.027),
 libscalar-list-utils-perl,
 libversion-perl,
Description: abstract representation of build processes
 Writing extensions for various build tools can be a daunting task.
 ExtUtils::Builder tries to abstract steps of build processes into reusable
 building blocks for creating platform and build system agnostic executable
 descriptions of work. This allows producing and consuming sides to be
 completely independent from each other.
 .
 These build steps can be used directly (e.g. Dist::Build) or be converted
 into Makefile.
 .
 Actions are the cornerstone of the ExtUtils::Builder framework. It is a
 flexible abstraction around steps of a process, it can be a piece of perl
 code or an external command.
 .
 Nodes describe how a target should be created. Every node has an unordered
 set of zero or more dependencies that must be build (and must be up-to-date)
 before the target is build. It also has a list of actions to perform (in
 order) to create (or recreate) the target file. Essentially, a Node is
 equivalent to entry in a Makefile.
 .
 Plans are the equivalent of a (piece of a) Makefile. They are a bunch of
 nodes that should interconnect.
 .
 A Planner is an object used to create Plans. At the base level it allows you
 to add nodes or pattern matches/substitutions, but usually one would load
 extensions that add higher level methods to the planner (e.g. "compile").
 Planners support scopes: child planners that share the build plan but contain
 extra helper methods. It also supports DSL scripts: these are perl scripts
 that support calling the planner's methods as functions for easy
 customization of build plans.
