-
-
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
Automating boiler plate #535
Comments
@jakirkham I don't have an automation script that converts pypi packages into conformant recipes. |
Ah, automation was a poor choice of word there. I will correct it. I just meant you can point it to a PyPI package and generate a conformant recipe. |
I think |
Also, a while ago I opened an issue here: conda-forge/conda-smithy#149 to discuss common functionality to manage feedstocks. |
Yeah, @pelson has been out, but I think he is back soon (today or tomorrow). |
I also agree with that as an option. |
Another option might be the little known jinja templates like this one for setuptools. We could extend this like they do with this package. If we can leverage new functionality that @msarahan is adding in this PR ( conda/conda-build#908 ), we can generate a good to go recipe quite quickly. This could be extended for different language cases too. |
So was able to cobble something together yesterday using the aforementioned template with some tweaks @msarahan's PR that will generate a recipe from a source directory. See this comment for details. It would be better still if we had a |
Thanks for working on this. It will definitely help. I think we also On Wed, May 4, 2016 at 9:22 AM, jakirkham [email protected] wrote:
|
Yeah, that is true. We need |
Also take a look at this issue ( conda/conda-build#914 ). I think we could clean up |
More boiler plate that needs to live somewhere is CI parallelism. |
off topic question. Do we have a place that explains our recipe guidelines? Things that our linter doesn't catch. |
We have this issue ( #139 ), which is sort of a grab bag of everything. We are working on making it official guidelines in this PR ( conda-forge/conda-forge.github.io#95 ). Might be somewhere to pull things from or adding thing too. The document was more a rally of the troops type document to encourage the large scale addition of things from common Continuum repos to conda-forge. Though there is some stuff about style and workflows too. If you would like to take a look and provide feedback, please do. A fresh set of eyes would be nice. |
Is there a good way to have some environment variables set when a package is installed or the environment is activated? I'm thinking of writing a meta compiler package so we can avoid some cruft in our recipes. |
I was also looking into this today and it doesn't seem like there is :( |
Yeah, I didn't think so either, but maybe there is something that is undocumented. |
package installed: post-link scripts On Mon, May 9, 2016 at 9:09 PM jakirkham [email protected] wrote:
|
Are those actually sourced though? |
Ah, sorry, I see now. Thanks. I didn't know about that. |
be very careful with both of them. Conda has very little (read: None) error handling for these. We have had major problems when they don't work, for example, because packages aren't installed in the order you expect (topological/dependency sort vs. alphabetical). People talk about them practically as expletives. Still, if you need to do things at install time or at activation time, they are good tools. |
The main point here is to configure clang so we aren't doing the copy-pasta dance everytime someone wants C++11 support. |
post-link scripts don't get sourced though, right? |
No, they are run, but not sourced. This kind of stinks for the build application, because the build environment isn't truly activated. We could change, that, though. I think doing so would be a nice consistency improvement. |
Well, I know this still won't work right without some changes, but maybe you can take a look at what I got and we can discuss the appropriate changes upstream. |
Here is a PR ( #578 ) with the recipe. FWIW, this will work if the environment is re-activated after install. I have tried this with a real build yet. Though some tests are in order. |
Much of the discussion here is stale. |
There is quite a bit of boiler plate that goes into recipes. It is a pain making sure it is right for bother reviewers and reviewees (?). We should move towards automating this by using all means at our disposal (e.g. jinja, scripts, metapackages, etc.). The hope is that most of this (if not all) of this could be removed. What I would like us to do here is figure out what and how. One step in this direction would be taking a hard look at this script by @183amir, which converts PyPI packages into conformant recipes.
cc @msarahan @ocefpaf @pelson
The text was updated successfully, but these errors were encountered: