[Perl] un truc magique pour Module::Install ?
Vincent Pit (VPIT)
perl at profvince.com
Mer 12 Avr 12:48:12 CEST 2017
Le 12/04/2017 à 12:25, Olivier Mengué a écrit :
>
>
> Le 12 avril 2017 à 08:49, Marc Chantreux <khatar at phear.org
> <mailto:khatar at phear.org>> a écrit :
>
> salut Olivier et grand merci pour ta réponse,
>
> > compatibilité avec l'évolution de l'écosystème CPAN. L'équipe « Perl
> > Toolchain Gang » recommande donc aux auteurs CPAN de ne plus utiliser
> > Module::Install pour leurs distributions.
>
> et quelles sont les recommandations actuelles du PTG? existe-t'il un
> document de synthèse sur le sujet?
>
>
> https://metacpan.org/pod/distribution/Module-Install/lib/Module/Install.pod#WARNING
>
> La recommandation est d'utiliser Makefile.PL et ExtUtils::MakeMaker
> comme module d'installation.
> Car Module::Install est devenu une plaie (il est peu maintenu, génère
> des META.yaml dans un ancien format...) et Module::Build n'a jamais
> atteint les fonctionnalités équivalentes à EUMM, tout en étant gros et
> une charge à maintenir que plus personne ne veut porter (d'où son
> retrait de la distrib Perl).
>
> Mais il vaut mieux éviter d'écrire le Makefile.PL à la main, car
> l'écrire en tenant compte de la compatibilité avec d'anciennes versions
> d'EUMM est à réserver aux experts masochistes.
Gros gros FUD.
La syntaxe de Makefile.PL est rétrocompatible jusqu'à des lustres, et
les directives principales qui permettent l'installation des modules
sont toujours restées inchangées.
De nouveaux paramètres à passer à WriteMakefile() ont été ajoutés dans
les versions plus récentes (on parle des versions distribuées avec perl
depuis au moins 5 ans quand même hein) pour renseigner des
meta-informations optionnelles du paquet, comme la licence ou l'adresse
du bugtracker. Ils n'ont aucune incidence sur l'installation du paquet
en pratique, et sont simplement ignorés par les anciennes versions
d'ExtUtils::MakeMaker (modulo un avertissement sans conséquence sur stderr).
Vincent
Plus d'informations sur la liste de diffusion Perl