Skip to content

Commit

Permalink
Merge pull request #124 from RoboStack/rebuild_2024
Browse files Browse the repository at this point in the history
Jan 2024 rebuild
  • Loading branch information
Tobias-Fischer authored Feb 2, 2024
2 parents a76ad71 + 80c956d commit 65004cf
Show file tree
Hide file tree
Showing 46 changed files with 1,215 additions and 746 deletions.
475 changes: 291 additions & 184 deletions .ci_support/conda_forge_pinnings.yaml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .cirun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ runners:
preemptible: false
labels:
- cirun-linux-aarch64

6 changes: 4 additions & 2 deletions .github/testpr_environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ channels:
- robostack-staging
- conda-forge
dependencies:
- python 3.10.*
- python 3.11.*
- pip
- boa
- conda-build <3.28
- rospkg
- catkin_pkg >=0.4.16
- ruamel.yaml >=0.16.6
- ruamel.yaml >=0.16.6,<0.18
- rosdistro >=0.8.0
- empy >=3.3.4
- networkx
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10' # Version range or exact version of a Python version to use, using SemVer's version range syntax
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax
- name: Install vinca
run: |
pip install git+https://github.com/RoboStack/vinca.git
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/testpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
platform: osx-arm64
steps:
- uses: actions/checkout@master
- name: install mamba
- name: install micromamba
uses: mamba-org/setup-micromamba@main
with:
environment-file: .github/testpr_environment.yml
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
conda config --show channels | grep defaults && conda config --remove channels defaults
conda info
conda config --show
mamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4" boa
micromamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4" boa
- name: install vinca and boa master
shell: bash -l {0}
run: |
Expand Down
2 changes: 1 addition & 1 deletion .scripts/build_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ conda config --remove channels defaults
# conda config --set channel_priority strict

mamba update conda --yes --quiet -c conda-forge
mamba install --yes --quiet pip conda-build anaconda-client mamba boa
mamba install --yes --quiet pip conda-build=3.27 anaconda-client mamba boa

# setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
# export PATH="$HOME/miniconda/bin:$PATH"
Expand Down
2 changes: 1 addition & 1 deletion .scripts/build_osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ conda activate base
conda config --set remote_max_retries 5

echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build."
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip boa quetz-client -c conda-forge
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build=3.27 pip boa quetz-client -c conda-forge

set -e

Expand Down
4 changes: 2 additions & 2 deletions .scripts/build_osx_arm64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export FEEDSTOCK_ROOT=`pwd`

echo -e "\n\nInstalling a fresh version of Miniforge."
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
MINIFORGE_FILE="Mambaforge-MacOSX-x86_64.sh"
MINIFORGE_FILE="Mambaforge-MacOSX-arm64.sh"
curl -L -O --silent "${MINIFORGE_URL}/${MINIFORGE_FILE}"
/bin/bash $MINIFORGE_FILE -b

Expand All @@ -18,7 +18,7 @@ conda activate base
conda config --set remote_max_retries 5

echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build."
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip boa quetz-client -c conda-forge
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build=3.27 pip boa quetz-client -c conda-forge

set -e

Expand Down
5 changes: 1 addition & 4 deletions .scripts/build_win.bat
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ set "FEEDSTOCK_ROOT=%cd%"
mkdir %CONDA_BLD_PATH%
call conda index %CONDA_BLD_PATH%

call conda config --remove channels defaults
rem call conda config --remove channels defaults
call conda config --add channels conda-forge
call conda config --add channels robostack-staging
call conda config --add channels %CONDA_BLD_PATH%
Expand All @@ -40,9 +40,6 @@ reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t

:: conda remove --force m2-git

call mamba install boa
if errorlevel 1 exit 1

