Skip to content

Commit

Permalink
Complete local osx-arm64 rebuild
Browse files Browse the repository at this point in the history
  • Loading branch information
Tobias-Fischer committed Jan 2, 2025
1 parent fe24e1a commit 0f8c7ab
Show file tree
Hide file tree
Showing 18 changed files with 1,068 additions and 382 deletions.
59 changes: 50 additions & 9 deletions additional_recipes/build_catkin.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Generated by vinca http://github.com/seanyen/vinca.
# Generated by vinca http://github.com/RoboStack/vinca.
# DO NOT EDIT!

set -eo pipefail

CATKIN_BUILD_BINARY_PACKAGE="ON"

if [ "${PKG_NAME}" == "ros-noetic-catkin" ]; then
Expand All @@ -20,19 +22,38 @@ export LINK=$CXX
if [[ "$CONDA_BUILD_CROSS_COMPILATION" != "1" ]]; then
PYTHON_EXECUTABLE=$PREFIX/bin/python
PKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkg-config
OSX_DEPLOYMENT_TARGET="10.15"
else
PYTHON_EXECUTABLE=$BUILD_PREFIX/bin/python
PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config
OSX_DEPLOYMENT_TARGET="11.0"
fi

if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then
export QT_HOST_PATH="$BUILD_PREFIX"
else
export QT_HOST_PATH="$PREFIX"
fi

echo "USING PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
echo "USING PKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}"

export ROS_PYTHON_VERSION=`$PYTHON_EXECUTABLE -c "import sys; print('%i.%i' % (sys.version_info[0:2]))"`
echo "Using Python $ROS_PYTHON_VERSION"
# Fix up SP_DIR which for some reason might contain a path to a wrong Python version
FIXED_SP_DIR=$(echo $SP_DIR | sed -E "s/python[0-9]+\.[0-9]+/python$ROS_PYTHON_VERSION/")
echo "Using site-package dir ${FIXED_SP_DIR}"

# see https://github.com/conda-forge/cross-python-feedstock/issues/24
if [[ "$CONDA_BUILD_CROSS_COMPILATION" == "1" ]]; then
find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} +
find $PREFIX/lib/cmake -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
find $PREFIX/share/rosidl* -type f -exec sed -i "s~$PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
find $PREFIX/share/rosidl* -type f -exec sed -i "s~\${_IMPORT_PREFIX}/lib/python$ROS_PYTHON_VERSION/site-packages~$BUILD_PREFIX/lib/python$ROS_PYTHON_VERSION/site-packages~g" {} + || true
find $PREFIX/lib/cmake -type f -exec sed -i "s~message(FATAL_ERROR \"The imported target~message(WARNING \"The imported target~g" {} + || true
# way around bad CPU type issues
# rm $PREFIX/bin/doxygen || echo "doxygen not found"
# rm $PREFIX/bin/dia || echo "dia not found"
# rm $PREFIX/bin/dot || echo "dot not found"
fi

# NOTE: there might be undefined references occurring
Expand All @@ -42,25 +63,34 @@ fi
export CXXFLAGS="$CXXFLAGS -DBOOST_ERROR_CODE_HEADER_ONLY"

if [[ $target_platform =~ linux.* ]]; then
export CFLAGS="$CFLAGS -D__STDC_FORMAT_MACROS=1";
export CXXFLAGS="$CXXFLAGS -D__STDC_FORMAT_MACROS=1";
# I am too scared to turn this on for now ...
# export LDFLAGS="$LDFLAGS -lrt";
# Some qt stuff uses g++ directly - fix these use cases
ln -s $GXX $BUILD_PREFIX/bin/g++
fi

export SKIP_TESTING=ON

