Что такое Module :: Build эквивалентно ExtUils :: MakeMaker INST_SCRIPT? - PullRequest
1 голос
/ 18 августа 2011

Я хочу преобразовать проект из ExtUtils :: MakeMaker в Module :: Build . Поскольку Makefile.PL в основном используется по умолчанию и Module :: Build :: Convert не работает для меня (см. Ниже), я хочу преобразовать его вручную, но не нашел эквивалента INST_SCRIPT для размещения исполняемых файлов в Каталог / каталог Perl.

Мой WriteMakefile выглядит следующим образом.

WriteMakefile(
    NAME                => 'Project',
    AUTHOR              => q{Mugen Kenichi <mugen.kenichi@uninets.eu>},
    VERSION_FROM        => 'lib/Project.pm',
    INST_SCRIPT         => 'script/',
    ($ExtUtils::MakeMaker::VERSION >= 6.3002
      ? ('LICENSE'=> 'perl')
      : ()),
    PL_FILES            => {},
    PREREQ_PM => {
        'JSON' => 0,
        'Log::Log4perl' => 0,
        'Proc::Daemon'  => 0,
        'Term::ANSIColor' => 0,
        'MooseX::Declare' => 0.34,
        'MooseX::Log::Log4perl' => 0,
        'Moose::Util::TypeConstraints' => 0,
        'MooseX::Templated::Role' => 0,
        'Template' => 0,
        # for testing
        'Test::More' => 0,
        'MooseX::Params::Validate' => 0,
        'File::Temp' => 0,
        'Sub::Exporter::ForMethods' => 0,
        'Data::Section' => 0,
    },
    dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
    clean               => { FILES => 'Project-*' },
);

Я пытался использовать Module :: Build :: Convert , но make2build выдает ошибки, которые мне не удалось устранить:

Variable "$regex" will not stay shared at (re_eval 32) line 1.
Use of uninitialized value $lines[0] in pattern match (m//) at /home/mak/perl5/lib/perl5/Module/Build/Convert.pm line 1305, <DATA> line 1.

версия Perl:

perl -v

This is perl 5, version 12, subversion 3 (v5.12.3) built for x86_64-linux

1 Ответ

1 голос
/ 18 августа 2011

Если так выглядит ваш Makefile.PL , оставьте его таким. Не переключайтесь на Module :: Build, который кажется заброшенной системой сборки. Никто больше не поддерживает Module :: Build, и пока Леон Тиммерманс не предложит следующую вещь, если в модуле :: Build нет какой-то особой функции, которая вам абсолютно необходима, нет причин переходить на нее.

Сказав это, я создаю список файлов сценариев и использую его в качестве значения для script_files. Это не так приятно. Смотрите мой Build.PL для Unicode :: Tussle .

...