-
-
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 klayout #20396
add klayout #20396
Conversation
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 ( Here's what I've got... For recipes/klayout:
|
I need you both to comment on this PR stating that you agree to be a maintainer. |
recipes/klayout/build.sh
Outdated
"${SRC_DIR}/build.sh" | ||
echo "bin-release Contents" | ||
echo "--------------------" | ||
ls bin-release |
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.
find? (if you want to make sure to list everything recursively?)
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.
I'll update that if necessary for debug.
# GitHub IDs for maintainers of the recipe. | ||
# Always check with the people listed below if they are OK becoming maintainers of the recipe. (There will be spam!) | ||
- curtisma | ||
- klayoutmatthias |
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.
I agree to be co-maintainer.
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!
I'm trying to submit #20396 which requires a python ".a" file, for example it's looking in the following location: Normally I think this would come from a OS package such as python-dev or python-devel. Is there a way to get this ".a" python library file with a Conda dependency I can include in my meta.yaml? |
We'll need to try using the following package: |
@joamatab, are you willing to be added as a maintainer as well? |
Well I was able to fix the error about the missing pythonlib ".a" file. |
Next error shown below. Seems to be an issue with the setup of the C compiler and finding the make file.
|
Hi Curtis, Im happy to also be a maintainer Thomas made it available on PyPI and Floris has it on his conda environment |
This looks great, if possible I'd like to help to maintain this too. on another note... do you think we could package the klayout-gui too? Something like this: https://anaconda.org/flaport/klayout-gui |
Ok, sure, I'll add you also.
Nice! I'll have to take a look at your work there I was intending this to include the gui version of klayout. Then we could possibly create a second recipe called "klayout-python" with just the python package as a lighter weight option for Python users. Should the "klayout" package include just the gui version or also include the python package? At the moment I'm still working through getting it to compile. It'd be great if you are able to help since you have experience with compiling it previously. I've submitted several Conda recipes in the past but this is the first time I've compiled klayout. Using conda-forge to handle the CI and CD should help make it easier to host the package and update it. It will also make it easier for users to find it compared to having it on your own channel. |
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 ( Here's what I've got... For recipes/klayout:
|
I tried to debug the issue with qmake. For short: I do not fully understand what's going on, but I have a patch that should make linux64 work. Here is my patched build.sh for "klayout" package:
First I added Maybe there is a more elegant solution, but the above hack seems to work. |
Update: the above patch makes qmake work, but the build fails because the OpenGL libraries are not found .. :( Honestly, I don't know how to get libGL into the conda environment. The following article says that additional Linux packages need to be installed outside conda: https://docs.anaconda.com/anaconda/install/linux/ |
Thanks for the help @klayoutmatthias!
I found the following section in the conda-forge docs about handling libGL dependencies: Maybe I'll just start by adding all of those items to the requirements? Unless we only need a subset of them, what do you think? I hope to apply the patch suggested and these libgl updates later this evening. |
Hard disagree on the default name. I think klayout as default for conda shouldn't come with GUI features. I think the gui should be an optional install. Surely there is a way to resolve this without going to two different names. Doesn't conda support optional build options? like If two different names are required, I strongly suggest the one with more features have a longer name. Like Thanks, |
@thomaslima see hdl/conda-eda#193 (comment) for a bit more background about my suggestion to have the conda-forge package be full featured: we also plan to have a recipe as part of
Maybe we could leverage it here:
Then we could make the What do you think? |
@proppy, The outputs feature is interesting. Hoever I don't think it's well-known though. At least I haven't seen it in use in any other recipes. So I'd prefer to keep it simple and seperate them into different packages. Hopefully there are no conflicts between the Python and gui packages so both can be installed. We should probably test that out though. Another option is we we call them "klayout-python" and "klayout-gui" to keep them descriptive and not have a "klayout" package. |
A larger goal of mine is to provide a more integrated open-source design environment. We can do this by having the Viper IC Design Environment (IDE) provide the "library / project manager" gui along with an easy project and environment setup CLI. Then other Conda packages, including Klayout and xschem, will provide individual tools as extensions to open and edit cell views. It should remain lightweight but extensible and customizable, similar to VS Code. Another goal would be to have a full design environment setup and configured in less than 15mins based on a simple set of instructions with less than 10 steps. There could be different flavors of the distribution, one for analog design, digital design, and integrated photonics. Each would be a different set of packages. Each could have both an installer and a simple environment.yaml to create a new environment in an existing conda installation. Some could also support using proprietary tools as necessary. This was the idea behind viper-forge. What do you guys think? Do you agree with these goals? Are there others that should be added? |
This is really aligned with what we discussed here: Let's continue the discussion there? (and keep this issue focused on klayout?) |
From the point of view of the user there is no different with a standalone packages: the |
hmm, seems like we may need to rerun the build. It's throwing the following error: From the log |
@conda-forge-admin please rerender |
Thanks for this wonderful discussion! :) Just my 2 cents:
If Thanks a lot for all your efforts! Matthias |
Hi all, I have made some progress on getting a conda build for Windows working . I had to go around the |
I have also made some progress with the conda package for Linux (https://github.com/klayoutmatthias/staged-recipes/tree/klayout). It builds on the main channel, but not yet with conda-forge. I had to change a few things compared to this PR. It produces a conda package file which tests successfully, but trying to install it with "--use-local" makes conda stall in an endless loop to fulfill requirements. No idea if that is a bug in the package or in conda. I can file a PR if you like. Matthias |
@klayoutmatthias I think that may have to do with the way dependencies are versioned in the
i.e. instead of |
Thanks for the discussion. I have to say I am not too familiar with the conda packaging process. I thought one recipe meant one install process. Sounds like this sub packaging would be the way to go. Moreover, I was also confused about the three versions One quick clarification: would installing |
conda has strong tie in the python ecosystem initially but is now more of a general cross platform packaging system and distribute a lot of packages with standalone binaries and native libraries. |
That would be an alternative for the conda-forge audience (similar to how https://www.klayout.de/build.html lists packages for different Linux distributions). |
Hi friend! We really, really, really appreciate that you have taken the time to make a PR on In an effort to maintain this repository and increase the signal-to-noise for open PRs, the maintainers of If you'd like to keep it open, please comment/push and we will be happy to oblige! Note that very old PRs will likely need to be rebased on Cheers and thank you for contributing to this community effort! |
Hi again! About a month ago, we commented on this PR saying it would be closed in another month if it was still inactive. It has been a month and so now it is being closed. Thank you so much for making it in the first place and contributing to the community project that is Cheers and have a great day! |
Checklist
url
) rather than a repo (e.g.git_url
) is used in your recipe (see here for more details).