Skip to content

Build Linux wheels exiv2 0.28 #22

Build Linux wheels exiv2 0.28

Build Linux wheels exiv2 0.28 #22

name: Build Linux wheels exiv2 0.28
on: workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Fetch Exiv2 source
run: >
wget -nv
https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.3.tar.gz
-O exiv2.tar.gz
- name: Extract Exiv2 source
run: |
tar -xzf exiv2.tar.gz
mv exiv2-0.28.3 libexiv2
- name: Download inih
run: >
wget -nv
https://github.com/benhoyt/inih/archive/r58/inih-r58.tar.gz
-O inih.tar.gz
- name: Extract inih source
run: |
tar -xzf inih.tar.gz
mv inih-r58 inih
- name: Build wheels
uses: pypa/cibuildwheel@v2.16.5
env:
CIBW_ARCHS: auto64
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
CIBW_ENVIRONMENT: EXIV2_ROOT=libexiv2/build-linux-release/install
CIBW_BUILD: cp*-manylinux_x86_64
CIBW_TEST_COMMAND: >
python3 -m exiv2 -v &&
python3 -m unittest discover {project}/tests -v
CIBW_BEFORE_ALL: >
yum install -y --nogpgcheck zlib-devel expat-devel gettext-devel
libcurl-devel brotli-devel meson &&
localedef -c -i de_DE -f UTF-8 de_DE.UTF-8 &&
pip install ninja &&
cd inih && mkdir build && cd build &&
meson setup --prefix=/usr --buildtype=release .. &&
ninja && ninja install &&
cd ../../libexiv2 &&
cmake --preset linux-release
-D CONAN_AUTO_INSTALL=OFF
-D EXIV2_BUILD_SAMPLES=OFF
-D EXIV2_BUILD_UNIT_TESTS=OFF
-D EXIV2_ENABLE_NLS=ON
-D EXIV2_ENABLE_FILESYSTEM_ACCESS=ON
-D EXIV2_BUILD_EXIV2_COMMAND=OFF
-D EXIV2_TEAM_WARNINGS_AS_ERRORS=OFF &&
cmake --build build-linux-release --config Release &&
cmake --install build-linux-release --config Release
- name: Store results
uses: actions/upload-artifact@v4
with:
name: linux-28-wheels
path: wheelhouse/*.whl