-
Notifications
You must be signed in to change notification settings - Fork 63
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
Allow disabling Desktop or CommandLine builds #83
Conversation
What is the motivation for making them separate conda packages? How does conda handle imagemagick's |
It's mostly a space optimization. The motivation is that Imagemagick distributes only one package, but |
Separating them completely sounds like it would build all the common libraries twice in the build process. Is building a specific environment from source a typical use case that needs space/time optimization based on binary package selection? I think other packaging systems allow one source package to produce more than one binary package. |
I've opened a conversation with the conda-forge folks to see if I could build once and split the binaries into two packages or build twice with different arguments and reuse the build directory to save time and effort. I couldn't figure out how to do it from their documentation, so this patch was the result. Given that this is building binary packages that will be downloaded far more often than updated, the inefficiency of two builds per OS on new releases seems tolerable if it can't be avoided. If you're interested, the PR is at conda-forge/staged-recipes#27880. |
Tbh the main thing I care about packaging is the CLI, and I started the split just to remove the GUI. I decided that would likely annoy someone who installed it into a desktop environment and expected the GUI, so making the two packages and having the project name install both seemed like the best ux whole still achieving my goal. |
I don't know if this would be worse, but having a full-fledged I think you can already do |
Okay, I was able to create multiple packages from a single compilation step, so this is not needed. I think there might be a way to build multiple package variants where one is |
The internal dependency graph seems to simplify to:
This is a small patch to allow for either to be disabled. The motivating use case is building a separate conda package for each tool and a meta-package that depends on each: