Skip to content
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

bioconda perl migration round 2 (noarch) #25306

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

jvolkening
Copy link
Contributor

@jvolkening jvolkening commented Feb 7, 2024

Another batch of recipes migrated from bioconda, all noarch: generic

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.

Copy link
Contributor

github-actions bot commented Feb 7, 2024

Hi! Thanks for your contribution to conda-forge.
When submitting a pull request, please do not change anything in the example recipe.
Please make sure that any changes are reverted before you submit it for review.
Thanks!

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/perl-archive-extract, recipes/perl-class-accessor, recipes/perl-config-general, recipes/perl-html-tagset, recipes/perl-math-vecstat, recipes/perl-parse-recdescent, recipes/perl-path-class, recipes/perl-pod-parser, recipes/perl-test-pod, recipes/perl-timedate) and found some lint.

Here's what I've got...

For recipes/perl-archive-extract:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-archive-extract:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-class-accessor:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-class-accessor:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-config-general:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-config-general:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-html-tagset:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-html-tagset:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-math-vecstat:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-math-vecstat:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-parse-recdescent:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-parse-recdescent:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-path-class:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-path-class:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-pod-parser:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-pod-parser:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-test-pod:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-test-pod:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-timedate:

  • Please do not delete the example recipe found in recipes/example/meta.yaml.

For recipes/perl-timedate:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/perl-archive-extract, recipes/perl-class-accessor, recipes/perl-config-general, recipes/perl-html-tagset, recipes/perl-math-vecstat, recipes/perl-parse-recdescent, recipes/perl-path-class, recipes/perl-pod-parser, recipes/perl-test-pod, recipes/perl-timedate) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipes/perl-archive-extract:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-class-accessor:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-config-general:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-html-tagset:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-math-vecstat:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-parse-recdescent:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-path-class:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-pod-parser:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-test-pod:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-timedate:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

@jvolkening
Copy link
Contributor Author

@conda-forge-admin, please ping conda-forge/staged-recipes

Ready for review; Windows build is currently known to fail for noarch: generic perl packages.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-webservice.

I was asked to ping @conda-forge/staged-recipes and so here I am doing that.

Copy link
Contributor

github-actions bot commented Feb 8, 2024

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@jvolkening jvolkening changed the title bioconda perl migration round 2 bioconda perl migration round 2 (noarch) Feb 8, 2024
@mfansler
Copy link
Member

mfansler commented Feb 9, 2024

Is @conda-forge/perl-packagers active? If so, then

  1. Maybe they can help with these reviews.
  2. Could be listed as a maintainer.
  3. It might make sense for @jvolkening to join that team.

@jvolkening
Copy link
Contributor Author

Thanks...I thought previously to ping @conda-forge/help-perl but it looks like that team is empty.

@github-actions github-actions bot added the perl label Feb 9, 2024
@xileF1337
Copy link
Contributor

Hey guys, awesome work! Yes, please add perl-packagers as maintainers to your recipe. I hope I will have some time to review your contribution in the coming week. Unfortunately I cannot merge the PR myself, but once the recipes loon good, we can contact someone who can.

At a first glance, I noticed you added lots of license files. That's not necessary for the default licenses, please look how we handled the matter e.g. here: https://github.com/conda-forge/perl-moose-feedstock/blob/main/recipe%2Fmeta.yaml Could you adopt your PR, please? Thank you so much!

I'm looking foward to review this!

@mfansler
Copy link
Member

@xileF1337 thanks for responding! Feel free to ping me when ready to merge.

BTW, you may want to look over #25110. Since @jvolkening is transferring 450+ recipes, it would probably be helpful to post comments that general apply to Perl recipes there.

@jvolkening
Copy link
Contributor Author

jvolkening commented Feb 10, 2024

@xileF1337 Many thanks for the feedback, I'll add conda-forge/perl-packagers as maintainers to everything I'm pushing.

Re: license_file, it would be great not to add a separate file to the recipe. My concern with the approach taken e.g. with perl-moose is that this packages manpage files (i.e. troff format or similar) into info/licenses and names them as .txt files. If someone actually wanted to read the license text (yes, unlikely I know), these are not human-readable files. Also, as far as I can tell, this approach would be limited to the standard "Perl 5" license (i.e. 'Artistic-1.0-Perl OR GPL-1.0-or-later'), correct?

Module::Build-based packages have the convenient "--create_license" flag that could be used, but these are in the minority. Another possibility that is similar to the approach in perl-moose (relying on files packaged with perl) would be to add commands to the build script:

pod2text lib/perl5/core_perl/pod/perlartistic.pod > LICENSE.ARTISTIC
pod2text lib/perl5/core_perl/pod/perlgpl.pod > LICENSE.GPL

Also, although these recipes are being auto-generated, I could also add some code to try harder to identify the actual license file (if present) in the CPAN packages to refer to that. Currently it was just easier to parse the license token from the API, validate against SPDX, and use Software::License to generate the LICENSE file regardless,.

@jvolkening
Copy link
Contributor Author

@xileF1337 If and when time allows, would you also be willing to comment on #25312 ? It attempts to address some issues specific to Windows compilation that I ran into for platform-specific packages.

@jvolkening
Copy link
Contributor Author

RE: license_file, here is a general-purpose solution that is tested to work but somewhat clutters the meta.yaml. The advantage is that it should work for any valid SPDX license expression, which is required or strongly recommended anyway.

It's too bad this (auto license download) isn't a feature of conda-build for valid SPDX identifiers. Even allowing URLs in license_file would greatly simply this process, as the recipe generator could do the parsing and put the correct https://spdx.org/licenses/ URLs in license_file and avoid all of the templating.

{% set license = "Artistic-1.0-Perl AND MIT" %}
{% set lic_list = license.replace( ' AND ', ' OR ' ).split( ' OR ' ) %}
script:
    - >-
      perl Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1 MAKE=make
      && make
      && make test
      && make install VERBINST=1
    {% for l in lic_list %}
    - curl -o LICENSE.{{ l }}.txt https://spdx.org/licenses/{{ l }}.txt
    {% endfor %}
about:
  license: {{ license }}
  license_file:
    {% for l in lic_list %}
    - LICENSE.{{ l }}.txt
    {% endfor %}

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/perl-archive-extract, recipes/perl-class-accessor, recipes/perl-config-general, recipes/perl-html-tagset, recipes/perl-math-vecstat, recipes/perl-parse-recdescent, recipes/perl-path-class, recipes/perl-pod-parser, recipes/perl-test-pod, recipes/perl-timedate) and found some lint.

Here's what I've got...

For recipes/perl-archive-extract:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-archive-extract:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-class-accessor:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-class-accessor:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-config-general:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-config-general:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-html-tagset:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-html-tagset:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-math-vecstat:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-math-vecstat:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-parse-recdescent:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-parse-recdescent:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-path-class:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-path-class:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-pod-parser:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-pod-parser:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-test-pod:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-test-pod:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

For recipes/perl-timedate:

  • The following maintainers have not yet confirmed that they are willing to be listed here: conda-forge/perl-packagers. Please ask them to comment on this PR if they are.

For recipes/perl-timedate:

  • Recipe with the same name exists in bioconda: please discuss with @conda-forge/bioconda-recipes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants