Skip to content

Commit

Permalink
ci: Generate Python package with cibuildwheel
Browse files Browse the repository at this point in the history
  • Loading branch information
oliviermartin committed Feb 22, 2024
1 parent 18e1658 commit a892ab4
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 8 deletions.
9 changes: 3 additions & 6 deletions .github/workflows/github-actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,18 @@ jobs:

generate-python-binary-packages:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v4
- run: sudo apt install -y libbluetooth-dev
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: ./ci/generate-python-package.sh
env:
CIBW_BEFORE_BUILD_LINUX: "sh ci/install-bluez.sh"
- name: Archive Python packages
uses: actions/upload-artifact@v4
with:
name: python-${{ matrix.python-version }}-binary-package
name: python-binary-packages
path: dist/*

# publish-python-packages:
Expand Down
8 changes: 6 additions & 2 deletions ci/generate-python-package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ cp -r ${ROOT_PATH}/include ${gattlib_py_package_dir}/
cp -r ${ROOT_PATH}/CMakeLists.txt ${gattlib_py_package_dir}/
cp -r ${ROOT_PATH}/CrossCompilation.cmake ${gattlib_py_package_dir}/

# Build script
mkdir ${gattlib_py_package_dir}/ci/
cp -r ${ROOT_PATH}/ci/install-bluez.sh ${gattlib_py_package_dir}/ci/

# Create MANIFEST.in
cat <<EOT >> MANIFEST.in
graft common
Expand All @@ -34,13 +38,13 @@ include CrossCompilation.cmake
EOT

# Install requirements
python3 -m pip install wheel
python3 -m pip --disable-pip-version-check install cibuildwheel==2.16.5

# Generate packages
pushd ${gattlib_py_package_dir}

# Binary package
python3 setup.py bdist_wheel
python3 -m cibuildwheel --output-dir dist

# Source package
python setup.py sdist
Expand Down
25 changes: 25 additions & 0 deletions ci/install-bluez.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

# Exit immediately if a command exits with a non-zero status.
set -ex

# Install dependencies
yum -y install wget dbus-devel

#
#
#
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xz
tar -xf bluez-5.66.tar.xz
pushd bluez-5.66
./configure --prefix=/usr/local --disable-obex --disable-udev --disable-cups --disable-client --disable-manpages --disable-tools \
--disable-obex --disable-monitor --disable-hog --disable-hid --disable-network --disable-a2dp --disable-avrcp --disable-bap \
--disable-mcp --disable-vcp --enable-library
make
make install
popd
rm -Rf bluez-5.66

#find / -name '*.pc'
#find / -name 'bluez.pc' || true
pkg-config --debug --list-all

0 comments on commit a892ab4

Please sign in to comment.