diff --git a/appveyor.yml b/.appveyor.yml
similarity index 70%
rename from appveyor.yml
rename to .appveyor.yml
index 80c9512..4597130 100644
--- a/appveyor.yml
+++ b/.appveyor.yml
@@ -9,13 +9,8 @@ environment:
secure: ipv/06DzgA7pzz2CIAtbPxZSsphDtF+JFyoWRnXkn3O8j7oRe3rzqj3LOoq2DZp4
matrix:
- - TARGET_ARCH: x86
- CONDA_PY: 27
- CONDA_INSTALL_LOCN: C:\\Miniconda
-
- - TARGET_ARCH: x64
- CONDA_PY: 27
- CONDA_INSTALL_LOCN: C:\\Miniconda-x64
+ - CONFIG: win_
+ CONDA_INSTALL_LOCN: C:\Miniconda36-x64
# We always use a 64-bit machine, but can build x86 distributions
@@ -26,7 +21,7 @@ platform:
install:
# If there is a newer build queued for the same PR, cancel this one.
- cmd: |
- powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/ff_ci_pr_build.py', 'ff_ci_pr_build.py')"
+ powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/ff_ci_pr_build.py', 'ff_ci_pr_build.py')"
ff_ci_pr_build -v --ci "appveyor" "%APPVEYOR_ACCOUNT_NAME%/%APPVEYOR_PROJECT_SLUG%" "%APPVEYOR_BUILD_NUMBER%" "%APPVEYOR_PULL_REQUEST_NUMBER%"
del ff_ci_pr_build.py
@@ -35,24 +30,24 @@ install:
# Add path, activate `conda` and update conda.
- cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
- - cmd: conda update --yes --quiet conda
+ - cmd: conda.exe update --yes --quiet conda
- cmd: set PYTHONUNBUFFERED=1
# Add our channels.
- - cmd: conda config --set show_channel_urls true
- - cmd: conda config --remove channels defaults
- - cmd: conda config --add channels defaults
- - cmd: conda config --add channels conda-forge
+ - cmd: conda.exe config --set show_channel_urls true
+ - cmd: conda.exe config --remove channels defaults
+ - cmd: conda.exe config --add channels defaults
+ - cmd: conda.exe config --add channels conda-forge
# Configure the VM.
- - cmd: conda install -n root --quiet --yes conda-forge-build-setup
+ - cmd: conda.exe install -n root --quiet --yes conda-forge-ci-setup=1
- cmd: run_conda_forge_build_setup
# Skip .NET project specific build phase.
build: off
test_script:
- - conda build recipe --quiet
+ - conda.exe build recipe -m .ci_support\%CONFIG%.yaml --quiet
deploy_script:
- - cmd: upload_or_check_non_existence .\recipe conda-forge --channel=main
+ - cmd: upload_or_check_non_existence .\recipe conda-forge --channel=main -m .ci_support\%CONFIG%.yaml
diff --git a/.ci_support/README b/.ci_support/README
new file mode 100644
index 0000000..e4e2dce
--- /dev/null
+++ b/.ci_support/README
@@ -0,0 +1 @@
+This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly.
\ No newline at end of file
diff --git a/.ci_support/linux_.yaml b/.ci_support/linux_.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/.ci_support/linux_.yaml
@@ -0,0 +1 @@
+{}
diff --git a/.ci_support/osx_.yaml b/.ci_support/osx_.yaml
new file mode 100644
index 0000000..e9748d3
--- /dev/null
+++ b/.ci_support/osx_.yaml
@@ -0,0 +1,6 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.9'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+macos_min_version:
+- '10.9'
diff --git a/.ci_support/win_.yaml b/.ci_support/win_.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/.ci_support/win_.yaml
@@ -0,0 +1 @@
+{}
diff --git a/ci_support/checkout_merge_commit.sh b/.circleci/checkout_merge_commit.sh
similarity index 100%
rename from ci_support/checkout_merge_commit.sh
rename to .circleci/checkout_merge_commit.sh
diff --git a/.circleci/config.yml b/.circleci/config.yml
index c0a1aa1..ede1d94 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,24 +1,26 @@
version: 2
jobs:
- build:
+ build_linux_:
working_directory: ~/test
machine: true
+ environment:
+ - CONFIG: "linux_"
steps:
- checkout
- run:
name: Fast finish outdated PRs and merge PRs
command: |
- ./ci_support/fast_finish_ci_pr_build.sh
- ./ci_support/checkout_merge_commit.sh
+ ./.circleci/fast_finish_ci_pr_build.sh
+ ./.circleci/checkout_merge_commit.sh
- run:
command: docker pull condaforge/linux-anvil
- run:
# Run, test and (if we have a BINSTAR_TOKEN) upload the distributions.
- command: ./ci_support/run_docker_build.sh
+ command: ./.circleci/run_docker_build.sh
workflows:
version: 2
build_and_test:
jobs:
- - build
+ - build_linux_
diff --git a/ci_support/fast_finish_ci_pr_build.sh b/.circleci/fast_finish_ci_pr_build.sh
similarity index 54%
rename from ci_support/fast_finish_ci_pr_build.sh
rename to .circleci/fast_finish_ci_pr_build.sh
index 463c27f..3db687a 100755
--- a/ci_support/fast_finish_ci_pr_build.sh
+++ b/.circleci/fast_finish_ci_pr_build.sh
@@ -1,4 +1,4 @@
#!/bin/bash
-curl https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/ff_ci_pr_build.py | \
+curl https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/ff_ci_pr_build.py | \
python - -v --ci "circle" "${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}" "${CIRCLE_BUILD_NUM}" "${CIRCLE_PR_NUMBER}"
diff --git a/ci_support/run_docker_build.sh b/.circleci/run_docker_build.sh
similarity index 65%
rename from ci_support/run_docker_build.sh
rename to .circleci/run_docker_build.sh
index 57286d0..238396b 100755
--- a/ci_support/run_docker_build.sh
+++ b/.circleci/run_docker_build.sh
@@ -17,7 +17,7 @@ channels:
- defaults
conda-build:
- root-dir: /feedstock_root/build_artefacts
+ root-dir: /home/conda/feedstock_root/build_artifacts
show_channel_urls: true
@@ -34,11 +34,12 @@ if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then
HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u)
fi
-rm -f "$FEEDSTOCK_ROOT/build_artefacts/conda-forge-build-done"
+rm -f "$FEEDSTOCK_ROOT/build_artifacts/conda-forge-build-done"
cat << EOF | docker run -i \
- -v "${RECIPE_ROOT}":/recipe_root \
- -v "${FEEDSTOCK_ROOT}":/feedstock_root \
+ -v "${RECIPE_ROOT}":/home/conda/recipe_root \
+ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root \
+ -e CONFIG="$CONFIG" \
-e HOST_USER_ID="${HOST_USER_ID}" \
-a stdin -a stdout -a stderr \
condaforge/linux-anvil \
@@ -51,20 +52,21 @@ set -x
export PYTHONUNBUFFERED=1
echo "$config" > ~/.condarc
-# A lock sometimes occurs with incomplete builds. The lock file is stored in build_artefacts.
+# A lock sometimes occurs with incomplete builds. The lock file is stored in build_artifacts.
conda clean --lock
-conda install --yes --quiet conda-forge-build-setup
+# Make sure we pull in the latest conda-build version too
+conda install --yes --quiet conda-forge-ci-setup=1 conda-build
source run_conda_forge_build_setup
-conda build /recipe_root --quiet || exit 1
-upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1
+conda build /home/conda/recipe_root -m /home/conda/feedstock_root/.ci_support/${CONFIG}.yaml --quiet || exit 1
+upload_or_check_non_existence /home/conda/recipe_root conda-forge --channel=main -m /home/conda/feedstock_root/.ci_support/${CONFIG}.yaml || exit 1
-touch /feedstock_root/build_artefacts/conda-forge-build-done
+touch /home/conda/feedstock_root/build_artifacts/conda-forge-build-done
EOF
# double-check that the build got to the end
# see https://github.com/conda-forge/conda-smithy/pull/337
# for a possible fix
set -x
-test -f "$FEEDSTOCK_ROOT/build_artefacts/conda-forge-build-done" || exit 1
+test -f "$FEEDSTOCK_ROOT/build_artifacts/conda-forge-build-done" || exit 1
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..d87090f
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,15 @@
+Thanks for your interest in helping out conda-forge.
+
+Whether you are brand new or a seasoned maintainer, we always appreciate
+feedback from the community about how we can improve conda-forge. If you
+are submitting a PR or issue, please fill out the respective template. Should
+any questions arise please feel free to ask the maintainer team of the
+respective feedstock or reach out to `@conda-forge/core` for more complex
+issues.
+
+In the case of any issues reported, please be sure to demonstrate the relevant
+issue (even if it is an absence of a feature). Providing this information will
+help busy maintainers understand what it is you hope to accomplish. Also this
+will help provide them clues as to what might be going wrong. These examples
+can also be reused as tests in the build to ensure further packages meet these
+criteria. This is requested to help you get timely and relevant feedback. :)
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..fc95334
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,25 @@
+
+Issue:
+
+
+Environment (conda list
):
+
+
+```
+$ conda list
+
+```
+
+
+
+Details about conda
and system ( conda info
):
+
+
+```
+$ conda info
+
+```
+
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..d60a25d
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,18 @@
+
+Checklist
+* [ ] Used a fork of the feedstock to propose changes
+* [ ] Bumped the build number (if the version is unchanged)
+* [ ] Reset the build number to `0` (if the version changed)
+* [ ] [Re-rendered]( https://conda-forge.org/docs/conda_smithy.html#how-to-re-render ) with the latest `conda-smithy`
+* [ ] Ensured the license file is being packaged.
+
+
+
+
diff --git a/.gitignore b/.gitignore
index 3dc1e2f..c89ecb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
*.pyc
-build_artefacts
+build_artifacts
diff --git a/.travis.yml b/.travis.yml
index c2a4f4c..7030374 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,9 @@ os: osx
osx_image: xcode6.4
env:
+ matrix:
+ - CONFIG=osx_
+
global:
# The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml.
- secure: "An8Bq3hcdkkEUBBIxrnbpTB2qAHXaLeEarLQVc7SdY1AYPohxkO9xV7ghUTk1L5QoOBNvw0Nc4S8XoIqscvGru+teYw+R0FkX8h30UhHed4lm/teVGmDmMZxKWHPTGDUNJxkacX17+UihYfVk//9DGx/DEVfbtFkA0vb6ogC82nrWWEqqWih/BrjOvE06xPSdfaUa17x1jJT7L9O4h+0lU8S7wp5cOZ4Jy+ZtqhOLAmyAD28SmRWf3o4FDDrQhS01NnFj9902IP9+lsvY/rhL2ADDj2aSsw1bBiPSUfKjJoTi7KBWjhOk/3WeVf5ld8b2S09DRBQ4bklMMQVsnHKqEUsSiWb3RRr1Q49MRQlXWnmHJsZFViW8cIj5fOCHRrfg4Z6Ni8qrvoVG/BXWEwE2dfQl9+2nJU8PNdYy3tLa9EUbeX+2QYDXE+6Z2OhVwmoKImeuw7bQNADnbaA1Glcdkh+Z2QS+D27fEIX3/paBx35sa/OWeG62u3DhchoRLOwAX15NhAxllLqfmZZd83RxmjV9q++dkxv5ZA8XFF5+lB0XLztkb7N/n8/Ek0NwkxMT6qHsqbtQPLCKu0kTC0t7zfwYIM42F0qXx+k+AXk8PU5fr/4l8XiVECGqrgGRnDGHCXySeNnOjYC3H4t+LG3FskabdPETJDuAtXERUQSOQc="
@@ -15,7 +18,7 @@ env:
before_install:
# Fast finish the PR.
- |
- (curl https://raw.githubusercontent.com/conda-forge/conda-forge-build-setup-feedstock/master/recipe/ff_ci_pr_build.py | \
+ (curl https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/ff_ci_pr_build.py | \
python - -v --ci "travis" "${TRAVIS_REPO_SLUG}" "${TRAVIS_BUILD_NUMBER}" "${TRAVIS_PULL_REQUEST}") || exit 1
# Remove homebrew.
@@ -47,10 +50,10 @@ install:
conda config --add channels defaults
conda config --add channels conda-forge
conda config --set show_channel_urls true
- conda install --yes --quiet conda-forge-build-setup
+ conda install --yes --quiet conda-forge-ci-setup=1
source run_conda_forge_build_setup
script:
- - conda build ./recipe
+ - conda build ./recipe -m ./.ci_support/${CONFIG}.yaml
- - upload_or_check_non_existence ./recipe conda-forge --channel=main
+ - upload_or_check_non_existence ./recipe conda-forge --channel=main -m ./.ci_support/${CONFIG}.yaml
diff --git a/LICENSE b/LICENSE.txt
similarity index 97%
rename from LICENSE
rename to LICENSE.txt
index 7f5c363..72dc8fd 100644
--- a/LICENSE
+++ b/LICENSE.txt
@@ -1,5 +1,5 @@
BSD 3-clause license
-Copyright (c) 2015-2017, conda-forge
+Copyright (c) 2015-2018, conda-forge
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
index a6fcd3d..03e2f98 100644
--- a/README.md
+++ b/README.md
@@ -14,14 +14,19 @@ Summary: A meta-package to enable the right toolchain.
Current build status
====================
-Linux: [![Circle CI](https://circleci.com/gh/conda-forge/toolchain-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/toolchain-feedstock)
-OSX: [![TravisCI](https://travis-ci.org/conda-forge/toolchain-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/toolchain-feedstock)
-Windows: [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/toolchain-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/toolchain-feedstock/branch/master)
+[![Linux](https://img.shields.io/circleci/project/github/conda-forge/toolchain-feedstock/master.svg?label=Linux)](https://circleci.com/gh/conda-forge/toolchain-feedstock)
+[![OSX](https://img.shields.io/travis/conda-forge/toolchain-feedstock/master.svg?label=macOS)](https://travis-ci.org/conda-forge/toolchain-feedstock)
+[![Windows](https://img.shields.io/appveyor/ci/conda-forge/toolchain-feedstock/master.svg?label=Windows)](https://ci.appveyor.com/project/conda-forge/toolchain-feedstock/branch/master)
Current release info
====================
-Version: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/toolchain/badges/version.svg)](https://anaconda.org/conda-forge/toolchain)
-Downloads: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/toolchain/badges/downloads.svg)](https://anaconda.org/conda-forge/toolchain)
+
+| Name | Downloads | Version | Platforms |
+| --- | --- | --- | --- |
+| [![Conda Recipe](https://img.shields.io/badge/recipe-toolchain-green.svg)](https://anaconda.org/conda-forge/toolchain) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/toolchain.svg)](https://anaconda.org/conda-forge/toolchain) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/toolchain.svg)](https://anaconda.org/conda-forge/toolchain) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/toolchain.svg)](https://anaconda.org/conda-forge/toolchain) |
+| [![Conda Recipe](https://img.shields.io/badge/recipe-toolchain_c_linux--64-green.svg)](https://anaconda.org/conda-forge/toolchain_c_linux-64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/toolchain_c_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_c_linux-64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/toolchain_c_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_c_linux-64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/toolchain_c_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_c_linux-64) |
+| [![Conda Recipe](https://img.shields.io/badge/recipe-toolchain_cxx_linux--64-green.svg)](https://anaconda.org/conda-forge/toolchain_cxx_linux-64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/toolchain_cxx_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_cxx_linux-64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/toolchain_cxx_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_cxx_linux-64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/toolchain_cxx_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_cxx_linux-64) |
+| [![Conda Recipe](https://img.shields.io/badge/recipe-toolchain_fort_linux--64-green.svg)](https://anaconda.org/conda-forge/toolchain_fort_linux-64) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/toolchain_fort_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_fort_linux-64) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/toolchain_fort_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_fort_linux-64) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/toolchain_fort_linux-64.svg)](https://anaconda.org/conda-forge/toolchain_fort_linux-64) |
Installing toolchain
====================
@@ -32,10 +37,10 @@ Installing `toolchain` from the `conda-forge` channel can be achieved by adding
conda config --add channels conda-forge
```
-Once the `conda-forge` channel has been enabled, `toolchain` can be installed with:
+Once the `conda-forge` channel has been enabled, `toolchain, toolchain_c_linux-64, toolchain_cxx_linux-64, toolchain_fort_linux-64` can be installed with:
```
-conda install toolchain
+conda install toolchain toolchain_c_linux-64 toolchain_cxx_linux-64 toolchain_fort_linux-64
```
It is possible to list all of the versions of `toolchain` available on your platform with:
@@ -66,6 +71,7 @@ To manage the continuous integration and simplify feedstock maintenance
Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of
this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``.
+For more information please check the [conda-forge documentation](https://conda-forge.org/docs/).
Terminology
===========
@@ -100,4 +106,4 @@ In order to produce a uniquely identifiable distribution:
the [``build/number``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string).
* If the version of a package **is** being increased, please remember to return
the [``build/number``](http://conda.pydata.org/docs/building/meta-yaml.html#build-number-and-string)
- back to 0.
+ back to 0.
\ No newline at end of file
diff --git a/recipe/activate.bat b/recipe/activate.bat
deleted file mode 100644
index e69de29..0000000
diff --git a/recipe/deactivate.bat b/recipe/deactivate.bat
deleted file mode 100644
index e69de29..0000000
diff --git a/recipe/bld.bat b/recipe/install-toolchain.bat
similarity index 100%
rename from recipe/bld.bat
rename to recipe/install-toolchain.bat
diff --git a/recipe/build.sh b/recipe/install-toolchain.sh
similarity index 100%
rename from recipe/build.sh
rename to recipe/install-toolchain.sh
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 454d824..133645a 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -5,13 +5,46 @@ package:
build:
number: 0
-test:
- commands:
- # Verify the scripts are in-place.
- {% for state in ["activate", "deactivate"] %}
- - test -f "${PREFIX}/etc/conda/{{ state }}.d/toolchain_{{ state }}.sh" # [unix]
- - if not exist %PREFIX%\\etc\\conda\\{{ state }}.d\\toolchain_{{ state }}.bat exit 1 # [win]
- {% endfor %}
+outputs:
+ - name: toolchain
+ # for windows, this is a placebo package. The default conda-build activation stuff is all we use.
+ # we just don't want people to have to put selectors on their toolchain dep.
+ script: install-toolchain.sh # [unix]
+ test:
+ commands:
+ # Verify the scripts are in-place.
+ {% for state in ["activate", "deactivate"] %}
+ - test -f "${PREFIX}/etc/conda/{{ state }}.d/toolchain_{{ state }}.sh" # [unix]
+ {% endfor %}
+ - echo "I'm on windows, and there's nothing to do here." # [win]
+{% if unix %}
+ - source ${PREFIX}/etc/conda/activate.d/toolchain_activate.sh
+ - if [ -z ${CC+x} ]; then echo "CC is unset after activation" && exit 1; else echo "CC is set to '$CC'"; fi
+ - source ${PREFIX}/etc/conda/deactivate.d/toolchain_deactivate.sh
+ - if [ -z ${CC+x} ]; then echo "CC is unset after deactivation "; else echo "CC is set to '$CC' after deactivation" && exit 1; fi
+
+ - name: toolchain_c_{{ target_platform }}
+ requirements:
+ - {{ pin_subpackage('toolchain', exact=True) }}
+ run_exports: # [linux]
+ strong: # [linux]
+ - libgcc-ng >=4.9 # [linux]
+
+ - name: toolchain_cxx_{{ target_platform }}
+ requirements:
+ - {{ pin_subpackage('toolchain', exact=True) }}
+ run_exports:
+ strong:
+ - libstdcxx-ng >=4.9 # [linux]
+
+ - name: toolchain_fort_{{ target_platform }}
+ requirements:
+ - {{ pin_subpackage('toolchain', exact=True) }}
+ - gcc # [osx]
+ run_exports:
+ strong:
+ - libgfortran-ng >=4.9 # [unix]
+{% endif %}
about:
home: https://github.com/conda-forge/toolchain-feedstock