Skip to content

Commit b8b9971

Browse files
authored
Merge pull request #267 from thewtex/scikit-build-core
Scikit build core
2 parents 8b047b0 + c625367 commit b8b9971

26 files changed

+588
-506
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ lib
4343
lib64
4444
MANIFEST
4545
oneTBB-prefix/
46+
pyproject.toml
4647

4748
# Installer logs
4849
pip-log.txt

CMakeLists.txt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ if(ITKPythonPackage_SUPERBUILD)
4848
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
4949
)
5050
endif()
51+
set(ep_download_extract_timestamp_arg )
52+
if(CMAKE_VERSION VERSION_EQUAL "3.24" OR CMAKE_VERSION VERSION_GREATER "3.24")
53+
# See https://cmake.org/cmake/help/latest/policy/CMP0135.html
54+
set(ep_download_extract_timestamp_arg DOWNLOAD_EXTRACT_TIMESTAMP 1)
55+
endif()
5156

5257
#-----------------------------------------------------------------------------
5358
# Options
@@ -89,8 +94,8 @@ if(ITKPythonPackage_SUPERBUILD)
8994

9095
set(ITK_REPOSITORY "https://github.com/InsightSoftwareConsortium/ITK.git")
9196

92-
# ITK release 2023-10-11
93-
set(ITK_GIT_TAG "v5.4rc02")
97+
# master branch, 2024-04-04
98+
set(ITK_GIT_TAG "4449a99921a72ac6ceb4f8fa4521c6b6db6cbfe1")
9499

95100
#-----------------------------------------------------------------------------
96101
# A separate project is used to download ITK, so that it can reused
@@ -124,6 +129,7 @@ if(ITKPythonPackage_SUPERBUILD)
124129
-DCMAKE_INSTALL_LIBDIR:STRING=lib # Skip default initialization by GNUInstallDirs CMake module
125130
${ep_common_cmake_cache_args}
126131
${tbb_cmake_cache_args}
132+
${ep_download_extract_timestamp_arg}
127133
-DCMAKE_BUILD_TYPE:STRING=Release
128134
BUILD_BYPRODUCTS "${TBB_DIR}/TBBConfig.cmake"
129135
USES_TERMINAL_DOWNLOAD 1
@@ -276,18 +282,14 @@ if(ITKPythonPackage_SUPERBUILD)
276282
-DWRAP_ITK_INSTALL_COMPONENT_PER_MODULE:BOOL=${install_component_per_module}
277283
-DITK_LEGACY_SILENT:BOOL=ON
278284
-DITK_WRAP_PYTHON:BOOL=ON
279-
-DITK_WRAP_unsigned_short:BOOL=ON
280-
-DITK_WRAP_double:BOOL=ON
281-
-DITK_WRAP_complex_double:BOOL=ON
282-
-DITK_WRAP_IMAGE_DIMS:STRING=2;3;4
283-
-DITK_WRAP_DOC:BOOL=ON
284285
-DDOXYGEN_EXECUTABLE:FILEPATH=${DOXYGEN_EXECUTABLE}
285286
-DPython3_INCLUDE_DIR:PATH=${Python3_INCLUDE_DIR}
286287
-DPython3_LIBRARY:FILEPATH=${Python3_LIBRARY}
287288
-DPython3_EXECUTABLE:FILEPATH=${Python3_EXECUTABLE}
288289
${ep_common_cmake_cache_args}
289290
${tbb_args}
290291
${ep_itk_cmake_cache_args}
292+
${ep_download_extract_timestamp_arg}
291293
USES_TERMINAL_DOWNLOAD 1
292294
USES_TERMINAL_UPDATE 1
293295
USES_TERMINAL_CONFIGURE 1

MANIFEST.in

Lines changed: 0 additions & 8 deletions
This file was deleted.

itk/__init__.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

itkVersion.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = '5.4rc2'
1+
VERSION = '5.4rc3'
22

