diff --git a/appveyor.yml b/.appveyor.yml similarity index 52% rename from appveyor.yml rename to .appveyor.yml index ede3bb1..07578f2 100644 --- a/appveyor.yml +++ b/.appveyor.yml @@ -4,31 +4,16 @@ environment: - # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the - # /E:ON and /V:ON options are not enabled in the batch script intepreter - # See: http://stackoverflow.com/a/13751649/163740 - CMD_IN_ENV: "cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd" - BINSTAR_TOKEN: # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. 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 - - - TARGET_ARCH: x86 - CONDA_PY: 35 - CONDA_INSTALL_LOCN: C:\\Miniconda35 + - CONFIG: win_cxx_compilervs2008vc9 + CONDA_INSTALL_LOCN: C:\Miniconda36-x64 - - TARGET_ARCH: x64 - CONDA_PY: 35 - CONDA_INSTALL_LOCN: C:\\Miniconda35-x64 + - CONFIG: win_cxx_compilervs2015vc14 + CONDA_INSTALL_LOCN: C:\Miniconda36-x64 # We always use a 64-bit machine, but can build x86 distributions @@ -39,7 +24,7 @@ platform: install: # If there is a newer build queued for the same PR, cancel this one. - cmd: | - curl 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 @@ -48,25 +33,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 obvious-ci - - 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: - - "%CMD_IN_ENV% 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..0dedc4a --- /dev/null +++ b/.ci_support/linux_.yaml @@ -0,0 +1,2 @@ +cxx_compiler: +- toolchain_cxx diff --git a/.ci_support/osx_.yaml b/.ci_support/osx_.yaml new file mode 100644 index 0000000..0c99c6c --- /dev/null +++ b/.ci_support/osx_.yaml @@ -0,0 +1,8 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +cxx_compiler: +- toolchain_cxx +macos_machine: +- x86_64-apple-darwin13.4.0 +macos_min_version: +- '10.9' diff --git a/.ci_support/win_cxx_compilervs2008vc9.yaml b/.ci_support/win_cxx_compilervs2008vc9.yaml new file mode 100644 index 0000000..bab0d8b --- /dev/null +++ b/.ci_support/win_cxx_compilervs2008vc9.yaml @@ -0,0 +1,10 @@ +cxx_compiler: +- vs2008 +pin_run_as_build: + vc: + max_pin: x +vc: +- '9' +zip_keys: +- - vc + - cxx_compiler diff --git a/.ci_support/win_cxx_compilervs2015vc14.yaml b/.ci_support/win_cxx_compilervs2015vc14.yaml new file mode 100644 index 0000000..85fe581 --- /dev/null +++ b/.ci_support/win_cxx_compilervs2015vc14.yaml @@ -0,0 +1,10 @@ +cxx_compiler: +- vs2015 +pin_run_as_build: + vc: + max_pin: x +vc: +- '14' +zip_keys: +- - vc + - cxx_compiler 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 new file mode 100644 index 0000000..ede1d94 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,26 @@ +version: 2 + +jobs: + build_linux_: + working_directory: ~/test + machine: true + environment: + - CONFIG: "linux_" + steps: + - checkout + - run: + name: Fast finish outdated PRs and merge PRs + command: | + ./.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: ./.circleci/run_docker_build.sh + +workflows: + version: 2 + build_and_test: + jobs: + - 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/.circleci/run_docker_build.sh b/.circleci/run_docker_build.sh new file mode 100755 index 0000000..238396b --- /dev/null +++ b/.circleci/run_docker_build.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash + +# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here +# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent +# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also +# benefit from the improvement. + +FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) +RECIPE_ROOT=$FEEDSTOCK_ROOT/recipe + +docker info + +config=$(cat < /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_artifacts/conda-forge-build-done" + +cat << EOF | docker run -i \ + -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 \ + bash || exit 1 + +set -e +set +x +export BINSTAR_TOKEN=${BINSTAR_TOKEN} +set -x +export PYTHONUNBUFFERED=1 + +echo "$config" > ~/.condarc +# A lock sometimes occurs with incomplete builds. The lock file is stored in build_artifacts. +conda clean --lock + +# 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 /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 /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_artifacts/conda-forge-build-done" || exit 1 diff --git a/.gitattributes b/.gitattributes index 288029d..974953e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,7 @@ * text=auto +*.patch binary +*.diff binary meta.yaml text eol=lf build.sh text eol=lf bld.bat text eol=crlf 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 9c1e4ff..b1d1006 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: "I0LqokZvxaqN+J1OdAzB22ZnZxsFFautyj28A1h/6OXQRbtuDm5q3Xb2ZHKJRuFrNOrexBz1fuYWfuelBh455PVuTsmFD6etvr14iDPpgXCY3T+RV/YCMpifXTFc5wkT72O3frtZhs4YPqFrP4fYqt2x65XZ1dHZRavQHYul/H45XrHJoA3za9vqkrYvB+a2g4jNRR/R9B+5jEwLevcisdXGiLWJ0WFAA0VAdCWDQ5bo+ntss6lfFC9ndK/dA9KTtsGDsC6N/zjOu5ItNyNil7aDfSxKkQsrW5lNDHEhWvY8Es2io9j9AkDySjRKx5RxBCQ9M6uqDa9SvSO1Cl3e8a0nvyeSg0LAhg8aTwULyl4vboT/6ncm957GilrrnLdRIYZrmsMD9RNYIFCyDBds9vrtJe4Xva/5RFbNPaIUrn5dKPnMwdi+euuNJwQNaeNpC8h+WZrQugg4j7yLm8pMHjlWbYAovv1ze2R26AvmpYbjPbE0EUVNV93bDC7cunvRojn4FV9D8a/Tn0jBqjmfxwpsOfLCZUXvDeGvd5yqkfGhdjoyvT0BiYDdR5VbtYqZE5tbKj9QhetMP1kOWhxmNzn07GAE6Ym/V0qIYDHwHquVQtF/ptYSh81erH3rDUJd8M263Qu0F2ccgYEcUGhkN8Izx/43STDAYmNTSNP6rcM=" @@ -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 4dcab63..c33d484 100644 --- a/README.md +++ b/README.md @@ -14,14 +14,16 @@ Summary: A fast math parser library Current build status ==================== -Linux: [![Circle CI](https://circleci.com/gh/conda-forge/muparser-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/muparser-feedstock) -OSX: [![TravisCI](https://travis-ci.org/conda-forge/muparser-feedstock.svg?branch=master)](https://travis-ci.org/conda-forge/muparser-feedstock) -Windows: [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/muparser-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/muparser-feedstock/branch/master) +[![Linux](https://img.shields.io/circleci/project/github/conda-forge/muparser-feedstock/master.svg?label=Linux)](https://circleci.com/gh/conda-forge/muparser-feedstock) +[![OSX](https://img.shields.io/travis/conda-forge/muparser-feedstock/master.svg?label=macOS)](https://travis-ci.org/conda-forge/muparser-feedstock) +[![Windows](https://img.shields.io/appveyor/ci/conda-forge/muparser-feedstock/master.svg?label=Windows)](https://ci.appveyor.com/project/conda-forge/muparser-feedstock/branch/master) Current release info ==================== -Version: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/muparser/badges/version.svg)](https://anaconda.org/conda-forge/muparser) -Downloads: [![Anaconda-Server Badge](https://anaconda.org/conda-forge/muparser/badges/downloads.svg)](https://anaconda.org/conda-forge/muparser) + +| Name | Downloads | Version | Platforms | +| --- | --- | --- | --- | +| [![Conda Recipe](https://img.shields.io/badge/recipe-muparser-green.svg)](https://anaconda.org/conda-forge/muparser) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/muparser.svg)](https://anaconda.org/conda-forge/muparser) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/muparser.svg)](https://anaconda.org/conda-forge/muparser) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/muparser.svg)](https://anaconda.org/conda-forge/muparser) | Installing muparser =================== @@ -66,6 +68,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 +103,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/ci_support/run_docker_build.sh b/ci_support/run_docker_build.sh deleted file mode 100755 index b34f7ac..0000000 --- a/ci_support/run_docker_build.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash - -# PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here -# will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent -# changes to this script, consider a proposal to conda-smithy so that other feedstocks can also -# benefit from the improvement. - -FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) -RECIPE_ROOT=$FEEDSTOCK_ROOT/recipe - -docker info - -config=$(cat < ~/.condarc -# A lock sometimes occurs with incomplete builds. The lock file is stored in build_artefacts. -conda clean --lock - -conda install --yes --quiet conda-forge-build-setup -source run_conda_forge_build_setup - -# Embarking on 1 case(s). - conda build /recipe_root --quiet || exit 1 - upload_or_check_non_existence /recipe_root conda-forge --channel=main || exit 1 -touch /feedstock_root/build_artefacts/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 diff --git a/circle.yml b/circle.yml deleted file mode 100644 index 421809c..0000000 --- a/circle.yml +++ /dev/null @@ -1,19 +0,0 @@ -checkout: - post: - - ./ci_support/fast_finish_ci_pr_build.sh - - ./ci_support/checkout_merge_commit.sh - -machine: - services: - - docker - -dependencies: - # Note, we used to use the naive caching of docker images, but found that it was quicker - # just to pull each time. #rollondockercaching - override: - - docker pull condaforge/linux-anvil - -test: - override: - # Run, test and (if we have a BINSTAR_TOKEN) upload the distributions. - - ./ci_support/run_docker_build.sh diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a9de8ec..2af99d9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -12,20 +12,17 @@ source: - no-console.patch build: - number: 2 - features: - - vc9 # [win and py27] - - vc14 # [win and py>=35] - skip: true # [win and py36] + number: 4 requirements: build: - - toolchain + - {{ compiler('cxx') }} - cmake # [win] test: requires: - - python {{ os.environ.get('PY_VER', '') + '*' }} # [win] + - python 3.6 # [not (win and vc<14)] + - python 2.7 # [win and vc<14] commands: - test -f ${PREFIX}/include/muParser.h # [unix] - if not exist %PREFIX%\\Library\\include\\muParser.h exit 1 # [win]