conda-forge / freecad-feedstock

A conda-smithy repository for freecad.
BSD 3-Clause "New" or "Revised" License
7 stars 22 forks source link

Add freecad-devel package for build dependencies. #87

Closed oursland closed 7 months ago

oursland commented 1 year ago

Checklist

This PR adds the freecad-devel package that contains all of the necessary build dependencies in order to compile FreeCAD with conda.

conda-forge-webservices[bot] commented 1 year ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe:

oursland commented 1 year ago

@looooo

I am working on getting a cross-platform development environment in Visual Studio Code prepared for Linux, macOS, and eventually Windows. The use of conda for all three platforms greatly simplifies the dependencies and configuration within VS Code to get a CMake environment configured to build and debug, and the compile_commands.json file generated to enable tooling.

This is one of a couple of approaches possible for providing a means to install these packages. Another approach would be to render the file for each platform and create platform specific environment files for conda, or to use conda-devenv to perform limited templating for package management.

The use of a freecad-devel package provides the benefit of having full conda-build templating to ensure a complete set of packages for each of the supported environments. Conda environment files do not support any templating, making managing platform, arch, and version-specific configuration a little more cumbersome. While conda-devenv aims to resolve these limitations via a Jinja2 templating system, it isn't complete and would continue to require different package names from meta.yaml, leading to potential mismatch between developer environments and the release environment.

Let me know if this approach of a freecad-devel package is suitable for this task.

looooo commented 1 year ago

Just a short comment: I think this is a great idea. Maybe you can use the development branch here as base. It's more up-to-date.

oursland commented 1 year ago

@looooo

Both this PR and #88 which is based on development branch seem to have build failures on Azure, but build locally for me. This PR cannot resolve the dependencies, which is unexpected and #88 fails for a variety of reasons such as architecture mismatch.

I really don't understand what is going on. Could you assist in helping me resolve the build issues?

On another note, these builds succeed as GitHub Actions and their results are located at my anaconda repo: https://anaconda.org/oursland/freecad-devel/files