NAME

App::cpan2arch - generate PKGBUILD from CPAN metadata

SYNOPSIS

use App::cpan2arch;

App::cpan2arch->new->init(@ARGV)->run;

DESCRIPTION

App::cpan2arch provides the logic behind the cpan2arch wrapper script, handling processing of environment variables and options, HTTP requests for CPAN metadata and Arch Linux package information, translating dependencies between CPAN and PKGBUILD, and generating and outputting the PKGBUILD. See "DESCRIPTION" in cpan2arch for details.

METHODS

new

my $cpan2arch = App::cpan2arch->new;

Constructs and returns a new App::cpan2arch instance. Takes no arguments.

init

$cpan2arch->init(@ARGV);

Reads environment variables and parses the list given (typically from @ARGV) for options. Returns self.

run

$cpan2arch->run;

Performs the program actions:

  • Fetches module/distribution metadata from MetaCPAN's API.

  • Merges CPAN prerequisites to PKGBUILD dependencies.

  • Checks whether prerequisite distributions exist as packages on Arch's Official/AUR repositories to build PKGBUILD data.

  • Generates the PKGBUILD to write to STDOUT or file.

Takes no arguments and returns 0 on success.

ERRORS

This module reports errors to STDERR and exits with a non-zero status in the following:

  • Missing runtime dependencies (Data::Printer, vercmp)

  • Invalid command-line options

  • Network/JSON issues

  • MetaCPAN/Arch API issues

  • Dist tarball issues

  • perl version issues

  • Module::CoreList issues

  • File access/permission/metadata issues

See "EXIT-STATUS" in cpan2arch for exit code details.

BUGS

Report bugs at https://github.com/ryoskzypu/App-cpan2arch/issues.

AUTHOR

ryoskzypu <ryoskzypu@proton.me>

SEE ALSO

COPYRIGHT

Copyright © 2026 ryoskzypu

MIT-0 License. See LICENSE for details.