Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ jobs:
environment-name: sdist_env
create-args: >-
python-build
twine
twine>=1.12
cython
proj=${{ matrix.proj-version }}
proj=${{ env.PROJ_VERSION }}


- name: Make sdist
Expand Down Expand Up @@ -141,6 +141,10 @@ jobs:
env:
CIBW_ENABLE: cpython-freethreading
CIBW_ARCHS: ${{ matrix.arch }}
# Skip free-threaded Python builds due to segfault in Cython extension during tests
# Affects both Linux aarch64 and macOS x86_64 - likely Cython free-threading issue
# See: https://github.com/cython/cython/issues/6221
CIBW_SKIP: "*t-*"
CIBW_ENVIRONMENT_LINUX:
PROJ_WHEEL=true
PROJ_NETWORK=ON
Expand All @@ -159,7 +163,10 @@ jobs:
PROJ_NETWORK=ON
PROJ_VERSION=${{ env.PROJ_VERSION }}
PROJ_DIR=$VCPKG_INSTALLATION_ROOT/installed/${{ matrix.triplet }}
CIBW_BEFORE_BUILD_WINDOWS: "python -m pip install delvewheel"
# Rename Git's link.exe to avoid conflict with MSVC link.exe (meson issue)
CIBW_BEFORE_BUILD_WINDOWS: >
python -m pip install delvewheel &&
if exist "C:\Program Files\Git\usr\bin\link.exe" (rename "C:\Program Files\Git\usr\bin\link.exe" "link.exe.bak")
# Add Windows System32 explicitly to the path https://github.com/adang1345/delvewheel/issues/54
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --add-path C:/Windows/System32 --add-path C:/vcpkg/installed/${{ matrix.triplet }}/bin -w {dest_dir} {wheel}"
CIBW_BEFORE_ALL_LINUX: bash ./ci/proj-compile-wheels.sh
Expand Down
10 changes: 9 additions & 1 deletion ci/proj-compile-wheels.sh
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,14 @@ function build_proj {
suppress get_modern_cmake
fetch_unpack https://download.osgeo.org/proj/proj-${PROJ_VERSION}.tar.gz
suppress build_curl_ssl
# Detect number of CPU cores (cross-platform)
if command -v nproc &> /dev/null; then
NPROC=$(nproc)
elif command -v sysctl &> /dev/null; then
NPROC=$(sysctl -n hw.ncpu)
else
NPROC=2
fi
(cd proj-${PROJ_VERSION:0:5} \
&& cmake . \
-DCMAKE_INSTALL_PREFIX=$PROJ_DIR \
Expand All @@ -308,7 +316,7 @@ function build_proj {
-DBUILD_TESTING:BOOL=OFF \
-DCMAKE_PREFIX_PATH=$BUILD_PREFIX \
-DCMAKE_INSTALL_LIBDIR=lib \
&& cmake --build . -j$(nproc) \
&& cmake --build . -j${NPROC} \
&& cmake --install .)
touch proj-stamp
}
Expand Down
6 changes: 5 additions & 1 deletion test/test_transformer.py
Original file line number Diff line number Diff line change
Expand Up @@ -977,7 +977,11 @@ def test_transformer_group__get_transform_crs():
if grids_available(
"nl_nsgi_nlgeo2018.tif", "nl_nsgi_rdtrans2018.tif", check_all=True
):
assert len(tg.transformers) == 2
if PROJ_GTE_980:
# Newer proj includes additional transformations
assert len(tg.transformers) == 3
else:
assert len(tg.transformers) == 2
elif PROJ_GTE_980:
# Newer proj includes additional transformations
assert len(tg.transformers) == 3
Expand Down
Loading