Skip to content

Latest commit

 

History

History
100 lines (71 loc) · 3.48 KB

README.md

File metadata and controls

100 lines (71 loc) · 3.48 KB

conda-recipes

Visit CASA.md for instructions on installing CASA in an Anaconda Python environment.

This repository contains the tools I use to build various packages in the Conda package manager used by the Anaconda Python distribution. Most of them build up to providing support for the Gtk+ 3 graphical toolkit and the CASA radio interferometry package. Builds are provided on 64-bit Linux and OS X. My packages are layered on top of those provided by the conda-forge project, so you must add conda-forge as a channel in your Conda configuration!

I upload built packages to my personal anaconda.org channel. You can configure your Anaconda installation to fetch packages from it with:

conda config --add channels pkgw-forge

To directly install the package pwkit (for example) without altering your configuration, use:

conda install -c pkgw-forge pwkit

As part of this work I’ve also developed a prebuilt Docker image that can be used to repeatably build binary linux-64 packages. For OS X, I use Vagrant to make osx-64 packages repeatably. My notes for developers may be valuable if you’re interesting in making Conda packages containing compiled code for Linux and/or Mac OS X machines.

How it All Works

Many of my Conda packages involve compiled code, and a big challenge is building such packages in a way that’s as platform-independent as possible. The OS X developer tools make this fairly manageable. But Linux is harder, especially since Conda doesn't explicitly specify the ABIs that they target. However, things built on CentOS 5 are generally highly portable — but no one wants to run CentOS 5 as their primary OS since it’s ancient!

So there are two main components to how I build my Conda packages. First, I have set up a Docker environment that allows me to build packages repeatably inside a stable, containerized Centos 5 environment. Then, I’ve written the Conda recipes that actually define the packages that I build. I’ve written up notes on how the system works if you might be interested in doing similar things.

OK, there are three components — I use Vagrant to generate and drive a repeatable, headless build environment for the OS X package builds.

Removed Recipes

The following recipes have been removed because they've been superseded by conda-forge or have been unused for a long time:

  • boxfit
  • boxfit-data*
  • grip
  • gtk3
  • iraf
  • path-and-address

License

The Conda recipes are licensed under a 3-clause BSD license, for compatibility with the main conda-recipes repository. See the file LICENSE.txt for the details. Other files are licensed under the MIT License.

Copyright Notice For This File

Copyright Peter Williams

This file is free documentation; the copyright holder gives unlimited permission to copy, distribute, and modify it.