for %%X in (%CURRENT_RECIPES%) do (
echo "BUILDING RECIPE %%X"
cd %FEEDSTOCK_ROOT%\recipes\%%X\
Expand Down
12 changes: 7 additions & 5 deletions additional_recipes/ros2-distro-mutex/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package:
name: ros2-distro-mutex
version: 0.3.0
version: 0.5.0

build:
number: 0
string: humble
run_exports:
- "{{ pin_subpackage('ros2-distro-mutex', max_pin='x.x') }}"
weak:
- "{{ pin_subpackage('ros2-distro-mutex', max_pin='x.x') }}"

requirements:
# NOTE:
Expand All @@ -29,11 +30,11 @@ requirements:
# if the upstream package does not have run_exports
# please change it in the conda_build_config.yaml!
run_constrained:
- boost-cpp 1.78
- pcl 1.12
- boost-cpp 1.82
- libboost-devel 1.82
- pcl 1.13.1
- gazebo 11
- libpqxx 6
- setuptools 61.0.0

about:
home: https://github.com/robostack/ros-humble
Expand All @@ -45,3 +46,4 @@ about:
extra:
recipe-maintainers:
- ros-forge

48 changes: 48 additions & 0 deletions check_patches_clean_apply.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Useful script when checking whether patches apply cleanly.
# First, run `vinca` (without `-m` flag) to generate a recipe.yaml.
# Then, run this script to generate a new pseudo list that only contains sources that have patches applied.
# This you can then run through `boa` which will try and apply the patches.

import yaml
import shutil
import os

SCRIPT_DIR = './'

shutil.move(SCRIPT_DIR + '/recipe.yaml', SCRIPT_DIR + '/recipe.yaml.bak')

# Load the YAML file
with open('recipe.yaml.bak', 'r') as file:
data = yaml.safe_load(file)

prepend_data = {
'package': {
'name': 'ros-dummy',
'version': '2024.01.17'
}
}

append_data = {
'build': {
'number': 0
},
'about': {
'home': 'https://www.ros.org/',
'license': 'BSD-3-Clause',
'summary': 'Robot Operating System'
},
'extra': {
'recipe-maintainers': [
'ros-forge'
]
}
}

# Filter out entries without 'patches'
filtered_data = [entry for entry in data['source'] if 'patches' in entry]

final_data = {**prepend_data, 'source': filtered_data, **append_data}

# Write the filtered data back to a YAML file
with open('recipe.yaml', 'w') as file:
yaml.dump(final_data, file, sort_keys=False)
17 changes: 5 additions & 12 deletions conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,30 +1,23 @@
assimp:
- 5.2.5
hdf5:
- 1.12.2
gazebo:
- '11'
libpqxx:
- 6
numpy:
- 1.21
pcl:
- 1.12.1
- 1.23
ogre:
- 1.12.*
qt:
- 5.15
qt_main:
- 5.15
setuptools:
- 69

cdt_name: # [linux]
- cos7 # [linux]

python:
- 3.10.* *_cpython
- 3.11.* *_cpython
python_impl:
- cpython

# Project overrides
macos_min_version: # [osx and x86_64]
- 10.14 # [osx and x86_64]
macos_machine: # [osx]
Expand Down
3 changes: 1 addition & 2 deletions env/robostackenv.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
name: robostackenv
channels:
- robostack-humble
- robostack-staging
- conda-forge
dependencies:
- python=3.10
- python=3.11
- conda-build
- anaconda-client
- mamba
Expand Down
10 changes: 7 additions & 3 deletions patch/dependencies.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
ament_package:
add_host: ['importlib_resources']
foxglove_bridge:
add_host: ["ros-humble-ament-cmake"]
ros_ign_interfaces:
add_host: ["ros-humble-rcl-interfaces"]
cartographer_ros:
add_host: ["cartographer 2.*"]
add_host: ["cartographer 2.*", "libboost-devel"]
libyaml_vendor:
add_host: ["yaml-cpp", "yaml"]
add_run: ["yaml-cpp", "yaml"]
Expand Down Expand Up @@ -34,9 +36,9 @@ rviz_ogre_vendor:
add_host: ["zlib", "freeimage", "freetype", "assimp", "zziplib", "pugixml"]
add_run: ["assimp"]
pcl_conversions:
add_host: ["REQUIRE_OPENGL"]
add_host: ["REQUIRE_OPENGL", "libboost-devel"]
pcl_ros:
add_host: ["REQUIRE_OPENGL"]
add_host: ["REQUIRE_OPENGL", "libboost-devel"]
rviz_rendering:
add_host: ["glew"]
behaviortree_cpp_v3:
Expand Down Expand Up @@ -156,3 +158,5 @@ slam_toolbox:
vision_msgs_rviz_plugins:
add_build: [{sel(build_platform != target_platform): qt-main}]
add_host: ["REQUIRE_OPENGL"]
velodyne_pointcloud:
add_host: ["libboost-devel"]
65 changes: 65 additions & 0 deletions patch/ros-humble-ament-package.patch
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,68 @@ index 292e518..0000000
- ament_prepend_unique_value DYLD_LIBRARY_PATH "$AMENT_CURRENT_PREFIX/lib"
-fi
-unset _IS_DARWIN
diff --git a/ament_package/templates.py b/ament_package/templates.py
index 885b972..463453c 100644
--- a/ament_package/templates.py
+++ b/ament_package/templates.py
@@ -17,15 +17,21 @@ import re

try:
import importlib.resources as importlib_resources
-except ModuleNotFoundError:
+ assert importlib_resources.files, "importlib reousrces too old to support files, please install importlib_resources"
+except (ModuleNotFoundError, AttributeError):
import importlib_resources

IS_WINDOWS = os.name == 'nt'

+# importlib
+# DeprecationWarning: path is deprecated. Use files() instead.
+# Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy
+# for migration advice.

def get_environment_hook_template_path(name):
- with importlib_resources.path('ament_package.template.environment_hook', name) as path:
- return str(path)
+ # with importlib_resources.path('ament_package.template.environment_hook', name) as path:
+ path = importlib_resources.files('ament_package.template.environment_hook').joinpath(name)
+ return str(path)


def get_package_level_template_names(all_platforms=False):
@@ -41,8 +47,9 @@ def get_package_level_template_names(all_platforms=False):


def get_package_level_template_path(name):
- with importlib_resources.path('ament_package.template.package_level', name) as path:
- return str(path)
+ # with importlib_resources.path('ament_package.template.package_level', name) as path:
+ path = importlib_resources.files('ament_package.template.package_level').joinpath(name)
+ return str(path)


def get_prefix_level_template_names(*, all_platforms=False):
@@ -61,8 +68,9 @@ def get_prefix_level_template_names(*, all_platforms=False):


def get_prefix_level_template_path(name):
- with importlib_resources.path('ament_package.template.prefix_level', name) as path:
- return str(path)
+ # with importlib_resources.path('ament_package.template.prefix_level', name) as path:
+ path = importlib_resources.files('ament_package.template.prefix_level').joinpath(name)
+ return str(path)


def get_isolated_prefix_level_template_names(*, all_platforms=False):
@@ -81,8 +89,9 @@ def get_isolated_prefix_level_template_names(*, all_platforms=False):


def get_isolated_prefix_level_template_path(name):
- with importlib_resources.path('ament_package.template.isolated_prefix_level', name) as path:
- return str(path)
+ #with importlib_resources.path('ament_package.template.isolated_prefix_level', name) as path:
+ path = importlib_resources.files('ament_package.template.isolated_prefix_level').joinpath(name)
+ return str(path)


def configure_file(template_file, environment):
17 changes: 17 additions & 0 deletions patch/ros-humble-apriltag-ros.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c906851..b48600f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,8 +5,10 @@ project(apriltag_ros)
set(CMAKE_CXX_STANDARD 14)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- add_compile_options(-Werror -Wall -Wextra -Wpedantic)
- add_link_options("-Wl,-z,relro,-z,now,-z,defs")
+ if(NOT APPLE)
+ add_compile_options(-Werror -Wall -Wextra -Wpedantic)
+ add_link_options("-Wl,-z,relro,-z,now,-z,defs")
+ endif()
endif()

option(ASAN "use AddressSanitizer to detect memory issues" OFF)
13 changes: 13 additions & 0 deletions patch/ros-humble-bno055.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/setup.py b/setup.py
index 552531f..0774755 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ package_name = 'bno055'

setup(
name=package_name,
- version='0.4.1.',
+ version='0.4.1',
# find sub-packages automatically in order to allow sub-modules, etc. to be imported:
# packages=[package_name],
packages=find_packages(exclude=['test']),
Loading

0 comments on commit 65004cf

Please sign in to comment.