gllore has asked for the wisdom of the Perl Monks concerning the following question:
Dear Perl Monks,
I have been developing a GUI under PerlTk for several years (https://github.com/gllore/LSeismicUnix_cpan). I would like others to be able to install the project and test it out.
At this early stage in the preparation, my main question is: Should I upload the project as an application or as a "module", If you advise, I am also prepared NOT to upload the project to CPAN and leave it as a resident of the github instead.
I have chosen the name carefully and a quick google search shows that it can be directly related to a C-based open-source application (Seismic Unix) that it needs to function. ("L" stands for Louisiana). I was intending to give this project a CPAN version number 0.7_6 for testing. I recently got a PAUSE account, and am starting to Prepare my first distribution using tools from ExtUtils::MakeMaker
PAUSE suggested I contact PrePAN users for advice but I have not been able to enter their site effectively. So, I have turned toward the Monastery for advice.
My proposed project's "lib" distribution directory contains many scripts (in ~/script), packages (in several subdirectories),C code in (lib/c) and Fortran (in lib/fortran) code. The C and Fortran codes are compiled by the user post-installation but interact with the GUI. The GUI uses Tk.
What do you advise? Should I prepare to upload under the App: namespace upload under LSeismic_Unix-0.7_6 or is this mixed-language project not appropriate for uploading to CPAN.
Thanks in advance for your wisdom,
gllore
Makefile.PL: use strict; use warnings; use 5.26.1; use ExtUtils::MakeMaker; WriteMakefile( NAME => 'LSeismicUnix', AUTHOR => 'Juan Lorenzo <gllore@lsu.edu>', VERSION_FROM => './LSeismicUnix.pm', ABSTRACT_FROM => './LSeismicUnix.pm', LICENSE => 'perl', PREREQ_PM => { 'Clone' => '0.45', 'File::Slurp' => '9999.32', 'MIME::Base64' => '3.16', 'Moose' => '2.2015', 'PDL::Core' => '2.028', 'Module::Refresh' => '0.17', 'Shell' => '0.73.1', 'Time::HiRes' => '1.9764', 'Tk' => '804.036', 'Tk::JFileDialog' => '2.20', }, TEST_REQUIRES => { # 'Test::More' => '0.47' }, # only needed during build but not later BUILD_REQUIRES => { # 'Other::Module' => '0' }, # required scripts PL_FILES => { './lib/LSeismicUnix/script/post_installation.pl' => 'LSeismicU +nix', # './lib/LSeismicUnix/script/post_installation_c_compile.pl' => + 'LSeismicUnix', }, META_MERGE => { 'meta-spec' => { version => 2 }, resources => { repository => { type => 'git', url => 'git://github.com/Perl-Toolchain-Gang/ExtUtils-MakeM +aker.git', web => 'https://github.com/Perl-Toolchain-Gang/ExtUtils-Mak +eMaker', }, }, }, # Documentation accessible within the GUI with Mouse-button-3 clic +k # So separate file files are not used MAN3PODS => {}, dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', } ); <code>
|
|---|