diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index adce9a5..f379fad 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -5,13 +5,21 @@
jobs:
- job: linux
pool:
- vmImage: ubuntu-16.04
+ vmImage: ubuntu-latest
strategy:
matrix:
linux_64_:
CONFIG: linux_64_
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_aarch64_:
+ CONFIG: linux_aarch64_
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_ppc64le_:
+ CONFIG: linux_ppc64le_
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
timeoutInMinutes: 360
steps:
@@ -32,6 +40,11 @@ jobs:
export CI=azure
export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then
+ export IS_PR_BUILD="True"
+ else
+ export IS_PR_BUILD="False"
+ fi
.scripts/run_docker_build.sh
displayName: Run docker build
env:
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index 39baad3..d7c37d2 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -11,9 +11,6 @@ jobs:
osx_64_:
CONFIG: osx_64_
UPLOAD_PACKAGES: 'True'
- osx_arm64_:
- CONFIG: osx_arm64_
- UPLOAD_PACKAGES: 'True'
timeoutInMinutes: 360
steps:
@@ -23,6 +20,11 @@ jobs:
export OSX_FORCE_SDK_DOWNLOAD="1"
export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME
export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME})
+ if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then
+ export IS_PR_BUILD="True"
+ else
+ export IS_PR_BUILD="False"
+ fi
./.scripts/run_osx_build.sh
displayName: Run OSX build
env:
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index 1fd8ea1..b6ce7ac 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -52,7 +52,7 @@ jobs:
- task: CondaEnvironment@1
inputs:
- packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional
+ packageSpecs: 'python=3.9 conda-build conda "conda-forge-ci-setup=3" pip boa' # Optional
installOptions: "-c conda-forge"
updateConda: true
displayName: Install conda-build and activate environment
@@ -86,7 +86,7 @@ jobs:
- script: |
call activate base
- conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml
+ conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables
displayName: Build recipe
env:
PYTHONUNBUFFERED: 1
@@ -107,4 +107,4 @@ jobs:
BINSTAR_TOKEN: $(BINSTAR_TOKEN)
FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN)
STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
- condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')))
\ No newline at end of file
+ condition: and(succeeded(), not(eq(variables['UPLOAD_PACKAGES'], 'False')), not(eq(variables['Build.Reason'], 'PullRequest')))
\ No newline at end of file
diff --git a/.ci_support/linux_64_.yaml b/.ci_support/linux_64_.yaml
index 70d9281..16eb0e4 100644
--- a/.ci_support/linux_64_.yaml
+++ b/.ci_support/linux_64_.yaml
@@ -7,7 +7,7 @@ c_compiler_version:
cdt_name:
- cos6
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
diff --git a/.ci_support/linux_aarch64_.yaml b/.ci_support/linux_aarch64_.yaml
index 0ee2a3a..d5eafd5 100644
--- a/.ci_support/linux_aarch64_.yaml
+++ b/.ci_support/linux_aarch64_.yaml
@@ -19,7 +19,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-aarch64
+- quay.io/condaforge/linux-anvil-comp7
flann:
- 1.9.1
pin_run_as_build:
diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml
index c9411c7..e924562 100644
--- a/.ci_support/linux_ppc64le_.yaml
+++ b/.ci_support/linux_ppc64le_.yaml
@@ -7,7 +7,7 @@ c_compiler_version:
cdt_name:
- cos7
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
@@ -15,7 +15,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-ppc64le
+- quay.io/condaforge/linux-anvil-comp7
flann:
- 1.9.1
pin_run_as_build:
diff --git a/.ci_support/osx_64_.yaml b/.ci_support/osx_64_.yaml
index 8f09ab6..93fd007 100644
--- a/.ci_support/osx_64_.yaml
+++ b/.ci_support/osx_64_.yaml
@@ -7,7 +7,7 @@ c_compiler:
c_compiler_version:
- '11'
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
diff --git a/.ci_support/osx_arm64_.yaml b/.ci_support/osx_arm64_.yaml
deleted file mode 100644
index 2a359f3..0000000
--- a/.ci_support/osx_arm64_.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-MACOSX_DEPLOYMENT_TARGET:
-- '11.0'
-boost_cpp:
-- 1.74.0
-c_compiler:
-- clang
-c_compiler_version:
-- '11'
-channel_sources:
-- conda-forge/label/rust_dev,conda-forge
-channel_targets:
-- conda-forge main
-cxx_compiler:
-- clangxx
-cxx_compiler_version:
-- '11'
-flann:
-- 1.9.1
-macos_machine:
-- arm64-apple-darwin20.0.0
-pin_run_as_build:
- boost-cpp:
- max_pin: x.x.x
- flann:
- max_pin: x.x.x
-target_platform:
-- osx-arm64
-zip_keys:
-- - c_compiler_version
- - cxx_compiler_version
diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml
index 86c7a6b..574bec3 100644
--- a/.ci_support/win_64_.yaml
+++ b/.ci_support/win_64_.yaml
@@ -3,7 +3,7 @@ boost_cpp:
c_compiler:
- vs2017
channel_sources:
-- conda-forge,defaults
+- conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644
index af15091..0000000
--- a/.drone.yml
+++ /dev/null
@@ -1,31 +0,0 @@
----
-kind: pipeline
-name: linux_aarch64_
-
-platform:
- os: linux
- arch: arm64
-
-steps:
-- name: Install and build
- image: quay.io/condaforge/linux-anvil-aarch64
- environment:
- CONFIG: linux_aarch64_
- UPLOAD_PACKAGES: True
- PLATFORM: linux-aarch64
- BINSTAR_TOKEN:
- from_secret: BINSTAR_TOKEN
- FEEDSTOCK_TOKEN:
- from_secret: FEEDSTOCK_TOKEN
- STAGING_BINSTAR_TOKEN:
- from_secret: STAGING_BINSTAR_TOKEN
- commands:
- - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE"
- - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe"
- - export CI=drone
- - export GIT_BRANCH="$DRONE_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME})
- - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint
- - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh
- - echo "Done building"
-
diff --git a/.gitattributes b/.gitattributes
index 9060b27..ce52713 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -18,6 +18,7 @@ bld.bat text eol=crlf
.gitignore linguist-generated=true
.travis.yml linguist-generated=true
.scripts/* linguist-generated=true
+.woodpecker.yml linguist-generated=true
LICENSE.txt linguist-generated=true
README.md linguist-generated=true
azure-pipelines.yml linguist-generated=true
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 8ad8fd8..8b6142e 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1 +1 @@
-* @wolfv
\ No newline at end of file
+* @traversaro @wolfv
\ No newline at end of file
diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh
index 99baf86..9008710 100755
--- a/.scripts/build_steps.sh
+++ b/.scripts/build_steps.sh
@@ -25,7 +25,8 @@ conda-build:
root-dir: ${FEEDSTOCK_ROOT}/build_artifacts
CONDARC
-BUILD_CMD=build
+GET_BOA=boa
+BUILD_CMD=mambabuild
conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip ${GET_BOA:-} -c conda-forge
@@ -37,8 +38,8 @@ source run_conda_forge_build_setup
# make the build number clobber
make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
-if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then
- EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test"
+if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then
+ EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --no-test"
fi
@@ -66,7 +67,7 @@ else
( startgroup "Uploading packages" ) 2> /dev/null
- if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
+ if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then
upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
fi
diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh
index 44ad3ce..0c6515f 100755
--- a/.scripts/run_docker_build.sh
+++ b/.scripts/run_docker_build.sh
@@ -52,11 +52,11 @@ if [ -z "${DOCKER_IMAGE}" ]; then
echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils"
DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-)
if [ "${DOCKER_IMAGE}" = "" ]; then
- echo "No docker_image entry found in ${CONFIG}. Falling back to condaforge/linux-anvil-comp7"
- DOCKER_IMAGE="condaforge/linux-anvil-comp7"
+ echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7"
+ DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7"
fi
else
- DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )"
+ DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )"
fi
fi
@@ -75,12 +75,15 @@ fi
( startgroup "Start Docker" ) 2> /dev/null
export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}"
+export IS_PR_BUILD="${IS_PR_BUILD:-False}"
+docker pull "${DOCKER_IMAGE}"
docker run ${DOCKER_RUN_ARGS} \
-v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \
-v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \
-e CONFIG \
-e HOST_USER_ID \
-e UPLOAD_PACKAGES \
+ -e IS_PR_BUILD \
-e GIT_BRANCH \
-e UPLOAD_ON_BRANCH \
-e CI \
@@ -91,9 +94,9 @@ docker run ${DOCKER_RUN_ARGS} \
-e BINSTAR_TOKEN \
-e FEEDSTOCK_TOKEN \
-e STAGING_BINSTAR_TOKEN \
- $DOCKER_IMAGE \
+ "${DOCKER_IMAGE}" \
bash \
- /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh
+ "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh"
# verify that the end of the script was reached
test -f "$DONE_CANARY"
diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh
index cbcce72..3dca437 100755
--- a/.scripts/run_osx_build.sh
+++ b/.scripts/run_osx_build.sh
@@ -4,20 +4,24 @@ source .scripts/logging_utils.sh
set -xe
+MINIFORGE_HOME=${MINIFORGE_HOME:-${HOME}/miniforge3}
+
( startgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
-MINIFORGE_FILE="Miniforge3-MacOSX-x86_64.sh"
+MINIFORGE_FILE="Miniforge3-MacOSX-$(uname -m).sh"
curl -L -O "${MINIFORGE_URL}/${MINIFORGE_FILE}"
-bash $MINIFORGE_FILE -b
+rm -rf ${MINIFORGE_HOME}
+bash $MINIFORGE_FILE -b -p ${MINIFORGE_HOME}
( endgroup "Installing a fresh version of Miniforge" ) 2> /dev/null
( startgroup "Configuring conda" ) 2> /dev/null
-BUILD_CMD=build
+GET_BOA=boa
+BUILD_CMD=mambabuild
-source ${HOME}/miniforge3/etc/profile.d/conda.sh
+source ${MINIFORGE_HOME}/etc/profile.d/conda.sh
conda activate base
echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build."
@@ -27,11 +31,18 @@ conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip ${G
echo -e "\n\nSetting up the condarc and mangling the compiler."
setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml
-mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
-echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
-/usr/bin/sudo mangle_homebrew
-/usr/bin/sudo -k
+if [[ "${CI:-}" != "" ]]; then
+ mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
+fi
+
+if [[ "${CI:-}" != "" ]]; then
+ echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
+ /usr/bin/sudo mangle_homebrew
+ /usr/bin/sudo -k
+else
+ echo -e "\n\nNot mangling homebrew as we are not running in CI"
+fi
echo -e "\n\nRunning the build setup script."
source run_conda_forge_build_setup
@@ -57,7 +68,7 @@ validate_recipe_outputs "${FEEDSTOCK_NAME}"
( startgroup "Uploading packages" ) 2> /dev/null
-if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
+if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then
upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" ./ ./recipe ./.ci_support/${CONFIG}.yaml
fi
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 6a7591a..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was generated automatically from conda-smithy. To update this configuration,
-# update the conda-forge.yml and/or the recipe/meta.yaml.
-
-language: generic
-
-
-
-matrix:
- include:
- - env: CONFIG=linux_ppc64le_ UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le
- os: linux
- arch: ppc64le
-
-script:
- - export CI=travis
- - export GIT_BRANCH="$TRAVIS_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG})
-
-
- - if [[ ${PLATFORM} =~ .*linux.* ]]; then ./.scripts/run_docker_build.sh; fi
\ No newline at end of file
diff --git a/README.md b/README.md
index 2cf2cdd..53709ac 100644
--- a/README.md
+++ b/README.md
@@ -29,21 +29,7 @@ Current build status
====================
-
- Travis |
-
-
-
-
- |
-
- Drone |
-
-
-
-
- |
-
+
Azure |
@@ -84,13 +70,6 @@ Current build status
-
- osx_arm64 |
-
-
-
-
- |
win_64 |
@@ -139,7 +118,8 @@ conda search fcl --channel conda-forge
About conda-forge
=================
-[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org)
+[![Powered by
+NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org)
conda-forge is a community-led conda channel of installable packages.
In order to provide high-quality builds, the process has been automated into the
@@ -199,5 +179,6 @@ In order to produce a uniquely identifiable distribution:
Feedstock Maintainers
=====================
+* [@traversaro](https://github.com/traversaro/)
* [@wolfv](https://github.com/wolfv/)
diff --git a/build-locally.py b/build-locally.py
index 3453cfe..8b74348 100755
--- a/build-locally.py
+++ b/build-locally.py
@@ -7,15 +7,25 @@
import glob
import subprocess
from argparse import ArgumentParser
+import platform
def setup_environment(ns):
os.environ["CONFIG"] = ns.config
os.environ["UPLOAD_PACKAGES"] = "False"
+ os.environ["IS_PR_BUILD"] = "True"
if ns.debug:
os.environ["BUILD_WITH_CONDA_DEBUG"] = "1"
if ns.output_id:
os.environ["BUILD_OUTPUT_ID"] = ns.output_id
+ if "MINIFORGE_HOME" not in os.environ:
+ os.environ["MINIFORGE_HOME"] = os.path.join(
+ os.path.dirname(__file__), "miniforge3"
+ )
+ if "OSX_SDK_DIR" not in os.environ:
+ os.environ["OSX_SDK_DIR"] = os.path.join(
+ os.path.dirname(__file__), "SDKs"
+ )
def run_docker_build(ns):
@@ -23,6 +33,11 @@ def run_docker_build(ns):
subprocess.check_call([script])
+def run_osx_build(ns):
+ script = ".scripts/run_osx_build.sh"
+ subprocess.check_call([script])
+
+
def verify_config(ns):
valid_configs = {
os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml")
@@ -46,10 +61,16 @@ def verify_config(ns):
else:
raise ValueError("config " + ns.config + " is not valid")
# Remove the following, as implemented
- if not ns.config.startswith("linux"):
+ if ns.config.startswith("win"):
raise ValueError(
- f"only Linux configs currently supported, got {ns.config}"
+ f"only Linux/macOS configs currently supported, got {ns.config}"
)
+ elif ns.config.startswith("osx") and platform.system() == "Darwin":
+ if "OSX_SDK_DIR" not in os.environ:
+ raise RuntimeError(
+ "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=/opt'"
+ "to download the SDK automatically to '/opt/MacOSX.sdk'"
+ )
def main(args=None):
@@ -68,7 +89,12 @@ def main(args=None):
verify_config(ns)
setup_environment(ns)
- run_docker_build(ns)
+ if ns.config.startswith("linux") or (
+ ns.config.startswith("osx") and platform.system() == "Linux"
+ ):
+ run_docker_build(ns)
+ elif ns.config.startswith("osx"):
+ run_osx_build(ns)
if __name__ == "__main__":
diff --git a/conda-forge.yml b/conda-forge.yml
index cea5359..d5d755b 100644
--- a/conda-forge.yml
+++ b/conda-forge.yml
@@ -1,4 +1,6 @@
build_platform: {osx_arm64: osx_64}
conda_forge_output_validation: true
-provider: {linux_aarch64: default, linux_ppc64le: default}
+build_platform:
+ linux_aarch64: linux_64
+ linux_ppc64le: linux_64
test_on_native_only: true
diff --git a/recipe/553.patch b/recipe/553.patch
new file mode 100644
index 0000000..453e6d3
--- /dev/null
+++ b/recipe/553.patch
@@ -0,0 +1,31 @@
+From e3f8707a98e2adb1b07b0d0dcfcb0f36088f4ab9 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro
+Date: Sat, 13 Nov 2021 15:08:28 +0100
+Subject: [PATCH] Replace non-portable M_PI with constants::pi()
+
+---
+ test/geometry/shape/test_convex.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/geometry/shape/test_convex.cpp b/test/geometry/shape/test_convex.cpp
+index 1857ce36..78172d02 100644
+--- a/test/geometry/shape/test_convex.cpp
++++ b/test/geometry/shape/test_convex.cpp
+@@ -777,7 +777,7 @@ class TessellatedSphere final : public Polytope {
+ public:
+ TessellatedSphere() : Polytope(1.0) {
+ // The angle between the latitude lines measured along the prime meridian.
+- const double dphi = M_PI / 8;
++ const double dphi = constants::pi() / 8;
+ auto slice_height = [dphi](int slice_index) {
+ // Assumes 1 <= slice_index < 8.
+ return std::cos(slice_index * dphi);
+@@ -790,7 +790,7 @@ class TessellatedSphere final : public Polytope {
+ vertices_->push_back({0, 0, 1});
+ // Now create the bands of vertices between slices 1 & 2, 2 & 3, etc.
+ // The angle between the longitude lines measured along the equator.
+- const double dtheta = 2 * M_PI / 8;
++ const double dtheta = 2 * constants::pi() / 8;
+ for (int slice = 1; slice < 8; ++slice) {
+ double z = slice_height(slice);
+ double r = slice_radius(slice);
diff --git a/recipe/fix-win.patch b/recipe/fix-win.patch
deleted file mode 100644
index 9cde1a3..0000000
--- a/recipe/fix-win.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h
-index b1224594..54200820 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_collision_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREECOLLISIONTRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h
-index 304a9cb1..a5b904c8 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_mesh_collision_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREEMESHCOLLISIONTRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h
-index 93b53abf..4668dd16 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/octree_shape_collision_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREESHAPECOLLISIONTRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h
-index 147de063..c08ddccb 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/collision/shape_octree_collision_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_SHAPEOCTREECOLLISIONTRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h
-index 2df84244..fcef5cc6 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_distance_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREEDISTANCETRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h
-index 5ac1cc28..c1a8cc2e 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_mesh_distance_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREEMESHDISTANCETRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h
-index 482f5f87..bf7abd96 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/octree_shape_distance_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREESHAPEDISTANCETRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h b/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h
-index 02b3547b..8b731e16 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/distance/shape_octree_distance_traversal_node.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_SHAPEOCTREEDISTANCETRAVERSALNODE_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
-diff --git a/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h b/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h
-index 41597425..a10d835f 100644
---- a/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h
-+++ b/include/fcl/narrowphase/detail/traversal/octree/octree_solver.h
-@@ -39,7 +39,7 @@
- #define FCL_TRAVERSAL_OCTREE_OCTREESOLVER_H
-
- #include "fcl/config.h"
--#if not(FCL_HAVE_OCTOMAP)
-+#if !(FCL_HAVE_OCTOMAP)
- #error "This header requires fcl to be compiled with octomap support"
- #endif
-
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 2bc9bfb..348a173 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,6 +1,6 @@
{% set name = "fcl" %}
-{% set version = "0.6.1" %}
-{% set sha256 = "c8a68de8d35a4a5cd563411e7577c0dc2c626aba1eef288cb1ca88561f8d8019" %}
+{% set version = "0.7.0" %}
+{% set sha256 = "90409e940b24045987506a6b239424a4222e2daf648c86dd146cbcb692ebdcbc" %}
package:
name: {{ name }}
@@ -10,10 +10,11 @@ source:
url: https://github.com/flexible-collision-library/fcl/archive/{{ version }}.tar.gz
sha256: {{ sha256 }}
patches:
- - fix-win.patch
+ - win2017_support.patch
+ - 553.patch
build:
- number: 3
+ number: 0
run_exports:
- {{ pin_subpackage(name, max_pin='x.x') }}
@@ -67,3 +68,4 @@ about:
extra:
recipe-maintainers:
- wolfv
+ - traversaro
diff --git a/recipe/win2017_support.patch b/recipe/win2017_support.patch
new file mode 100644
index 0000000..e42ff8c
--- /dev/null
+++ b/recipe/win2017_support.patch
@@ -0,0 +1,27 @@
+From e7a6374c1ab4491c25e128c0737fa0248d960c81 Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro
+Date: Sat, 13 Nov 2021 12:43:11 +0100
+Subject: [PATCH] Add VS2017 support
+
+---
+ src/CMakeLists.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 425724e7..4d5019be 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -114,6 +114,12 @@ target_include_directories(${PROJECT_NAME} INTERFACE
+ $
+ $)
+
++# VS2017 support, see https://github.com/conda-forge/fcl-feedstock/pull/11#issuecomment-968054820
++if(MSVC)
++ target_compile_definitions(${PROJECT_NAME}
++ PUBLIC _ENABLE_EXTENDED_ALIGNED_STORAGE)
++endif()
++
+ export(TARGETS ${PROJECT_NAME}
+ FILE "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-targets.cmake"
+ )
|