-
-
Notifications
You must be signed in to change notification settings - Fork 274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add documentation on Perl packages. #1790
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be a good help to maintainers. Thanks for writing this up! I just have a few edits and questions.
Thanks for taking the time to review the PR @jmarshall and @nsoranzo! :) |
This is good as far as it goes, and IMHO would usefully be merged as such. Currently in bioconda there are 315 Perl packages using ExtUtils::MakeMaker and 119 using Module::Build. If the statistics for conda-forge are similar, it would be useful to add the corresponding advice for configuring Module::Build as well. |
7d15ca9
to
85b8f0c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple things. Great work!
7fed082
to
f7138d2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding that! I added a few rewrites.
The other build system used for Perl packages is ``Module::Build``. ``Module::Build`` is a system for building, testing, and installing Perl modules. | ||
It is an alternative to ``ExtUtils::MakeMaker``. It does not require ``make`` - most of the ``Module::Build`` code is pure Perl and written in a very cross-platform way. | ||
The recipe of some of the Perl packages that uses ``Module::Build`` are : | ||
|
||
- `perl-math-derivative <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/perl-math-derivative/meta.yaml>`__ | ||
- `perl-graphics-colornames <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/perl-graphics-colornames/meta.yaml>`__ | ||
- `mirnature <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/mirnature/meta.yaml>`__ | ||
|
||
To know more about ``Module::Build`` and difference between the two build systems read `Comparison <https://metacpan.org/pod/Module::Build#COMPARISON>`__ and `Module::Build <https://metacpan.org/pod/Module::Build>`__. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other build system used for Perl packages is ``Module::Build``. ``Module::Build`` is a system for building, testing, and installing Perl modules. | |
It is an alternative to ``ExtUtils::MakeMaker``. It does not require ``make`` - most of the ``Module::Build`` code is pure Perl and written in a very cross-platform way. | |
The recipe of some of the Perl packages that uses ``Module::Build`` are : | |
- `perl-math-derivative <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/perl-math-derivative/meta.yaml>`__ | |
- `perl-graphics-colornames <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/perl-graphics-colornames/meta.yaml>`__ | |
- `mirnature <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/mirnature/meta.yaml>`__ | |
To know more about ``Module::Build`` and difference between the two build systems read `Comparison <https://metacpan.org/pod/Module::Build#COMPARISON>`__ and `Module::Build <https://metacpan.org/pod/Module::Build>`__. | |
The other build system used for Perl packages is ``Module::Build``, which is a system for building, testing, and installing Perl modules. | |
It is an alternative to ``ExtUtils::MakeMaker``. It does not require ``make``; most of the ``Module::Build`` code is pure Perl and written in a very cross-platform way. | |
The recipes of some of the Perl packages that use ``Module::Build`` are: | |
- `perl-math-derivative <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/perl-math-derivative/meta.yaml>`__ | |
- `perl-graphics-colornames <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/perl-graphics-colornames/meta.yaml>`__ | |
- `mirnature <https://github.com/bioconda/bioconda-recipes/blob/master/recipes/mirnature/meta.yaml>`__ | |
To know more about ``Module::Build`` and differences between the two build systems, see the `Module::Build <https://metacpan.org/pod/Module::Build>`__ page, paying special attention to the `Comparison <https://metacpan.org/pod/Module::Build#COMPARISON>`__ section. |
With respect, the information that has been added about Module::Build is entirely not what this document's audience needs to know. The reader is packaging an existing Perl module that has already chosen between the two systems, so they already know what they are and don't need to know the pros and cons of each. What this audience does need from this document is to be told the Module::Build equivalent of the recommended |
Thanks John for letting me know about this. I am still quite new to this and all this was something I didn't know, so I ended up adding everything I found useful. But as you said this documentation would be used by someone already well versed with Perl packages so it would probably be irrelevant for them. So, now, @kathatherine and @jmarshall what would you suggest - should I remove the all the information about |
@ssurbhi560 At least one link to some information on |
Closes #1536
PR Checklist:
src
directory, not indocs
or in the html files