33
def get_versions():
44
"""Returns versions for the ITK Python package.

requirements-dev.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1-
ninja==1.11.1
2-
scikit-build==0.17.6
1+
ninja==1.11.1.1
2+
scikit-build-core==0.8.2
3+
build==1.2.1
4+
pyproject-metadata
5+
pathspec

scripts/dockcross-manylinux-build-module-wheels.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@
4949
# Handle case where the script directory is not the working directory
5050
script_dir=$(cd $(dirname $0) || exit 1; pwd)
5151
source "${script_dir}/dockcross-manylinux-set-vars.sh"
52+
source "${script_dir}/oci_exe.sh"
53+
54+
oci_exe=$(ociExe)
5255

5356
if [[ -n ${ITK_MODULE_PREQ} ]]; then
5457
echo "Building module dependencies ${ITK_MODULE_PREQ}"
@@ -81,14 +84,14 @@ if [[ "${TARGET_ARCH}" = "aarch64" ]]; then
8184
docker_prefix="sudo"
8285
fi
8386

84-
${docker_prefix} docker run --privileged --rm tonistiigi/binfmt --install all
87+
${docker_prefix} $oci_exe run --privileged --rm tonistiigi/binfmt --install all
8588

8689
# Build wheels
8790
DOCKER_ARGS+=" -v $(pwd):/work/ --rm"
88-
${docker_prefix} docker run $DOCKER_ARGS ${CONTAINER_SOURCE} "/ITKPythonPackage/scripts/internal/manylinux-aarch64-build-module-wheels.sh" "$@"
91+
${docker_prefix} $oci_exe run $DOCKER_ARGS ${CONTAINER_SOURCE} "/ITKPythonPackage/scripts/internal/manylinux-aarch64-build-module-wheels.sh" "$@"
8992
else
9093
# Generate dockcross scripts
91-
docker run --rm ${CONTAINER_SOURCE} > /tmp/dockcross-manylinux-x64
94+
$oci_exe run --rm ${CONTAINER_SOURCE} > /tmp/dockcross-manylinux-x64
9295
chmod u+x /tmp/dockcross-manylinux-x64
9396

9497
# Build wheels

scripts/dockcross-manylinux-build-tarball.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ fi
4141
tar -c --to-stdout \
4242
ITKPythonPackage/ITK-* \
4343
ITKPythonPackage/oneTBB* \
44+
ITKPythonPackage/requirements-dev.txt \
4445
ITKPythonPackage/scripts > ITKPythonBuilds-linux.tar
4546
$zstd_exe -f \
4647
-10 \

scripts/dockcross-manylinux-build-wheels.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,26 @@
1717
# export IMAGE_TAG=20221205-459c9f0
1818
# scripts/dockcross-manylinux-build-module-wheels.sh cp39
1919
#
20+
script_dir=$(cd $(dirname $0) || exit 1; pwd)
21+
source "${script_dir}/oci_exe.sh"
22+
23+
oci_exe=$(ociExe)
2024

2125
MANYLINUX_VERSION=${MANYLINUX_VERSION:=_2_28}
2226

2327
if [[ ${MANYLINUX_VERSION} == _2_28 ]]; then
24-
IMAGE_TAG=${IMAGE_TAG:=20230926-9eb419c}
28+
IMAGE_TAG=${IMAGE_TAG:=20240304-9e57d2b}
2529
elif [[ ${MANYLINUX_VERSION} == 2014 ]]; then
26-
IMAGE_TAG=${IMAGE_TAG:=20230926-9eb419c}
30+
IMAGE_TAG=${IMAGE_TAG:=20240304-9e57d2b}
2731
else
2832
echo "Unknown manylinux version ${MANYLINUX_VERSION}"
2933
exit 1;
3034
fi
3135

3236
# Generate dockcross scripts
33-
docker run --rm dockcross/manylinux${MANYLINUX_VERSION}-x64:${IMAGE_TAG} > /tmp/dockcross-manylinux-x64
37+
$oci_exe run --rm docker.io/dockcross/manylinux${MANYLINUX_VERSION}-x64:${IMAGE_TAG} > /tmp/dockcross-manylinux-x64
3438
chmod u+x /tmp/dockcross-manylinux-x64
3539

36-
script_dir=$(cd $(dirname $0) || exit 1; pwd)
37-
3840
# Build wheels
3941
pushd $script_dir/..
4042
mkdir -p dist

scripts/dockcross-manylinux-set-vars.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ TARGET_ARCH=${TARGET_ARCH:=x64}
3939

4040
# Specialized manylinux image tag to use for building.
4141
if [[ ${MANYLINUX_VERSION} == _2_28 && ${TARGET_ARCH} == x64 ]]; then
42-
IMAGE_TAG=${IMAGE_TAG:=20230926-9eb419c}
42+
IMAGE_TAG=${IMAGE_TAG:=20240304-9e57d2b}
4343
elif [[ ${MANYLINUX_VERSION} == _2_28 && ${TARGET_ARCH} == aarch64 ]]; then
44-
IMAGE_TAG=${IMAGE_TAG:=2022-11-19-1b19e81}
44+
IMAGE_TAG=${IMAGE_TAG:=2024-03-25-9206bd9}
4545
elif [[ ${MANYLINUX_VERSION} == 2014 ]]; then
46-
IMAGE_TAG=${IMAGE_TAG:=20230926-9eb419c}
46+
IMAGE_TAG=${IMAGE_TAG:=20240304-9e57d2b}
4747
else
4848
echo "Unknown manylinux version ${MANYLINUX_VERSION}"
4949
exit 1;
@@ -52,7 +52,7 @@ fi
5252
# Set container for requested version/arch/tag.
5353
if [[ ${TARGET_ARCH} == x64 ]]; then
5454
MANYLINUX_IMAGE_NAME=${MANYLINUX_IMAGE_NAME:="manylinux${MANYLINUX_VERSION}-${TARGET_ARCH}:${IMAGE_TAG}"}
55-
CONTAINER_SOURCE="dockcross/${MANYLINUX_IMAGE_NAME}"
55+
CONTAINER_SOURCE="docker.io/dockcross/${MANYLINUX_IMAGE_NAME}"
5656
elif [[ ${TARGET_ARCH} == aarch64 ]]; then
5757
MANYLINUX_IMAGE_NAME=${MANYLINUX_IMAGE_NAME:="manylinux${MANYLINUX_VERSION}_${TARGET_ARCH}:${IMAGE_TAG}"}
5858
CONTAINER_SOURCE="quay.io/pypa/${MANYLINUX_IMAGE_NAME}"

0 commit comments

Comments
 (0)