FreeCAD Conda Distribution

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

FreeCAD Conda Distribution

Post by sgrogan »

Hello FreeCAD Community

As most have you have probably learned by now @looo has sadly taken leave from the FreeCAD project. https://forum.freecadweb.org/index.php

@looo has been our Conda guru. Almost single-handedly @looo has ensured that all dependencies needed to build FreeCAD on Linux, OSX, and Windows are available from Conda either through conda-forge or the custom freecad/label/dev channel. He also set up an infrastructure using conda-smithy to provide weekly FreeCAD builds on all three major OS’s on the freecad/label/dev channel. These builds include a large collection of "extras" useful to FreeCAD users.

With the help of @triplus these builds are repackaged as portable builds and are made available on the GitHub FreeCAD/releases page. https://github.com/FreeCAD/FreeCAD/rele ... g/0.19_pre

I think it would be a total waste of all of @looo’s dedicated work to allow this to drift into bitrot.

@looo has graciously granted me contributor status on a couple of his key git repo’s. I’m researching whatever other credentials I need to acquire to access conda-forge directly. So for the short term, we should be able to continue to provide the weekly developer builds. At least until the first time something breaks. I will not pretend to have a fraction of the skills @looo possesses.

So….
I’m asking for HELP. Before you say ‘I’d love to but I’m not a developer’ neither am I. Before I got involved in FreeCAD I hadn’t compiled anything since university 25 years prior. You can teach an old dog new tricks. Everything I’ve learned is from DuckDuckGo and this awesome FreeCAD forum.

I don’t know what the tasks are, but I’m sure we can divide the work based on the skills that we have or can acquire given our time and interests.

Conda was only a portion of @looo's FreeCAD work, hopefully others can pick up on those aspects as well.
TIA to anyone who shows interest.
"fight the good fight"
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: FreeCAD Conda Distribution

Post by triplus »

Hi @sgrogan

This is a noble cause you have started and hopefully @looo just needs some time off and things will turn for the better again. As for me personally. During the whole development cycle i tried to help in areas i could, like Travis, deployment, small quirks, have opened a dedicated AppImage thread to fix the most oppressing issues and things like that. All in all such efforts can easily take a few months of free time. As you spend working on a single task for a few days of free time. I can't even begging to imagine on how much time @looo has spent on packaging in this development cycle. You are a packager too and you know all the bells and whistles involved. There is always something that could get fixed and improved.

Anyway, i do believe we had a good thing going. But then i must say the U turn happened. Its not just about @looo leaving, basically it ended up some people didn't even bothered to drop a line the release is still months away. As everything was targeted to do a release in April. This time frame was set by other people, not me, around half a year back. Now what you are basically asking is to dedicate a few more months of free time, to do things that were already done. For now, to me, that seems like a really bad idea and i shifted the effort to other areas completely.

P.S. I have seen some people started to show interest on the forum, to step up, good luck.
kisolre
Veteran
Posts: 4164
Joined: Wed Nov 21, 2018 1:13 pm

Re: FreeCAD Conda Distribution

Post by kisolre »

I did not see any mention of Conda under Compiling and almost nothing of relevance in all the docs. How is someone expected to help if there is no centralized place to start? And IMO this is not the forum. I followed the Compile on windows and successfully managed to build FreeCAD locally. But when asked (not as a separate thread but on a related one) how were supplied precompiled packages so small compared to my local build I did not get an answer. There is no packaging info in the docs (the page is just a placeholder) Windows_packaging. There is no mention of Conda in other OS packaging pages. How should somebody even start to help?
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: FreeCAD Conda Distribution

Post by sgrogan »

kisolre wrote: Thu Apr 23, 2020 11:50 am But when asked (not as a separate thread but on a related one) how were supplied precompiled packages so small compared to my local build I did not get an answer.
https://forum.freecadweb.org/viewtopic. ... 89#p386232
kisolre wrote: Thu Apr 23, 2020 11:50 am There is no packaging info in the docs (the page is just a placeholder) Windows_packaging. There is no mention of Conda in other OS packaging pages. How should somebody even start to help?
If this documentation existed and I knew the answers to all your questions I wouldn't need help. That is the root of the problem.
"fight the good fight"
kisolre
Veteran
Posts: 4164
Joined: Wed Nov 21, 2018 1:13 pm

