Skip to content

Commit c1fb95e

Browse files
committed
force_so
1 parent 8f45d0e commit c1fb95e

2 files changed

Lines changed: 35 additions & 17 deletions

File tree

.github/workflows/build_wheels.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,29 @@ jobs:
314314
exit 1
315315
fi
316316
echo "Installing wheel: $WHEEL_FILE"
317-
python -m pip install $WHEEL_FILE
317+
python -m pip install $WHEEL_FILE --verbose
318+
319+
- name: Force extensions to correct locations after install
320+
run: |
321+
# Find the installed package location
322+
SITE_PACKAGES=$(python -c "import site; print(site.getsitepackages()[0])")
323+
324+
# Create directories if they don't exist
325+
mkdir -p $SITE_PACKAGES/sparse_numba/sparse_superlu
326+
mkdir -p $SITE_PACKAGES/sparse_numba/sparse_umfpack
327+
328+
# Find and copy the extension files from the wheel
329+
WHEEL_FILE=$(ls wheelhouse/sparse_numba-*-cp${PYTHON_VERSION_NO_DOT}-*-${{ matrix.wheel-suffix }}.whl | head -n 1)
330+
TMP_DIR=$(mktemp -d)
331+
unzip -o $WHEEL_FILE -d $TMP_DIR
332+
333+
# Copy extensions to the site-packages directory
334+
find $TMP_DIR -name "cy_*wrapper*.so" -exec cp {} $SITE_PACKAGES/sparse_numba/sparse_superlu/ \;
335+
find $TMP_DIR -name "cy_*wrapper*.so" -exec cp {} $SITE_PACKAGES/sparse_numba/sparse_umfpack/ \;
336+
337+
# Check if files were copied
338+
ls -la $SITE_PACKAGES/sparse_numba/sparse_superlu/
339+
ls -la $SITE_PACKAGES/sparse_numba/sparse_umfpack/
318340

319341
# - name: Run extension diagnostics
320342
# run: |

setup.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -413,35 +413,31 @@ def run(self):
413413
package_data['sparse_numba'] = [
414414
'vendor/superlu/bin/*.dll',
415415
'vendor/openblas/bin/*.dll',
416-
'**/*.pyd', # For Windows
417-
'sparse_superlu/*.py',
418416
'sparse_superlu/*.pyd',
419-
'sparse_superlu/test/*.py',
420-
'sparse_umfpack/*.py',
421417
'sparse_umfpack/*.pyd',
422-
'sparse_umfpack/test/*.py'
418+
'sparse_superlu/test/*.py',
419+
'sparse_umfpack/test/*.py',
420+
'conversion/*.py'
423421
]
424422
elif IS_LINUX:
425423
package_data['sparse_numba'] = [
426-
'**/*.so', # Include all .so files
427-
'sparse_superlu/*.py',
428424
'sparse_superlu/*.so',
429-
'sparse_superlu/test/*.py',
430-
'sparse_umfpack/*.py',
425+
'sparse_superlu/cy_superlu_wrapper*.so', # More specific pattern
431426
'sparse_umfpack/*.so',
432-
'sparse_umfpack/test/*.py'
427+
'sparse_umfpack/cy_umfpack_wrapper*.so', # More specific pattern
428+
'sparse_superlu/test/*.py',
429+
'sparse_umfpack/test/*.py',
430+
'conversion/*.py'
433431
]
434432
elif IS_MACOS:
435433
package_data['sparse_numba'] = [
436-
'**/*.so', # Include all .so files
437-
'sparse_superlu/*.py',
438434
'sparse_superlu/*.so',
439-
'sparse_superlu/test/*.py',
440435
'sparse_superlu/*.dylib',
441-
'sparse_umfpack/*.py',
442436
'sparse_umfpack/*.so',
443-
'sparse_umfpack/test/*.py'
444-
'sparse_umfpack/*.dylib'
437+
'sparse_umfpack/*.dylib',
438+
'sparse_superlu/test/*.py',
439+
'sparse_umfpack/test/*.py',
440+
'conversion/*.py'
445441
]
446442

447443
# Setup configuration

0 commit comments

Comments
 (0)