8080 name : artifact-pygeodiff-windows
8181 path : ./pygeodiff-binaries/*.pyd
8282
83- build_macos_binary :
83+ build_macos_binaries :
8484 name : Extract geodiff binary macos
8585 runs-on : macos-latest
86- env :
87- PY_PLATFORM : " macosx_10_9_x86_64"
8886 steps :
8987 - uses : actions/setup-python@v4
9088 name : Install Python
@@ -93,14 +91,16 @@ jobs:
9391 run : |
9492 brew install unzip
9593
96- - name : Download pygeodiff binaries
94+ - name : Download pygeodiff binaries (Intel)
95+ env :
96+ PY_PLATFORM : " macosx_10_9_x86_64"
9797 run : |
9898 pip3 download --only-binary=:all: --no-deps --platform ${PY_PLATFORM} --python-version ${PYTHON_VER} --implementation cp --abi cp${PYTHON_VER} pygeodiff==$GEODIFF_VER
9999 unzip -o pygeodiff-$GEODIFF_VER-cp${PYTHON_VER}-cp${PYTHON_VER}-${PY_PLATFORM}.whl -d tmp
100100 mkdir pygeodiff-binaries
101101 cp tmp/pygeodiff/*.dylib ./pygeodiff-binaries/
102102
103- - name : Patching pygeodiff binaries
103+ - name : Patching pygeodiff binaries (Intel)
104104 run : |
105105 install_name_tool -change @loader_path/.dylibs/libsqlite3.0.dylib @rpath/libsqlite3.dylib ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-python.dylib
106106 OTOOL_L=$(otool -L ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-python.dylib)
@@ -110,13 +110,32 @@ jobs:
110110 exit 1
111111 fi
112112
113+ - name : Download pygeodiff binaries (arm64)
114+ env :
115+ PY_PLATFORM : " macosx_14_0_arm64"
116+ run : |
117+ pip3 download --only-binary=:all: --no-deps --platform ${PY_PLATFORM} --python-version ${PYTHON_VER} --implementation cp --abi cp${PYTHON_VER} pygeodiff==$GEODIFF_VER
118+ unzip -o pygeodiff-$GEODIFF_VER-cp${PYTHON_VER}-cp${PYTHON_VER}-${PY_PLATFORM}.whl -d tmp
119+ mkdir pygeodiff-binaries
120+ cp tmp/pygeodiff/*.dylib ./pygeodiff-binaries/
121+
122+ - name : Patching pygeodiff binaries (arm64)
123+ run : |
124+ install_name_tool -change @loader_path/.dylibs/libsqlite3.0.dylib @rpath/libsqlite3.dylib ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-arm64-python.dylib
125+ OTOOL_L=$(otool -L ./pygeodiff-binaries/libpygeodiff-$GEODIFF_VER-arm64-python.dylib)
126+ if echo "${OTOOL_L}" | grep -q loader_path
127+ then
128+ echo "libpygeodiff-$GEODIFF_VER-arm64-python.dylib was not patched correctly, maybe sqlite version changed??"
129+ exit 1
130+ fi
131+
113132 - uses : actions/upload-artifact@v4
114133 with :
115134 name : artifact-pygeodiff-macos
116135 path : ./pygeodiff-binaries/*.dylib
117136
118137 create_mergin_plugin_package :
119- needs : [build_windows_binaries, build_linux_binary, build_macos_binary ]
138+ needs : [build_windows_binaries, build_linux_binary, build_macos_binaries ]
120139 runs-on : ubuntu-latest
121140 steps :
122141 - uses : actions/checkout@v3
0 commit comments