perl CPAN yml and patches
Latest commit 14de4da Mar 9, 2017 @rurban YAML strictness
Failed to load latest commit information.
prefs YAML strictness Mar 9, 2017
sources/authors/id Math-BigInt-GMP-cperl.patch Mar 8, 2017
.gitignore .gitignore: add .old dir Jun 14, 2016 README: add some of ribasushis suggestions Jun 10, 2016


Various of my and Andy Koenig's perl CPAN yml and patches. srezic and Steffen Schwigon also collect some. This belongs into ~/.cpan/

See perldoc CPAN for more details.

Lot of these patches contain fixes for wrong returnop parsing, -Dfortify_inc fixes and for cperl-specific types with Test::More.

The distroprefs system of CPAN allows the user to specify extra informations and recipes in YAML files to either

  • patch broken distros

  • pass additional arguments to one of the four commands,

  • set environment variables

  • instantiate an Expect object that reads from the console, waits for some regular expressions and enters some answers

  • temporarily override assorted "" configuration variables

  • specify dependencies the original maintainer forgot

  • disable the installation of an object altogether

See the YAML files that come with the CPAN distribution in the distroprefs/ directory for examples.


cd ~
git clone
mv distroprefs/* ~/.cpan/
mv distroprefs/.git* ~/.cpan/


cd ~/.cpan
ln -s sources/authors/id/R/RU/RURBAN/patches patches


  • Keep patches as subdir of authors. E.g. sources/authors/id/R/RU/RURBAN/patches
    • Keep them for older releases
  • yml name: <AUTHOR>.<DISTRO>.yml
    • Delete outdated ymls. The AUTHOR part is questionable.
  • No way yet to handle and merge distroprefs from multiple sources. git fork and merge?
  • Either the patch or the yml should keep the CPAN RT ticket number, e.g. [CPAN #nnnnnn]