NAME
App::CpanDak - cpanm, with some sort of distroprefs
VERSION
version 0.0.1
SYNOPSIS
cpandak Foo::Bar
cpandak --installdeps .
Exactly the same way as cpanm.
DESCRIPTION
This is a subclass of App::cpanminus::script that wraps some of its methods to add the ability to apply patches, set environment variables, and skip tests, to specific distributions.
The idea comes from Distroprefs.
Warning
This is a mostly a hack; it will not work on cpanminus 1.79 or later (those future versions are a complete rewrite, based on Menlo).
Special instructions
You add special instructions in a directory, then set the full path to that directory in the PERL_CPANDAK_SPECIALS_PATH environment variable.
Files should be named after the full name of the distribution they apply to, with optional full version. So to define a patch for all versions of Test-mysqld, you create $PERL_CPANDAK_SPECIALS_PATH/Test-mysqld.patch. To define test environment variables for version 1.2.3 of Foo-Bar you create $PERL_CPANDAK_SPECIALS_PATH/Foo-Bar-1.2.3.test.env.yml.
NOTE the use of dash, not double colon! It's a distribution name, not a module name!
These files are currently supported:
.patch-
unified patch to apply to the distribution contents immediately after unpacking (it is applied by calling
patch -p1)the main use of this is for fixing a distribution while you wait for the author to release a fixed version; another good use is to make changes to a distribution to adapt it to your particular runtime environment
.options.yml-
general processing options; currently only
notest(Perl-style boolean) is implemented: if set, no tests will be run for this distribution--- notest: 1 .configure.env.yml.build.env.yml.test.env.yml.install.env.yml-
environment variables to set before running running those phases
--- TMP_SOCKET_PATH: '/tmp/' SKIP_NETWORK: '1' PLACK_ENV: ~ # remove this variable from the environment
See also App::CpanDak::Specials for more details.
AUTHOR
Gianni Ceccarelli <dakkar@thenautilus.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Gianni Ceccarelli <dakkar@thenautilus.net>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.