cmake ${CMAKE_ARGS} .. -DCMAKE_INSTALL_PREFIX=$PREFIX \
cmake ${CMAKE_ARGS} --compile-no-warning-as-error \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DCMAKE_PREFIX_PATH=$PREFIX \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DBUILD_SHARED_LIBS=ON \
-DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
-DPython_EXECUTABLE=$PYTHON_EXECUTABLE \
-DPython3_EXECUTABLE=$PYTHON_EXECUTABLE \
-DPython3_FIND_STRATEGY=LOCATION \
-DPYTHON_INSTALL_DIR=$FIXED_SP_DIR \
-DPKG_CONFIG_EXECUTABLE=$PKG_CONFIG_EXECUTABLE \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
-DCATKIN_SKIP_TESTING=$SKIP_TESTING \
-DCATKIN_BUILD_BINARY_PACKAGE=$CATKIN_BUILD_BINARY_PACKAGE \
-DCMAKE_OSX_DEPLOYMENT_TARGET=$OSX_DEPLOYMENT_TARGET \
-G "Ninja" \
$SRC_DIR/$PKG_NAME/src/work

Expand All @@ -80,11 +110,22 @@ if [ "${PKG_NAME}" == "ros-noetic-catkin" ]; then
mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
done
fi

if [ "${PKG_NAME}" == "ros-noetic-environment" ]; then
for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
do
mkdir -p "${PREFIX}/etc/conda/activate.d"
cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
done
fi

if [ "${PKG_NAME}" == "ros-noetic-environment" ]; then
for SCRIPT in "1.ros_distro.sh" "1.ros_etc_dir.sh" "1.ros_package_path.sh" "1.ros_python_version.sh" "1.ros_version.sh"
do
cp "${PREFIX}/etc/catkin/profile.d/${SCRIPT}" "${PREFIX}/etc/conda/activate.d/${SCRIPT}"
done
fi
if [ "${PKG_NAME}" == "ros-noetic-ros-workspace" ]; then
# Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
# This will allow them to be run on environment activation.
for CHANGE in "activate" "deactivate"
do
mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
cp "${RECIPE_DIR}/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
done
fi
26 changes: 14 additions & 12 deletions additional_recipes/ros-noetic-eigenpy/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package:
name: ros-noetic-eigenpy
version: "3.5.0"
version: "3.10.1"

build:
number: 21
number: 0

outputs:
- package:
name: ros-noetic-eigenpy
version: "3.5.0"
build:
run_exports:
- "{{ pin_subpackage('ros-noetic-eigenpy', max_pin='x.x.x') }}"
requirements:
run:
- eigenpy 3.5.0
requirements:
run:
- eigenpy ==3.10.1

about:
homepage: https://github.com/conda-forge/eigenpy-feedstock
license: BSD-3-Clause
summary: |
Bindings between Numpy and Eigen using Boost.Python
extra:
recipe-maintainers:
- ros-forge
26 changes: 14 additions & 12 deletions additional_recipes/ros-noetic-hpp-fcl/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package:
name: ros-noetic-hpp-fcl
version: "2.3.6"
version: "3.0.0"

build:
number: 21
number: 0

outputs:
- package:
name: ros-noetic-hpp-fcl
version: "2.3.6"
build:
run_exports:
- "{{ pin_subpackage('ros-noetic-hpp-fcl', max_pin='x.x.x') }}"
requirements:
run:
- hpp-fcl 2.3.6
requirements:
run:
- hpp-fcl ==3.0.0

about:
homepage: https://github.com/conda-forge/hpp-fcl-feedstock
license: BSD-3-Clause
summary: |
An extension of the Flexible Collision Library
extra:
recipe-maintainers:
- ros-forge
58 changes: 38 additions & 20 deletions additional_recipes/ros-noetic-jackal-base/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,37 +1,53 @@
package:
name: ros-noetic-jackal-base
version: 0.7.4
version: 0.7.11
about:
home: http://wiki.ros.org/Robots/Jackal
license:
- BSD
homepage: http://wiki.ros.org/Robots/Jackal
license: BSD-3-Clause
summary: Jackal's mobility and sensor base.
maintainers:
- Mike Purvis ([email protected])

