<commit_before># Building FreeCAD and dependencies with conda

With conda only the most general dependencies are used from the system. Therefor nearly all dependencies of FreeCAD have to be build.
Conda-Forge is a github-organization containing many dependencies of FreeCAD. With this channel added to the condarc channels section the number of packages we have to maintain for freecad is not that high. Packages which are not part of conda-forge are:

- coin3d
- netgen
- pivy
- libMed
- ...


# Build packages for FreeCAD with docker

## linux
- [install Docker](https://docs.docker.com/engine/installation/linux/ubuntu/) for ubuntu. But there also installation-guides for other distros available.

### ubuntu reminder:
as all conda packages are build in centos6 we have to create some soft-links to mimic a centos6:
```
mkdir -p /opt/graphics/OpenGL/lib
ln -s /usr/lib/x86_64-linux-gnu/libGLU.so /opt/graphics/OpenGL/lib
ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64
```

### cent-os-6 reminder:
```
yum install epel-release
yum install docker
service start docker
```

- conda-forge docker image:

```
sudo docker run -i -t -v ~/projects/:/home/conda/projects  --name conda-forge condaforge/linux-anvil
/usr/bin/sudo -n yum install -y libXt-devel libXmu-devel libXi-devel mesa-libGLU-devel rsync
conda install conda-forge-pinning
```

> -v: mount a local path into the docker host
> -i: Keep STDIN open even if not attached
> -t: Allocate a pseudo-TTY


## reuse container
```
sudo docker stop <name>
sudo docker start <name> -i
```

## remove all containers
```
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)<commit_msg>new docker image<commit_after># Building FreeCAD and dependencies with conda

With conda only the most general dependencies are used from the system. Therefor nearly all dependencies of FreeCAD have to be build.
Conda-Forge is a github-organization containing many dependencies of FreeCAD. With this channel added to the condarc channels section the number of packages we have to maintain for freecad is not that high. Packages which are not part of conda-forge are:

- coin3d
- netgen
- pivy
- libMed
- ...


# Build packages for FreeCAD with docker

## linux
- [install Docker](https://docs.docker.com/engine/installation/linux/ubuntu/) for ubuntu. But there also installation-guides for other distros available.

### ubuntu reminder:
as all conda packages are build in centos6 we have to create some soft-links to mimic a centos6:
```
mkdir -p /opt/graphics/OpenGL/lib
ln -s /usr/lib/x86_64-linux-gnu/libGLU.so /opt/graphics/OpenGL/lib
ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64
```

### cent-os-6 reminder:
```
yum install epel-release
yum install docker
service start docker
```

- conda-forge docker image:

```
sudo docker run -i -t -v ~/projects/:/home/conda/projects  --name conda-forge condaforge/linux-anvil-comp7
/usr/bin/sudo -n yum install -y libXt-devel libXmu-devel libXi-devel mesa-libGLU-devel rsync
conda install conda-forge-pinning
```

> -v: mount a local path into the docker host
> -i: Keep STDIN open even if not attached
> -t: Allocate a pseudo-TTY


## reuse container
```
sudo docker stop <name>
sudo docker start <name> -i
```

## remove all containers
```
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)
{'fraction_non_alphanumeric': 0.1002710027100271, 'fraction_numerical': 0.008732309545317675, 'mean_word_length': 3.800578034682081, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5535604', 'n_tokens_mistral': 1163, 'n_tokens_neox': 1030, 'n_words': 423}