https://github.com/pkgw/conda-recipes
Miscellaneous "recipes" for the Conda packaging system.
https://github.com/pkgw/conda-recipes
Last synced: over 1 year ago
JSON representation
Miscellaneous "recipes" for the Conda packaging system.
- Host: GitHub
- URL: https://github.com/pkgw/conda-recipes
- Owner: pkgw
- License: other
- Created: 2015-05-05T22:05:56.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-07-09T18:57:40.000Z (almost 2 years ago)
- Last Synced: 2025-03-18T07:11:55.789Z (over 1 year ago)
- Language: Shell
- Size: 631 KB
- Stars: 17
- Watchers: 3
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# conda-recipes
**Visit [CASA.md](./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!**
[Conda]: http://conda.pydata.org/
[Anaconda]: http://docs.continuum.io/anaconda/index
[Gtk+ 3]: http://www.gtk.org/
[CASA]: http://casa.nrao.edu/
[conda-forge]: http://conda-forge.github.io/
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](DEV.md) may be
valuable if you’re interesting in making Conda packages containing compiled
code for Linux and/or Mac OS X machines.
[my personal anaconda.org channel]: https://anaconda.org/pkgw-forge/
[prebuilt Docker image]: https://hub.docker.com/r/pkgw/forge-builder/
[Vagrant]: https://www.vagrantup.com/
## 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](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.
[Docker]: https://www.docker.com/
* [Notes for developers](DEV.md)
* [The order in which everything needs to be built](ORDERED.md)
## 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](LICENSE.txt) for the details. Other files are licensed under the
MIT License.
[conda-recipes]: https://github.com/conda/conda-recipes
## 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.