extra:
recipe-maintainers:
- robostack
build:
number: 3
script:
sel(win): bld_catkin.bat
sel(unix): build_catkin.sh
number: 4
script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}


source:
git_url: https://github.com/clearpath-gbp/jackal_robot-release.git
git_rev: release/noetic/jackal_base/0.7.4-1
folder: ros-noetic-jackal-base/src/work
git: https://github.com/clearpath-gbp/jackal_robot-release.git
tag: release/noetic/jackal_base/0.7.11-1
target_directory: ros-noetic-jackal-base/src/work
requirements:
build:
- "{{ compiler('cxx') }}"
- "{{ compiler('c') }}"
- ${{ compiler('cxx') }}
- ${{ compiler('c') }}
- ${{ stdlib('c') }}
- ninja
- sel(unix): make
- python
- setuptools
- git
- if: unix
then:
- patch
- make
- coreutils
- if: win
then:
- m2-patch
- if: osx
then:
- tapi
- if: build_platform != target_platform
then:
- pkg-config
- cmake
- sel(build_platform != target_platform): python
- sel(build_platform != target_platform): cross-python_{{ target_platform }}
- sel(build_platform != target_platform): cython
- cython
- if: build_platform != target_platform
then:
- python
- cross-python_${{ target_platform }}
- numpy
host:
- python
- ros-noetic-catkin
Expand Down Expand Up @@ -74,4 +90,6 @@ requirements:
- ros-noetic-tf
- ros-noetic-topic-tools
- ros-noetic-jackal-msgs
- sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
- if: osx and x86_64
then:
- __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
58 changes: 38 additions & 20 deletions additional_recipes/ros-noetic-jackal-control/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,38 +1,54 @@
package:
name: ros-noetic-jackal-control
version: 0.8.5
version: 0.8.10
about:
home: http://wiki.ros.org/jackal_control
license:
- BSD
homepage: http://wiki.ros.org/jackal_control
license: BSD-3-Clause
summary: Controllers for Jackal
maintainers:
- Mike Purvis ([email protected])

extra:
recipe-maintainers:
- robostack
build:
number: 3
script:
sel(win): bld_catkin.bat
sel(unix): build_catkin.sh
number: 4
script: ${{ '$RECIPE_DIR/build_catkin.sh' if unix else '%RECIPE_DIR%\\bld_catkin.bat' }}



source:
git_url: https://github.com/clearpath-gbp/jackal-release.git
git_rev: release/noetic/jackal_control/0.8.5-1
folder: ros-noetic-jackal-control/src/work
git: https://github.com/clearpath-gbp/jackal-release.git
tag: release/noetic/jackal_control/0.8.10-1
target_directory: ros-noetic-jackal-control/src/work
requirements:
build:
- "{{ compiler('cxx') }}"
- "{{ compiler('c') }}"
- ${{ compiler('cxx') }}
- ${{ compiler('c') }}
- ${{ stdlib('c') }}
- ninja
- sel(unix): make
- python
- setuptools
- git
- if: unix
then:
- patch
- make
- coreutils
- if: win
then:
- m2-patch
- if: osx
then:
- tapi
- if: build_platform != target_platform
then:
- pkg-config
- cmake
- sel(build_platform != target_platform): python
- sel(build_platform != target_platform): cross-python_{{ target_platform }}
- sel(build_platform != target_platform): cython
- cython
- if: build_platform != target_platform
then:
- python
- cross-python_${{ target_platform }}
- numpy
host:
- python
- ros-noetic-catkin
Expand All @@ -57,4 +73,6 @@ requirements:
- ros-noetic-teleop-twist-joy
- ros-noetic-topic-tools
- ros-noetic-twist-mux
- sel(osx and x86_64): __osx >={{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
- if: osx and x86_64
then:
- __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
Loading

0 comments on commit 0f8c7ab

Please sign in to comment.