-
-
Notifications
You must be signed in to change notification settings - Fork 5k
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 antlr-python-runtime #4559
Add antlr-python-runtime #4559
Conversation
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 ( |
Is antlr4 versus previous antrl something akin to Python 2 vs Python 3? i.e. non-backward compatiable progression and people still need to use both new and old antlrs? In conda, I would expect to type:
and
Having this separate package doesn't follow that convention. We can do that with Python, even though Py 2 and 3 have maybe a similar difference. |
My reasoning was that the two:
Oh, and there's another, incompatible epoch in between... but I'm not itching to even look into that. So unlike py2/3, there's very little overlap other than use cases between the two... though yes, presumably they are monotonically-increasing versions! |
@@ -0,0 +1,42 @@ | |||
{% set name = "antlr4-python2-runtime" %} |
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.
Any idea why these are two different pypi packages? In conda, we may want to combine them and use the dependency infrastructure to build the correct one. Then you can simply conda install python-antlr
to install.
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.
Well, to grammar people, they are as different as go and javascript! Indeed, we could even build them directly from the upstream repo. I guess since they install the same thing (antlr
) to site-packages
, that would not be unreasonable.
Also, humorously, antlr 4.7.1
just dropped within the last few minutes:
https://github.com/antlr/antlr4/releases/tag/4.7.1
However, the jar
hadn't been updated.
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.
It may be best to ask an antlr developer their recommendations on the packaging. I assume they have dealt with this with some other package managers.
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.
It appears the antlrX (after antlr2) is the most common nomenclature:
- https://pkgs.org/download/antlr
- https://pkgs.org/download/antlr3
- https://pkgs.org/download/antlr4
- https://packages.debian.org/search?keywords=antlr
- https://admin.fedoraproject.org/pkgdb/package/rpms/antlr
- https://admin.fedoraproject.org/pkgdb/package/rpms/antlr3
- https://admin.fedoraproject.org/pkgdb/package/rpms/antlr4
This is consistent with what is proposed in this PR.
For the runtimes, at least the debian packages appear to favor python-antlr4
and python3-antlr4
. It might indeed make sense to combine them into one name.
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.
Yeah, I was thinking the same thing.
Debian doesn't really give a good example because in Debian all packages are split to python
and python3
.
My preference would be to make a single package. Otherwise any package that depends on antlr will have to have
- antlr4-python2-runtime # [py2k]
- antlr4-python3-runtime # [py3k]
in the dependencies.
On the other hand, the usual way to do things is to match the pypi names, so ¯\_(ツ)_/¯
Any thoughts @conda-forge/core?
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.
For the python runtime, there's no need to have 2 packages.
For antlr
, we have 2.7.7 in the feedstock. @conda-forge/antlr might be willing to maintain 2.x and 4.x in 2 separate branches. (Only nco
will be affected at build time. antlr is a build time dependency of nco
. cc @conda-forge/nco)
@conda-forge/antlr, what do you think?
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 ( |
Ok, merged the two into |
Huzzah, the 4.7.1 line was officially announced, which moves to setuptools, so had to deal with that. Added some more metadata as well. |
Oooh, so 💚! |
Merge? |
It looks good to me. You can also add me as a maintainer (now or after merging). |
about: | ||
home: http://www.antlr.org | ||
license: BSD-3-Clause | ||
license_family: BSD |
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.
Can you add the license file on a new PR? We missed that.
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.
Skimmed through the sdist
s and did not find one. Can you please raise an issue upstream to get the license file included in future sdist
s?
Looks like conversion ran into a tricky situation with In the interim, this recipe needs a workaround. Have put together a relatively simplistic one in PR ( #4585 ). It's not ideal (though not too bad IMHO). It seems to re-render fine locally with that change. Expect it should still build fine, but will wait and see. |
With that tweak, the recipe has successfully converted to a feedstock. |
Adds a unified package from the pypi:
Related: