I will answer the questions as short as possible as I wrote about it too much already...
1. Is Conda a package manager like Apt (apt-get)?
Conda aims to be a cross-platform package-manager. It relies on some basic system libraries but tries to be as independent as possible. Packages for linux should work on any linux (there are some limitations, but all in all it works pretty good).
2. Is it a "repository" like Ubuntu's personal package archives? Or like Python's PyPi? Or Latex's CTAN?
There are different channels to share conda packages. Most important for freecad are the channels main, conda-forge, freecad/label/dev. Here for example are the build of freecad 0.19_pre: https://anaconda.org/freecad/freecad/files
I guess it's very similar to pypi. But tries to be more consistent (compiler, environments).
3. Is it meant mostly for Windows? As Windows doesn't have package infrastructure like Linux, it sounds Conda is trying to be such repository.
Looking at the downloads of the python-package I don't think it's mainly used for windows: https://anaconda.org/conda-forge/python/files
I guess the biggest advantage of conda are the virtual-environments. This solves the problem of testing multiple versions of one package on one machine. I think this is coming from python and conda tries to establish virtual-envs for everything (similar to nix).
4. Does Conda provide ready to install programs? Or is it meant to provide dependencies (libraries) so that users compile Linux software in Windows?
It provides libraries, but every plattform has different default compilers:
eg. for cpp: linux uses gcc, osx uses clang and windows uses visual-studio compiler.
5. It sounds like Conda is similar to Cygwin in that case?
Hmm, I do not know much about cygwin. Conda provides a mingw-toolchain which can be used as an alternative to visual-studio compilers. We use it for example for the calculix windows package: https://github.com/conda-forge/calculix ... a.yaml#L22
vocx wrote: ↑
Fri Nov 08, 2019 6:55 pm
Why should I care about Conda, if I don't use it at all? I hear all the time, "this and that has been updated in conda... conda-forge", "the conda packages aren't ready... have bugs... I'm fixing them", "new package in conda". It just doesn't seem to affect me at all while I continue using my Ubuntu system happily.
For sure, you don't have to care about it. But as the appimage and dmg are based on conda-packages I think it's fair to have some conversation on the forum.
When I started efforts to help with the python3-port I tried to create packages with apt, but soon gave up on this, because it was too difficult for me to get involved. Also it only created packages for one linux-distribution. So I tried conda and stick with it until now. To me it seems like conda is a good solution to provide cross-plattform packages with minimal maintenance. As FreeCAD tries to be cross-plattform it's not the worst match I guess.