diff --git a/.travis.yml b/.travis.yml index 48a4b3f6..a9d68169 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ install: # The Dockerfile that defines the image that for the build environment is # available in this repo at devtools/omnia-build-box/Dockerfile - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - docker pull jchodera/omnia-build-box:cuda${CUDA_SHORT_VERSION}-amd30-clang38; + docker pull jchodera/omnia-linux-anvil:texlive-amd30-cuda${CUDA_SHORT_VERSION}; fi script: @@ -37,7 +37,7 @@ script: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run -e UPLOAD -e BINSTAR_TOKEN -e TRAVIS_PULL_REQUEST - -t -i --rm -v `pwd`:/io jchodera/omnia-build-box:cuda${CUDA_SHORT_VERSION}-amd30-clang38 + -t -i --rm -v `pwd`:/io jchodera/omnia-linux-anvil:texlive-amd30-cuda${CUDA_SHORT_VERSION} bash /io/devtools/docker-build.sh; elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then diff --git a/README.md b/README.md index ac8e6e8e..ac91c6a3 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,84 @@ * Appveyor-CI `win` builds [![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/fyjgl66t943tf2yg/branch/master?svg=true)](https://ci.appveyor.com/project/jchodera/conda-recipes/branch/master) -omnia-md/conda-recipes ----------------------- +# omnia-md/conda-recipes The recipes here create conda packages for scientific and numerical software components associated with the [`omnia`](http://omnia.md) project. -The packages built from these recipes are shared with the community on [anaconda.org](https://anaconda.org/omnia). +The packages built from these recipes are shared with the community on [anaconda.org](https://anaconda.org/omnia). +These packages also depend on the `conda-forge` conda channel. -### Installing packages from omnia +## Installing packages from omnia -To install a package +To install a package (`mdtraj` for example) ```bash -# Add the omnia channel -$ conda config --add channels omnia +# Set the channel priority behavior +conda config --set channel_priority false +# Add conda-forge and omnia to your channel list +conda config --add channels conda-forge --add channels omnia # Install the 'mdtraj' a package -$ conda install mdtraj +conda install mdtraj ``` +The `channel_priority` behavior we configure gives priority to the highest version of the package over all channels. + +The default behavior (`channel_priority true`) pulls packages from the highest priority chanel, independent of package +version numbers. An older version package on a higher priority channel will be installed over a newer version +of the same package on a lower priority channel. + +### Important: Channel priority behavior must be disabled for `omnia` to work! + +These packages must use the old style of conda channel priority until omnia is entirely on conda-forge! +The instructions below enforce the old channel priority format, please visit +[the conda documentations on channel priority](https://conda.io/docs/channels.html) +for more information. + +## Migration to conda-forge +The Omnia project has started migrating to [`conda-forge`](https://conda-forge.github.io/). New packages that + do not depend on OpenMM should be developed on `conda-forge` and existing packages which do not depend on OpenMM + should start migrating if possible. + +### Planed Migration Stages + +1. (**Current**) Update build image to CentOS 6 from CentOS 5 + + The base Docker image for linux builds will be updated to CentOS 6 with its new glibc. The base image is the + `conda-forge` anvil, with some [custom addons](https://hub.docker.com/r/jchodera/omnia-linux-anvil/~/dockerfile/) + to include things like the AMD SDK, TexLive, and CUDA for GPU builds. The updated version will ensure packages + can work on the `conda-forge` platform which is CentOS 6 based. + +1. For packages that appear in `conda-forge`, remove the corresponding recipes in `omnia` + + We want to minimize the amount of work we have to do as maintainers. To that end, we will stop building things + which freely appear on `conda-forge` and maintained by someone other than us! + For reproducibility purposes, we will keep our previously compiled versions, but they will not longer be updated. + +1. Allow recipes that do not depend on OpenMM to migrate from omnia to conda-forge + + * Packages which do not depend on OpenMM and can be run on CPUs only should start migrating over to `conda-forge` + in preparation for the total migration. + * Packages which can compile with just the `conda-forge` linux-anvil should also start migrating. + * *We highly encourage devs of individual packages to start migrating now.* + * **Once a package is on conda-forge, it should no longer depend packages from omnia!** + +1. Determine the appropriate way to build packages which require more than the `conda-forge` linux-anvil can provide + + * The `conda-forge` linux-anvil does not support some things such as some LaTeX packages, AMD SDK, and CUDA files. + * We will need to reach out to the conda-forge people to see what the best course of action is + +1. Migrate OpenMM to `conda-forge` + + * This requires us to identify the best way to add CUDA and AMD APP SDK developer tools to the `conda-forge` + linux-anvil docker image. We have some ideas, but no concrete solution yet. + +1. Move the remainder of packages to `conda-forge` + * Also ensure that all former omnia packages can be installed without the `omnia` conda channel + +1. Change this repo into an archive for reproducibility. + +### How to migrate to `conda-forge` (for existing packages) + +PLACEHOLDER + ### Supported versions Python packages are built against latest two releases of python (3.5 and 3.6) and python 2.7. @@ -31,16 +93,19 @@ Packages which have a binary dependency on [numpy](http://www.numpy.org/) are bu The recipes here are automatically built using [Travis-CI](https://travis-ci.org/) for `linux` and `osx` and [Appveyor-CI](http://www.appveyor.com/) for `win`. -For `linux` builds, we use a modified version of the [Holy Build Box](http://phusion.github.io/holy-build-box/), available [here](https://github.com/omnia-md/omnia-build-box), to ensure that the packages are fully compatible across multiple linux distributions and versions. +For `linux` builds, we use a modified version of the +[conda-forge linux-anvil](https://github.com/omnia-md/omnia-linux-anvil/blob/master/Dockerfile), +to ensure that the packages are fully compatible across multiple linux distributions and versions. This build image contains the additional tools: -* [clang](http://clang.llvm.org/) 3.8.1 -* [TeXLive](https://www.tug.org/texlive/) 2015 +* [TeXLive](https://www.tug.org/texlive/) 2016 * The [CUDA](https://developer.nvidia.com/cuda-toolkit) Toolkit version 8.0 * The [AMD APP SDK](http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/) 3.0 +There is an additional image which has [clang](http://clang.llvm.org/) 3.8.1 + To build a package yourself, run `conda build `, or `./conda-build-all ./*` to build multiple packages across each of the supported python/numpy configurations. -### Contributing a recipe +### Contributing a recipe (this has not been updated to reflect the conda-forge changes) 1. Fork this repo 2. Add your `conda` recipe for building your package `packagename` in a subdirectory called `packagename`. Feel free to use other recipes here as examples. diff --git a/appdirs/FLAG_FOR_REMOVAL b/appdirs/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/appveyor.yml b/appveyor.yml index b1fc0002..36705637 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -57,10 +57,11 @@ environment: install: - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - set PATH=C:\MinGW\msys\1.0\bin;%PATH% - - conda config --add channels omnia - - conda config --add channels salilab - conda update -yq --all - - conda install -yq conda-build=2.1.5 jinja2 anaconda-client + - conda config --set channel_priority false + - conda config --add channels conda-forge + - conda config --add channels omnia + - conda install -yq conda-build jinja2 anaconda-client - powershell .\\devtools\\appveyor\\missing-headers.ps1 # conda-build for some inane reason, effectively puts C:\cygwin\bin at the # front of the PATH, ahead of everything else, regardless. See diff --git a/arpack/FLAG_FOR_REMOVAL b/arpack/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/autograd/FLAG_FOR_REMOVAL b/autograd/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/behave/FLAG_FOR_REMOVAL b/behave/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/bhmm/FLAG_FOR_REVIEW b/bhmm/FLAG_FOR_REVIEW new file mode 100644 index 00000000..e69de29b diff --git a/bison/FLAG_FOR_REMOVAL b/bison/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/ccache/FLAG_FOR_REMOVAL b/ccache/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/clapack/FLAG_FOR_REVIEW b/clapack/FLAG_FOR_REVIEW new file mode 100644 index 00000000..e69de29b diff --git a/conda-build-all b/conda-build-all index 13620cff..7c4bb686 100755 --- a/conda-build-all +++ b/conda-build-all @@ -96,6 +96,7 @@ def main(): help="Set the Python version used by conda build", metavar="PYTHON_VER", default='27,34,35,36', + ) p.add_argument( '--numpy', diff --git a/corner/FLAG_FOR_REMOVAL b/corner/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/coverage/FLAG_FOR_REMOVAL b/coverage/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/coverage/meta.yaml b/coverage/meta.yaml index 1ab512b3..c9d22c57 100644 --- a/coverage/meta.yaml +++ b/coverage/meta.yaml @@ -15,6 +15,7 @@ build: number: 0 entry_points: - coverage = coverage.cmdline:main + skip: True requirements: build: diff --git a/cvxcanon/FLAG_FOR_REVIEW_DEFAULT b/cvxcanon/FLAG_FOR_REVIEW_DEFAULT new file mode 100644 index 00000000..e69de29b diff --git a/cvxopt/FLAG_FOR_REMOVAL b/cvxopt/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/cvxpy/FLAG_FOR_REVIEW b/cvxpy/FLAG_FOR_REVIEW new file mode 100644 index 00000000..e69de29b diff --git a/cvxpy/meta.yaml b/cvxpy/meta.yaml index 714722ab..dc55a2f8 100644 --- a/cvxpy/meta.yaml +++ b/cvxpy/meta.yaml @@ -4,6 +4,8 @@ package: build: number: 0 + # No mingwpy on python 3.5+ which is needed by cvxp[t + skip: True # [win and (py35 or py36)] source: git_url: https://github.com/cvxgrp/cvxpy diff --git a/devtools/centos5-build-box/Dockerfile b/devtools/centos5-build-box/Dockerfile deleted file mode 100644 index 0fc645e6..00000000 --- a/devtools/centos5-build-box/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM phusion/holy-build-box-64 - -# Install TeX, CUDA 7.0, AMD APP SDK 2.9-1 - -ADD http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/rpmdeb/cuda-repo-rhel6-7-0-local-7.0-28.x86_64.rpm . -ADD http://jenkins.choderalab.org/userContent/AMD-APP-SDK-linux-v2.9-1.599.381-GA-x64.tar.bz2 . -ADD http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm . -ADD http://ctan.mackichan.com/systems/texlive/tlnet/install-tl-unx.tar.gz . -ADD texlive.profile . - -# CUDA requires dkms libvdpau -# TeX installation requires wget -# The other TeX packages installed with `tlmgr install` are required for OpenMM's sphinx docs -# libXext libSM libXrender are required for matplotlib to work - -RUN rpm -i --quiet epel-release-5-4.noarch.rpm && \ - rm -rf epel-release-5-4.noarch.rpm && \ - yum install -y --quiet dkms libvdpau git wget libXext libSM libXrender && \ - tar -xzf install-tl-unx.tar.gz && \ - cd install-tl-* && ./install-tl -profile /texlive.profile && cd - && \ - rm -rf install-tl-unx.tar.gz install-tl-* texlive.profile && \ - /usr/local/texlive/2015/bin/x86_64-linux/tlmgr install \ - cmap fancybox titlesec framed fancyvrb threeparttable \ - mdwtools wrapfig parskip upquote float multirow hyphenat caption \ - xstring && \ - rpm --quiet -i cuda-repo-rhel6-7-0-local-7.0-28.x86_64.rpm && \ - yum install -y --quiet cuda-core-7-0-7.0-28.x86_64 cuda-cufft-dev-7-0-7.0-28.x86_64 cuda-cudart-dev-7-0-7.0-28.x86_64 && \ - rpm --quiet --nodeps -Uvh /var/cuda-repo-7-0-local/xorg-x11-drv-nvidia-libs-346.46-1.el6.x86_64.rpm && \ - rpm --quiet --nodeps -Uvh /var/cuda-repo-7-0-local/xorg-x11-drv-nvidia-devel-346.46-1.el6.x86_64.rpm && \ - ln -s /usr/include/nvidia/GL/ /usr/local/cuda-7.0/include/ && \ - yum clean -y --quiet expire-cache && \ - yum clean -y --quiet all && \ - rm -rf /cuda-repo-rhel6-7-0-local-7.0-28.x86_64.rpm /var/cuda-repo-7-0-local/*.rpm /var/cache/yum/cuda-7-0-local/ && \ - tar xjf AMD-APP-SDK-linux-v2.9-1.599.381-GA-x64.tar.bz2 && \ - ./AMD-APP-SDK-v2.9-1.599.381-GA-linux64.sh -- -s -a yes && \ - rm -rf /AMD-APP-SDK-v2.9-1.599.381-GA-linux64.sh /AMD-APP-SDK-linux-v2.9-1.599.381-GA-x64.tar.bz2 && \ - rm -rf /opt/AMDAPPSDK-2.9-1/samples/ - -ENV PATH=/usr/local/texlive/2015/bin/x86_64-linux:$PATH -ENV OPENCL_HOME=/opt/AMDAPPSDK-2.9-1 OPENCL_LIBPATH=/opt/AMDAPPSDK-2.9-1/lib/x86_64 \ No newline at end of file diff --git a/devtools/centos5-build-box/texlive.profile b/devtools/centos5-build-box/texlive.profile deleted file mode 100644 index cd92dd33..00000000 --- a/devtools/centos5-build-box/texlive.profile +++ /dev/null @@ -1,78 +0,0 @@ -# texlive.profile written on Thu Nov 5 12:28:54 2015 UTC -# It will NOT be updated and reflects only the -# installation profile at installation time. -selected_scheme scheme-full -TEXDIR /usr/local/texlive/2015 -TEXMFCONFIG ~/.texlive2015/texmf-config -TEXMFHOME ~/texmf -TEXMFLOCAL /usr/local/texlive/texmf-local -TEXMFSYSCONFIG /usr/local/texlive/2015/texmf-config -TEXMFSYSVAR /usr/local/texlive/2015/texmf-var -TEXMFVAR ~/.texlive2015/texmf-var -binary_x86_64-linux 1 -collection-basic 1 -collection-bibtexextra 0 -collection-binextra 0 -collection-context 0 -collection-fontsextra 0 -collection-fontsrecommended 1 -collection-fontutils 0 -collection-formatsextra 0 -collection-games 0 -collection-genericextra 0 -collection-genericrecommended 0 -collection-htmlxml 0 -collection-humanities 0 -collection-langafrican 0 -collection-langarabic 0 -collection-langchinese 0 -collection-langcjk 0 -collection-langcyrillic 0 -collection-langczechslovak 0 -collection-langenglish 0 -collection-langeuropean 0 -collection-langfrench 0 -collection-langgerman 0 -collection-langgreek 0 -collection-langindic 0 -collection-langitalian 0 -collection-langjapanese 0 -collection-langkorean 0 -collection-langother 0 -collection-langpolish 0 -collection-langportuguese 0 -collection-langspanish 0 -collection-latex 1 -collection-latexextra 0 -collection-latexrecommended 0 -collection-luatex 0 -collection-mathextra 0 -collection-metapost 0 -collection-music 0 -collection-omega 0 -collection-pictures 0 -collection-plainextra 0 -collection-pstricks 0 -collection-publishers 0 -collection-science 0 -collection-texworks 0 -collection-xetex 0 -in_place 0 -option_adjustrepo 1 -option_autobackup 1 -option_backupdir tlpkg/backups -option_desktop_integration 1 -option_doc 1 -option_file_assocs 1 -option_fmt 1 -option_letter 0 -option_menu_integration 1 -option_path 0 -option_post_code 1 -option_src 1 -option_sys_bin /usr/local/bin -option_sys_info /usr/local/share/info -option_sys_man /usr/local/share/man -option_w32_multi_user 1 -option_write18_restricted 1 -portable 0 diff --git a/devtools/docker-build.sh b/devtools/docker-build.sh index ac64a39a..341a1822 100755 --- a/devtools/docker-build.sh +++ b/devtools/docker-build.sh @@ -1,19 +1,9 @@ #!/bin/bash set -e -# Activate Holy Build Box environment. -source /hbb_exe/activate - -# Disable PYTHONPATH -unset PYTHONPATH - set -x -curl -s -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -bash Miniconda3-latest-Linux-x86_64.sh -b -p /anaconda -PATH=/opt/rh/devtoolset-2/root/usr/bin:/anaconda/bin:$PATH +conda config --set channel_priority false conda config --add channels omnia -conda install -yq conda-build=2.1.5 jinja2 anaconda-client -# Install missing LaTeX docs -tlmgr install fncychap tabulary capt-of eqparbox environ trimspaces +conda install -yq conda-build jinja2 anaconda-client /io/conda-build-all -vvv $UPLOAD -- /io/* diff --git a/devtools/osx-build.sh b/devtools/osx-build.sh index 0d30b73c..927dff29 100755 --- a/devtools/osx-build.sh +++ b/devtools/osx-build.sh @@ -10,9 +10,14 @@ brew tap -y caskroom/cask curl -s -O https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh; bash Miniconda3-latest-MacOSX-x86_64.sh -b -p $HOME/anaconda; export PATH=$HOME/anaconda/bin:$PATH; +conda install -yq conda conda-env conda-build jinja2 anaconda-client; +conda config --set channel_priority false; +conda config --add channels conda-forge; conda config --add channels omnia; conda config --show; -conda install -yq conda-build=2.1.5 jinja2 anaconda-client; + +# Do this step last to make sure conda-build, conda-env, and conda updates come from the same channel first + #export INSTALL_CUDA=`./conda-build-all --dry-run -- openmm` export INSTALL_OPENMM_PREREQUISITES=true diff --git a/docopt/FLAG_FOR_REMOVAL b/docopt/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/doxygen/FLAG_FOR_REMOVAL b/doxygen/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/ecos/FLAG_FOR_REVIEW_DEFAULT b/ecos/FLAG_FOR_REVIEW_DEFAULT new file mode 100644 index 00000000..e69de29b diff --git a/ecos/meta.yaml b/ecos/meta.yaml index 58316579..9ea6fc1f 100644 --- a/ecos/meta.yaml +++ b/ecos/meta.yaml @@ -8,9 +8,8 @@ source: md5: 39cc4c4a5598cc51ca4dc9aec810f41a build: - skip: - # ecos/src/ecos.c(1093): error C2065: '_TWO_DIGIT_EXPONENT': undeclared identifier - - [win and py35] + skip: True # [win and (py35 or py36)] + # Disable for now under certain windows conditions requirements: build: diff --git a/emcee/FLAG_FOR_REMOVAL b/emcee/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/fastcluster/FLAG_FOR_REMOVAL b/fastcluster/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/fftw3f/FLAG_FOR_REVIEW_FFTW b/fftw3f/FLAG_FOR_REVIEW_FFTW new file mode 100644 index 00000000..ba57441f --- /dev/null +++ b/fftw3f/FLAG_FOR_REVIEW_FFTW @@ -0,0 +1,3 @@ +So this one may have a name colision with FFTW on conda-forge. It appears to be the same thing. + +People will probably need to rename their dependencies diff --git a/flex/FLAG_FOR_REMOVAL b/flex/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/freeglut/FLAG_FOR_REMOVAL b/freeglut/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/glew/FLAG_FOR_REVIEW b/glew/FLAG_FOR_REVIEW new file mode 100644 index 00000000..e69de29b diff --git a/graphviz/FLAG_FOR_REMOVAL b/graphviz/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/latexcodec/FLAG_FOR_REMOVAL b/latexcodec/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/m4/FLAG_FOR_REMOVAL b/m4/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/mdtraj/FLAG_FOR_REMOVAL b/mdtraj/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/mingwpy/FLAG_FOR_REMOVAL b/mingwpy/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/mpich/FLAG_FOR_REMOVAL b/mpich/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/msmbuilder/FLAG_FOR_REMOVAL b/msmbuilder/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/msmexplorer/FLAG_FOR_REMOVAL b/msmexplorer/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/msmtools/FLAG_FOR_REMOVAL b/msmtools/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/multiprocess/FLAG_FOR_REMOVAL b/multiprocess/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/nglview/FLAG_FOR_REMOVAL b/nglview/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/nose-timer/FLAG_FOR_REMOVAL b/nose-timer/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/openblas/FLAG_FOR_REMOVAL b/openblas/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/openforcefield/meta.yaml b/openforcefield/meta.yaml index adf05fb7..c2a60f24 100755 --- a/openforcefield/meta.yaml +++ b/openforcefield/meta.yaml @@ -9,6 +9,7 @@ source: build: preserve_egg_dir: True number: 0 + skip: True # [win] requirements: build: diff --git a/openmm-example-plugin/meta.yaml b/openmm-example-plugin/meta.yaml index 983cf6dc..bb428fda 100644 --- a/openmm-example-plugin/meta.yaml +++ b/openmm-example-plugin/meta.yaml @@ -8,7 +8,7 @@ source: git_rev: f1e12743d7c5403bb6d7ad8da69af6a2f27e1b26 build: - skip: True # [win] + skip: True # [win or py36] requirements: build: diff --git a/openmm/build.sh b/openmm/build.sh index 951f6861..f8009e8e 100755 --- a/openmm/build.sh +++ b/openmm/build.sh @@ -12,41 +12,7 @@ if [[ "$OSTYPE" == "linux-gnu" ]]; then # For Docker build # - # Fix hbb issues. - # If statements needed because multiple Python versions are built in same docker image. - if [ ! -e /opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux ]; then - ln -s /opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-CentOS-linux/ /opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-redhat-linux - fi - if [ ! -e /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/x86_64-redhat-linux ]; then - ln -s /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/x86_64-CentOS-linux/ /opt/rh/devtoolset-2/root/usr/include/c++/4.8.2/x86_64-redhat-linux - fi - - # Clang paths - export CLANG_PREFIX="/opt/clang" - export PATH=$PATH:$CLANG_PREFIX/bin - - # enable devtoolset-2 - # will return an error return code because of python 3.x incompatible code, but this error is inconsequential - #source /opt/rh/devtoolset-2/enable || true - export PATH=/opt/rh/devtoolset-2/root/usr/bin${PATH:+:${PATH}} - export MANPATH=/opt/rh/devtoolset-2/root/usr/share/man:$MANPATH - export INFOPATH=/opt/rh/devtoolset-2/root/usr/share/info${INFOPATH:+:${INFOPATH}} - export PCP_DIR=/opt/rh/devtoolset-2/root - # Some perl Ext::MakeMaker versions install things under /usr/lib/perl5 - # even though the system otherwise would go to /usr/lib64/perl5. - export PERL5LIB=/opt/rh/devtoolset-2/root//usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi:/opt/rh/devtoolset-2/root/usr/lib/perl5:/opt/rh/devtoolset-2/root//usr/lib/perl5/vendor_perl/5.8.8${PERL5LIB:+:${PERL5LIB}} - # bz847911 workaround: - # we need to evaluate rpm's installed run-time % { _libdir }, not rpmbuild time - # or else /etc/ld.so.conf.d files? - rpmlibdir=`rpm --eval "%{_libdir}"` - # bz1017604: On 64-bit hosts, we should include also the 32-bit library path. - if [ "$rpmlibdir" != "${rpmlibdir/lib64/}" ]; then - rpmlibdir32=":/opt/rh/devtoolset-2/root${rpmlibdir/lib64/lib}" - fi - export LD_LIBRARY_PATH=/opt/rh/devtoolset-2/root$rpmlibdir$rpmlibdir32${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} - # duplicate python site.py logic for sitepackages - pythonvers=`python -c 'import sys; print(sys.version[:3])'` - export PYTHONPATH=/opt/rh/devtoolset-2/root/usr/lib64/python$pythonvers/site-packages:/opt/rh/devtoolset-2/root/usr/lib/python$pythonvers/site-packages${PYTHONPATH:+:${PYTHONPATH}} + export LD_LIBRARY_PATH="/opt/rh/devtoolset-2/root/usr/lib64:/opt/rh/devtoolset-2/root/usr/lib:$LD_LIBRARY_PATH" # CFLAGS export MINIMAL_CFLAGS="-g -O3" @@ -54,8 +20,8 @@ if [[ "$OSTYPE" == "linux-gnu" ]]; then export CXXFLAGS="$MINIMAL_CFLAGS" export LDFLAGS="$LDPATHFLAGS" - # Use clang 3.8.1 inside omnia-build-box docker image - CMAKE_FLAGS+=" -DCMAKE_C_COMPILER=$CLANG_PREFIX/bin/clang -DCMAKE_CXX_COMPILER=$CLANG_PREFIX/bin/clang++" + # Use clang 3.8.1 from conda-forge and the clangdev package, should be in path as highest priority already + CMAKE_FLAGS+=" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" # OpenMM build configuration CUDA_PATH="/usr/local/cuda-${CUDA_VERSION}" @@ -72,11 +38,14 @@ if [[ "$OSTYPE" == "linux-gnu" ]]; then #CMAKE_FLAGS+=" -DOPENCL_INCLUDE_DUR=${CUDA_PATH}/include/" #CMAKE_FLAGS+=" -DOPENCL_LIBRARY=${CUDA_PATH}/lib64/libOpenCL.so" elif [[ "$OSTYPE" == "darwin"* ]]; then + # conda-build MACOSX_DEPLOYMENT_TARGET must be exported as an environment variable to override 10.7 default + # cc: https://github.com/conda/conda-build/pull/1561 + export MACOSX_DEPLOYMENT_TARGET="10.9" CMAKE_FLAGS+=" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++" - CMAKE_FLAGS+=" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9" + CMAKE_FLAGS+=" -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}" CMAKE_FLAGS+=" -DCUDA_SDK_ROOT_DIR=/Developer/NVIDIA/CUDA-${CUDA_VERSION}" CMAKE_FLAGS+=" -DCUDA_TOOLKIT_ROOT_DIR=/Developer/NVIDIA/CUDA-${CUDA_VERSION}" - CMAKE_FLAGS+=" -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" + CMAKE_FLAGS+=" -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk" fi # Generate API docs diff --git a/openmm/meta.yaml b/openmm/meta.yaml index ba573653..cbbcecc0 100644 --- a/openmm/meta.yaml +++ b/openmm/meta.yaml @@ -29,8 +29,8 @@ requirements: - jom [win] - python # Pin fftw3f to 3.3.3 to work around OSX py34 issues - - fftw3f ==3.3.3 [not win] - - fftw3f ==3.3.4 [win] + - fftw3f ==3.3.3 [osx] + - fftw3f ==3.3.4 [win or linux] # swig is pinned to use omnia swig 3.0.8 - swig ==3.0.8 # on osx, need to install doxygen manually @@ -41,6 +41,8 @@ requirements: - sphinxcontrib-lunrsearch - sphinxcontrib-autodoc_doxygen - lxml + # Get clang from conda-forge for linux only + - clangdev ==3.8.1 [linux] run: - python diff --git a/openmoltools/meta.yaml b/openmoltools/meta.yaml index 16f65861..cc4294f8 100644 --- a/openmoltools/meta.yaml +++ b/openmoltools/meta.yaml @@ -8,8 +8,7 @@ source: build: number: 0 - skip: - - [win32 or (win and py2k)] + skip: True # [win32 or (win and py2k)] requirements: build: diff --git a/parse/FLAG_FOR_REMOVAL b/parse/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/parse_type/FLAG_FOR_REMOVAL b/parse_type/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/pint/FLAG_FOR_REMOVAL b/pint/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/progress_reporter/FLAG_FOR_REMOVAL b/progress_reporter/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/pyemma/FLAG_FOR_REMOVAL b/pyemma/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/pyhmc/FLAG_FOR_REMOVAL b/pyhmc/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/python-coveralls/FLAG_FOR_REMOVAL b/python-coveralls/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/pytools/FLAG_FOR_REMOVAL b/pytools/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/pyxb/FLAG_FOR_REMOVAL b/pyxb/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/rdkit/FLAG_FOR_REVIEW b/rdkit/FLAG_FOR_REVIEW new file mode 100644 index 00000000..3bbf3891 --- /dev/null +++ b/rdkit/FLAG_FOR_REVIEW @@ -0,0 +1,5 @@ +RDKit's publishers make this available in their own channel, but not conda-forge + +We should NOT be the ones to move this to conda-forge + +`Deepchem` and `lomap` use this. diff --git a/scs/FLAG_FOR_REVIEW b/scs/FLAG_FOR_REVIEW new file mode 100644 index 00000000..e69de29b diff --git a/scs/bld.bat b/scs/bld.bat index 48cbbf16..edf26f69 100644 --- a/scs/bld.bat +++ b/scs/bld.bat @@ -1,2 +1,3 @@ -"%PYTHON%" setup.py build --compiler=mingw32 install +:: "%PYTHON%" setup.py build --compiler=mingw32 install +"%PYTHON%" setup.py install if errorlevel 1 exit 1 diff --git a/scs/meta.yaml b/scs/meta.yaml index 44e82eb6..0c9e2433 100644 --- a/scs/meta.yaml +++ b/scs/meta.yaml @@ -20,6 +20,7 @@ requirements: - numpy x.x - scipy - mingwpy [win] + - coverage run: - python diff --git a/sh/FLAG_FOR_REMOVAL b/sh/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/sphinxcontrib-autodoc_doxygen/FLAG_FOR_REMOVAL b/sphinxcontrib-autodoc_doxygen/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/sphinxcontrib-autodoc_doxygen/build.sh b/sphinxcontrib-autodoc_doxygen/build.sh index 1449c168..c1d38d2c 100755 --- a/sphinxcontrib-autodoc_doxygen/build.sh +++ b/sphinxcontrib-autodoc_doxygen/build.sh @@ -1,2 +1,2 @@ #!/bin/bash -pip install . +python setup.py install diff --git a/subprocess32/FLAG_FOR_REMOVAL b/subprocess32/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/swig/FLAG_FOR_REMOVAL b/swig/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/termcolor/FLAG_FOR_REMOVAL b/termcolor/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b diff --git a/thermotools/FLAG_FOR_REMOVAL b/thermotools/FLAG_FOR_REMOVAL new file mode 100644 index 00000000..e69de29b