Re: FreeCAD Conda Distribution

Post by kisolre »

You missed/forgot to respond to my post, I missed/forgot that I read your response... :D
Maybe you (and other packagers) could write what you do/understand/read as reference/... in the docs like "Here is how I think things work/how I understand them" and then other could try, read other docs, apply their expertise... There should be a summary/how to somewhere and what better place than the docs? And of cource somebody with at least a vague idea should start it.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: FreeCAD Conda Distribution

Post by Kunda1 »

The documentation may exist on the FreeCAD-Conda GitHub repo?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: FreeCAD Conda Distribution

Post by vocx »

kisolre wrote: Thu Apr 23, 2020 11:50 am ...How should somebody even start to help?
This was an issue for me too. I also wanted to know. I even asked looo, but I felt I never got the full story about it.

I also disliked the terminology when talking about "recipes", "forge", "feedstocks". It all sounds like magic.

Let's talk about Conda
looo wrote: Fri Oct 04, 2019 12:57 pm sry for not responding to this topic.
I feel like having failed badly with the documentation of the conda-stuff done so far. So I am happy if things get improved.
I guess conda itself is documented quite well, so we should refer as much as possible to the official docs from conda [1] and conda-forge [2]. For building with conda-build again the official docs should be used [3]. Building with conda locally is a bit more difficult as it is not really supported by conda (at least in the way how we are used to build freecad. I guess the best solution would be a tool (similar to conda-build) which setup the environment based on a recipe. But then again things like virtual-envs are not yet supported by c++ ide's and therefor things have to be setup manually (and this is quite frustrating). So in my eyes it would be best to talk about development environments with developers from conda / conda-forge. This also includes the topic of debug-builds which are not yet supported by conda. Creating a proposal for all this would be a first step in the right direction.

In my eyes it would be nice to add a faq-section to freecad-docs or to the freecad_conda recipe's docs, whcih is an easy way to create documentation for new-comers.

[1] https://docs.conda.io/en/latest/
[2] https://conda-forge.org/docs/
[3] https://docs.conda.io/projects/conda-build/en/latest/
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: FreeCAD Conda Distribution

Post by sgrogan »

vocx wrote: Thu Apr 23, 2020 6:24 pm I also disliked the terminology when talking about "recipes", "forge", "feedstocks". It all sounds like magic.
I'm going through this now https://github.com/looooo/freecad-feedstock
The terminology section of the link may help some.
The way I'm thinking about it now is the "feedstock" is like a Debian folder
"conda-forge" is like Launchpad
"conda-smithy" is like gitbuilder or debbuilder
A "conda-smithy" "recipe" on "conda-forge" acts like a gitbuilder "recipe" on Launchpad

This probably sums up my conda packaging knowledge.

I'll try to set something up on the wiki, but I'll need to invest some time how to do this. My wiki editing experience is making minor corrections to stuff that is already there.

I do appreciate the interest. The conversation may help to crystallize the most important things I don't know so I can better focus my efforts. That has value in and of itself.
"fight the good fight"
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Conda Distribution

Post by adrianinsaval »

I haven't tried it myself but I've seen it mentioned in the forum, maybe realthunder's scripts for building freecad can help: https://github.com/realthunder/FreeCADMakeImage
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: FreeCAD Conda Distribution

Post by sgrogan »

adrianinsaval wrote: Fri Apr 24, 2020 4:50 pm I haven't tried it myself but I've seen it mentioned in the forum, maybe realthunder's scripts for building freecad can help: https://github.com/realthunder/FreeCADMakeImage
Thanks.
The OSX PY3 build is interesting.
We do similar stuff here: https://github.com/FreeCAD/FreeCAD-AppImage I need to figure out if I can rename this repo. It started out as .AppImage but now its Conda packaging for all 3 OS's.
I'm less worried about packaging FreeCAD, an more worried about the underlying (Conda)assets to be packaged.
@realthunder's work is interesting because it packages a custom branch/fork.
"fight the good fight"
Post Reply