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

Added pelican-bibliography. #18690

Merged
merged 10 commits into from
May 3, 2022
Merged

Conversation

moorepants
Copy link
Contributor

@moorepants moorepants commented Apr 18, 2022

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).
  • If static libraries are linked in, the license of the static library is packaged.
  • 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.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-linter
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/pelican-bibliography) and found it was in an excellent condition.

@moorepants
Copy link
Contributor Author

I need to delete the pyproject.toml file for this windows build also.

@conda-forge-linter
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/pelican-bibliography) and found some lint.

Here's what I've got...

For recipes/pelican-bibliography:

  • noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

@conda-forge-linter
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/pelican-bibliography) and found some lint.

Here's what I've got...

For recipes/pelican-bibliography:

  • Non noarch packages should have python requirement without any version constraints.
  • Non noarch packages should have python requirement without any version constraints.

@conda-forge-linter
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/pelican-bibliography) and found it was in an excellent condition.

@moorepants
Copy link
Contributor Author

@conda-forge/help-python this is ready for review. I couldn't figure out how to handle the pyproject.toml file (as usual!). I'll convert this to a noarch build once the feedstock is created.

Copy link
Member

@carterbox carterbox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This project uses both poetry and setuptools in its build system. Did you try adding poetry to the host section of the recipe?

@moorepants
Copy link
Contributor Author

moorepants commented May 3, 2022

No, I am not really familiar with poetry. I thought it was an end user's optional tool for installing and managing virtual environments. I've always thought that python setup.py install is all that is needed for installing Python packages and thus pip install works too because it uses setup.py. Things like venv, conda, etc. are not supposed to be required for installing a package, right?

@moorepants
Copy link
Contributor Author

These are relevant issues:

conda-forge/conda-forge.github.io#1174

conda-forge/conda-forge.github.io#1540

that explain the complications of the pyproject.toml file (which maybe that is tied to poetry?)

@moorepants
Copy link
Contributor Author

moorepants commented May 3, 2022

Another related issue, is that the dependency pins in that toml file are very restrictive and if used as is, would make this package difficult to install alongside a large number of packages in a conda environment. I've elected to not include upper bounds on the pins for the conda package to ease the work of the conda sat solver.

@carterbox
Copy link
Member

OK, but if you look at the build logs, it tells you that it needs poetry.

I've always thought that python setup.py install is all that is needed for installing Python packages and thus pip install works too because it uses setup.py.

Yes, but as you noted in the linked issues, the python ecosystem is moving away from setup.py because of various reasons such as not being able to define build dependencies from inside setup.py.

In the PR you linked, the preferred method for dealing with this problem is adding --use-deprecated=out-of-tree-build to pip.

script: {{ PYTHON }} -m pip install . -vv --use-deprecated=out-of-tree-build

Which you did try, but you didn't add poetry to the host requirements. So please try the out of tree build whilst also installing poetry.

@moorepants
Copy link
Contributor Author

Sure, I can try more things. I've tried lots of things over the past year+ and haven't landed on a consistently functioning solution other than deleting the toml files.

@moorepants
Copy link
Contributor Author

moorepants commented May 3, 2022

The windows build failed with:

Verifying transaction: ...working... failed
Traceback (most recent call last):
  File "D:\a\1\s\.ci_support\build_all.py", line 205, in <module>
    build_all(os.path.join(root_dir, "recipes"), args.arch)
  File "C:\Miniconda\lib\site-packages\conda\common\io.py", line 88, in decorated
    return f(*args, **kwds)
  File "C:\Miniconda\lib\site-packages\conda\plan.py", line 321, in execute_actions
    execute_instructions(plan, index, verbose)
  File "C:\Miniconda\lib\site-packages\conda\plan.py", line 533, in execute_instructions
    cmd(state, arg)
  File "C:\Miniconda\lib\site-packages\conda\instructions.py", line 73, in UNLINKLINKTRANSACTION_CMD
    unlink_link_transaction.execute()
  File "C:\Miniconda\lib\site-packages\conda\core\link.py", line 277, in execute
    self.verify()
  File "C:\Miniconda\lib\site-packages\conda\common\io.py", line 88, in decorated
    return f(*args, **kwds)
  File "C:\Miniconda\lib\site-packages\conda\core\link.py", line 241, in verify
    maybe_raise(CondaMultiError(exceptions), context)
  File "C:\Miniconda\lib\site-packages\conda\exceptions.py", line 1022, in maybe_raise
    raise error
conda.CondaMultiError: The package for pelican located at C:\Miniconda\pkgs\pelican-4.7.2-pyhd8ed1ab_0
appears to be corrupted. The path 'site-packages/pelican/tests/output/custom_locale/posts/2010/d�cembre/02/this-is-a-super-article/index.html'
specified in the package manifest cannot be found.

The package for pelican located at C:\Miniconda\pkgs\pelican-4.7.2-pyhd8ed1ab_0
appears to be corrupted. The path 'site-packages/pelican/tests/output/custom_locale/posts/2011/f�vrier/17/article-1/index.html'
specified in the package manifest cannot be found.

The package for pelican located at C:\Miniconda\pkgs\pelican-4.7.2-pyhd8ed1ab_0
appears to be corrupted. The path 'site-packages/pelican/tests/output/custom_locale/posts/2011/f�vrier/17/article-2/index.html'
specified in the package manifest cannot be found.

The package for pelican located at C:\Miniconda\pkgs\pelican-4.7.2-pyhd8ed1ab_0
appears to be corrupted. The path 'site-packages/pelican/tests/output/custom_locale/posts/2011/f�vrier/17/article-3/index.html'
specified in the package manifest cannot be found.

The package for pelican located at C:\Miniconda\pkgs\pelican-4.7.2-pyhd8ed1ab_0
appears to be corrupted. The path 'site-packages/pelican/tests/output/custom_locale/posts/2012/f�vrier/29/second-article/index.html'
specified in the package manifest cannot be found.```

Maybe there's a unicode character in a path?

@carterbox
Copy link
Member

On the bright side the unix builds succeeded, so we're kinda just back where we were just with a different error. 😄

@carterbox
Copy link
Member

carterbox commented May 3, 2022

The other bright side is that this error from the Windows build is coming from trying to install @conda-forge/pelican and not coming from the package in this recipe.

I was able to recreate this problem on my Windows machine with just trying to install pelican.

@carterbox
Copy link
Member

carterbox commented May 3, 2022

Related: conda/conda-build#4043
Related: conda/conda#11064

It seems like conda just isn't good at handling unicode paths on Windows.

@carterbox
Copy link
Member

@moorepants, I believe this situation is summarized as "the package does not install on windows because a dependency is broken", so I will merge this PR and you will have to decide if you want to chase down the solution for pelican's broken install on Windows.

@carterbox carterbox merged commit b0072cc into conda-forge:main May 3, 2022
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