diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 8c384f8..7fe2b71 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -89,7 +89,7 @@ jobs: - script: | call activate base - conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml + conda.exe build "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: PYTHONUNBUFFERED: 1 diff --git a/.ci_support/linux_64_ogre1.10.yaml b/.ci_support/linux_64_ogre1.10.yaml index 1942bb2..60f4719 100644 --- a/.ci_support/linux_64_ogre1.10.yaml +++ b/.ci_support/linux_64_ogre1.10.yaml @@ -5,7 +5,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_64_ogre1.12.yaml b/.ci_support/linux_64_ogre1.12.yaml index 2f66d5e..845ce79 100644 --- a/.ci_support/linux_64_ogre1.12.yaml +++ b/.ci_support/linux_64_ogre1.12.yaml @@ -5,7 +5,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/osx_64_ogre1.10.yaml b/.ci_support/osx_64_ogre1.10.yaml index 5b09ed9..679d5bc 100644 --- a/.ci_support/osx_64_ogre1.10.yaml +++ b/.ci_support/osx_64_ogre1.10.yaml @@ -5,7 +5,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_64_ogre1.12.yaml b/.ci_support/osx_64_ogre1.12.yaml index e5a2600..1e77c5a 100644 --- a/.ci_support/osx_64_ogre1.12.yaml +++ b/.ci_support/osx_64_ogre1.12.yaml @@ -5,7 +5,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_ogre1.10.yaml b/.ci_support/osx_arm64_ogre1.10.yaml index b1c9e9a..fce8b0c 100644 --- a/.ci_support/osx_arm64_ogre1.10.yaml +++ b/.ci_support/osx_arm64_ogre1.10.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge/label/rust_dev,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/osx_arm64_ogre1.12.yaml b/.ci_support/osx_arm64_ogre1.12.yaml index b17c12e..3c26121 100644 --- a/.ci_support/osx_arm64_ogre1.12.yaml +++ b/.ci_support/osx_arm64_ogre1.12.yaml @@ -5,7 +5,7 @@ c_compiler: c_compiler_version: - '11' channel_sources: -- conda-forge/label/rust_dev,conda-forge +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_ogre1.10.yaml b/.ci_support/win_64_ogre1.10.yaml index bd2baf3..0fded69 100644 --- a/.ci_support/win_64_ogre1.10.yaml +++ b/.ci_support/win_64_ogre1.10.yaml @@ -1,7 +1,7 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/.ci_support/win_64_ogre1.12.yaml b/.ci_support/win_64_ogre1.12.yaml index 82b3eb0..0b5a2e4 100644 --- a/.ci_support/win_64_ogre1.12.yaml +++ b/.ci_support/win_64_ogre1.12.yaml @@ -1,7 +1,7 @@ c_compiler: - vs2017 channel_sources: -- conda-forge,defaults +- conda-forge channel_targets: - conda-forge main cxx_compiler: diff --git a/README.md b/README.md index fd16f49..1f41f99 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -About libignition-rendering5 +About libignition-rendering6 ============================ Home: https://github.com/ignitionrobotics/ign-rendering @@ -95,28 +95,28 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | -| [![Conda Recipe](https://img.shields.io/badge/recipe-libignition--rendering5-green.svg)](https://anaconda.org/conda-forge/libignition-rendering5) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libignition-rendering5.svg)](https://anaconda.org/conda-forge/libignition-rendering5) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libignition-rendering5.svg)](https://anaconda.org/conda-forge/libignition-rendering5) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libignition-rendering5.svg)](https://anaconda.org/conda-forge/libignition-rendering5) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libignition--rendering6-green.svg)](https://anaconda.org/conda-forge/libignition-rendering6) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libignition-rendering6.svg)](https://anaconda.org/conda-forge/libignition-rendering6) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libignition-rendering6.svg)](https://anaconda.org/conda-forge/libignition-rendering6) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libignition-rendering6.svg)](https://anaconda.org/conda-forge/libignition-rendering6) | -Installing libignition-rendering5 +Installing libignition-rendering6 ================================= -Installing `libignition-rendering5` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: +Installing `libignition-rendering6` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: ``` conda config --add channels conda-forge conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `libignition-rendering5` can be installed with: +Once the `conda-forge` channel has been enabled, `libignition-rendering6` can be installed with: ``` -conda install libignition-rendering5 +conda install libignition-rendering6 ``` -It is possible to list all of the versions of `libignition-rendering5` available on your platform with: +It is possible to list all of the versions of `libignition-rendering6` available on your platform with: ``` -conda search libignition-rendering5 --channel conda-forge +conda search libignition-rendering6 --channel conda-forge ``` @@ -158,17 +158,17 @@ Terminology produce the finished article (built conda distributions) -Updating libignition-rendering5-feedstock +Updating libignition-rendering6-feedstock ========================================= -If you would like to improve the libignition-rendering5 recipe or build a new +If you would like to improve the libignition-rendering6 recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the `conda-forge` channel, whereupon the built conda packages will be available for everybody to install and use from the `conda-forge` channel. -Note that all branches in the conda-forge/libignition-rendering5-feedstock are +Note that all branches in the conda-forge/libignition-rendering6-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions. diff --git a/conda-forge.yml b/conda-forge.yml index 74cfcca..d485048 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,5 +1,5 @@ bot: - abi_migration_branches: [v4] + abi_migration_branches: [v4, v5] build_platform: {osx_arm64: osx_64} conda_forge_output_validation: true test_on_native_only: true diff --git a/recipe/452.patch b/recipe/452.patch new file mode 100644 index 0000000..afc4bd1 --- /dev/null +++ b/recipe/452.patch @@ -0,0 +1,23 @@ +From b224a6e2a469d8bb89558ead069339b798111440 Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Mon, 4 Oct 2021 16:32:03 +0200 +Subject: [PATCH] ogre: Add missing required Paging component + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ace9885..216aacc2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,7 +61,7 @@ endif() + + #-------------------------------------- + # Find OGRE +-list(APPEND ign_ogre_components "RTShaderSystem" "Terrain" "Overlay") ++list(APPEND ign_ogre_components "RTShaderSystem" "Terrain" "Overlay" "Paging") + + # Ogre versions greater than 1.9 are not officialy supported. + # Display a warning for the users on this setup unless they provide + diff --git a/recipe/454.patch b/recipe/454.patch new file mode 100644 index 0000000..b842916 --- /dev/null +++ b/recipe/454.patch @@ -0,0 +1,40 @@ +From 25abfaa578de547ec885936cabf7e202c685ab33 Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Wed, 6 Oct 2021 19:45:53 +0200 +Subject: [PATCH] ogre: Do not assume that ogre plugins have lib prefix on + macOS + +Signed-off-by: Silvio +--- + ogre/src/OgreRenderEngine.cc | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/ogre/src/OgreRenderEngine.cc b/ogre/src/OgreRenderEngine.cc +index b9e394462..ed66934ec 100644 +--- a/ogre/src/OgreRenderEngine.cc ++++ b/ogre/src/OgreRenderEngine.cc +@@ -421,20 +421,17 @@ void OgreRenderEngine::LoadPlugins() + std::vector::iterator piter; + + #ifdef __APPLE__ +- std::string prefix = "lib"; + std::string extension = ".dylib"; + #elif _WIN32 +- std::string prefix = ""; + std::string extension = ".dll"; + #else +- std::string prefix = ""; + std::string extension = ".so"; + #endif + +- plugins.push_back(path+"/"+prefix+"RenderSystem_GL"); +- plugins.push_back(path+"/"+prefix+"Plugin_ParticleFX"); +- plugins.push_back(path+"/"+prefix+"Plugin_BSPSceneManager"); +- plugins.push_back(path+"/"+prefix+"Plugin_OctreeSceneManager"); ++ plugins.push_back(path+"/RenderSystem_GL"); ++ plugins.push_back(path+"/Plugin_ParticleFX"); ++ plugins.push_back(path+"/Plugin_BSPSceneManager"); ++ plugins.push_back(path+"/Plugin_OctreeSceneManager"); + + #ifdef HAVE_OCULUS + plugins.push_back(path+"/Plugin_CgProgramManager"); diff --git a/recipe/bld.bat b/recipe/bld.bat index caa0fa8..22476ce 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -6,6 +6,8 @@ cmake ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_BUILD_TYPE=Release ^ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ + -DSKIP_ogre2:BOOL=ON ^ + -DSKIP_optix:BOOL=ON ^ %SRC_DIR% if errorlevel 1 exit 1 @@ -18,5 +20,8 @@ cmake --build . --config Release --target install if errorlevel 1 exit 1 :: Test. -ctest --output-on-failure -C Release -E "INTEGRATION|PERFORMANCE|REGRESSION|UNIT_RenderingIface_TEST|check_" -if errorlevel 1 exit 1 +:: Do not run tests as they require to open a display and this is not supported on CI at the moment +:: See https://github.com/conda-forge/libignition-rendering4-feedstock/pull/19#issuecomment-937678806 +:: set RENDER_ENGINE_VALUES=ogre +:: ctest --output-on-failure -C Release -E "INTEGRATION|PERFORMANCE|REGRESSION|UNIT_RenderingIface_TEST|check_" +:: if errorlevel 1 exit 1 diff --git a/recipe/build.sh b/recipe/build.sh index 325c0c8..eaab3f0 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -13,11 +13,17 @@ cmake ${CMAKE_ARGS} .. \ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ -DFREEIMAGE_RUNS:BOOL=ON \ -DFREEIMAGE_RUNS__TRYRUN_OUTPUT:STRING="" \ - -DFREEIMAGE_COMPILES:BOOL=ON + -DFREEIMAGE_COMPILES:BOOL=ON \ + -DSKIP_ogre2:BOOL=ON \ + -DSKIP_optix:BOOL=ON cmake --build . --config Release cmake --build . --config Release --target install + # UNIT_Heightmap_TEST disabled for https://github.com/conda-forge/libignition-rendering4-feedstock/issues/10 -if [[ "${CONDA_BUILD_CROSS_COMPILATION}" != "1" ]]; then -ctest --output-on-failure -C Release -E "INTEGRATION|PERFORMANCE|REGRESSION|UNIT_RenderingIface_TEST|check_UNIT_RenderingIface_TEST|UNIT_Heightmap_TEST" -fi +# if [[ "${CONDA_BUILD_CROSS_COMPILATION}" != "1" ]]; then +# Do not run tests as they require to open a display and this is not supported on CI at the moment +# See https://github.com/conda-forge/libignition-rendering4-feedstock/pull/19#issuecomment-937678806 +# export RENDER_ENGINE_VALUES=ogre +# ctest --extra-verbose --output-on-failure -C Release -E "INTEGRATION|PERFORMANCE|REGRESSION|UNIT_RenderingIface_TEST|check_UNIT_RenderingIface_TEST|UNIT_Heightmap_TEST" +# fi diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 41dd196..50eef37 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set base_name = "libignition-rendering" %} -{% set version = "5_5.1.0" %} +{% set version = "6_6.0.0" %} {% set version_package = version.split('_')[1] %} {% set major_version = version.split('_')[0] %} {% set name = base_name + major_version %} @@ -10,12 +10,15 @@ package: source: url: https://github.com/ignitionrobotics/ign-rendering/archive/ignition-rendering{{ version }}.tar.gz - sha256: a26fe32f2dd849bb2ae492fc65b73e730f830f5bf9d763c9e62b6d6672ccf02f + sha256: e9c7740916f2c39df5c1a3e1118bd5f0c137b01e6c513c87f6c8f27713665fd8 patches: - ogre-version.patch + - 452.patch + - remove_problematic_ignogre_logic.patch + - 454.patch build: - number: 1 + number: 0 run_exports: - {{ pin_subpackage(name, max_pin='x') }} diff --git a/recipe/remove_problematic_ignogre_logic.patch b/recipe/remove_problematic_ignogre_logic.patch new file mode 100644 index 0000000..baefb40 --- /dev/null +++ b/recipe/remove_problematic_ignogre_logic.patch @@ -0,0 +1,49 @@ +From 62aabc57e6c18798a8232a7a560c35ebfe088d91 Mon Sep 17 00:00:00 2001 +From: Silvio Traversaro +Date: Mon, 4 Oct 2021 17:14:34 +0200 +Subject: [PATCH] Remove problematic IgnOGRE logic + +--- + CMakeLists.txt | 28 ++++------------------------ + 1 file changed, 4 insertions(+), 24 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 51328f1e..719f7721 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,30 +64,11 @@ endif() + # Find OGRE + list(APPEND ign_ogre_components "RTShaderSystem" "Terrain" "Overlay") + +-# Ogre versions greater than 1.9 are not officialy supported. +-# Display a warning for the users on this setup unless they provide +-# USE_UNOFFICIAL_OGRE_VERSIONS flag +-if (NOT USE_UNOFFICIAL_OGRE_VERSIONS) +- # Only for checking the ogre version +- ign_find_package(IgnOGRE VERSION 1.10 QUIET) +- +- if (OGRE_FOUND) +- IGN_BUILD_WARNING("Ogre 1.x versions greater than 1.9 are not officially supported." +- "The software might compile and even work but support from upstream" +- "could be reduced to accepting patches for newer versions") +- ign_find_package(IgnOGRE VERSION 1.10 +- COMPONENTS ${ign_ogre_components} +- REQUIRED_BY ogre +- PRIVATE_FOR ogre) +- else() +- # If ogre 1.10 or greater was not found, then proceed to look for 1.9.x +- # versions which are offically supported +- ign_find_package(IgnOGRE VERSION 1.9.0 +- COMPONENTS ${ign_ogre_components} +- REQUIRED_BY ogre +- PRIVATE_FOR ogre) +- endif() +-endif() ++ign_find_package(IgnOGRE VERSION 1.10 COMPONENTS ${ign_ogre_components} ++ REQUIRED_BY ogre PRIVATE_FOR ogre) ++#if(NOT WIN32) ++# target_include_directories(IgnOGRE::IgnOGRE INTERFACE $ENV{CONDA_PREFIX}/include/OGRE/Paging) ++#endif() + + if (OGRE_FOUND) + # find boost - mainly needed on macOS and also by the terrain component