<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7ec092d6502205566f164650dbbd8b0edf84cd76">https://github.com/macports/macports-ports/commit/7ec092d6502205566f164650dbbd8b0edf84cd76</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 7ec092d6502 InsightToolkit4: new port based on InsightToolkit-devel, pinned on v4
</span>7ec092d6502 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7ec092d6502205566f164650dbbd8b0edf84cd76
</span>Author: nilason <n_larsson@yahoo.com>
AuthorDate: Tue Sep 12 12:00:12 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    InsightToolkit4: new port based on InsightToolkit-devel, pinned on v4
</span>---
 graphics/InsightToolkit4/Portfile                  | 166 +++++++++++++++++++++
 .../InsightToolkit4/files/patch-findpython.diff    |  91 +++++++++++
 .../InsightToolkit4/files/patch-python3.10.diff    |  47 ++++++
 .../InsightToolkit4/files/patch-python3.8.diff     |  90 +++++++++++
 .../files/patch-swigpy-sliceobject.diff            |  18 +++
 5 files changed, 412 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/InsightToolkit4/Portfile b/graphics/InsightToolkit4/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..59df0dcaf18
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/InsightToolkit4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,166 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           conflicts_build 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                InsightToolkit4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        InsightSoftwareConsortium ITK 4.13.3 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          graphics science devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Apache
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts_build     InsightToolkit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {yahoo.com:n_larsson @nilason} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Insight Segmentation and Registration Toolkit (ITK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description} is an open-source, cross-platform system that \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    provides developers with an extensive suite of software tools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    for image analysis. Developed through extreme programming \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    methodologies, ITK builds on a proven, spatially-oriented \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    architecture for processing, segmentation, and registration \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    of scientific images in two, three, or more dimensions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://itk.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            InsightToolkit-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir         InsightToolkit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  e3564ec4c7f6395b2bce9bc30f6008f55c5d7e65 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  edd2770aaf76e0e9b0aeb089cdf8774f46ebb2c9a74287608bb43c81134ebf16 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    19345356
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# find out include dir for "mpi.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mpl_include_dir ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![catch {set result [active_variants hdf5 openmpi]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set mpl_include_dir "-I${prefix}/include/openmpi-mp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![catch {set result [active_variants hdf5 mpich]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$result} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set mpl_include_dir "-I${prefix}/include/mpich-mp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$mpl_include_dir ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append ${mpl_include_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard  2014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# setting cmake.set_cxx_standard is not passed to the SWIG Python build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-append -std=gnu++14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-python3.8.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-python3.10.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-swigpy-sliceobject.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  path:include/turbojpeg.h:libjpeg-turbo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:dcmtk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:double-conversion \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:expat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:fftw-3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:fftw-3-single \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gdcm \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gtest \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:hdf5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libaec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libminc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libpng \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:tiff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_SHARED_LIBS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DBUILD_TESTING=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib/itk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_FORBID_DOWNLOADS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_INSTALL_LIBRARY_DIR=${prefix}/lib/itk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_FFTWD=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_FFTWF=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_GPU=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_KWSTYLE=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_DCMTK=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_DOUBLECONVERSION=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_EXPAT=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_FFTW=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_GDCM=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_JPEG=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_LIBRARIES=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_MINC=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_PNG=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_TIFF=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_VXL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_USE_SYSTEM_ZLIB=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_WRAPPING=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DITK_WRAP_PYTHON=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DUSE_FFTWF=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.livecheck.regex {(4\.[^\"]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# create Python subports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_versions {310 311}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v ${python_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py${v}-${name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        PortGroup           python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        categories          graphics science devel python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   patch-findpython.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:castxml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:swig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            port:swig-python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append  port:${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        use_configure       yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.default_version  ${v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.pep517       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.cmd           make
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.cmd        make install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.destdir    DESTDIR=${destroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        master_sites        ${github.master_sites}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fs-traverse f ${worksrcpath} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[file extension ${f}] eq ".py"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    reinplace -q "s|/usr/bin/env python|${python.bin}|" ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Python bindings for supported Python versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match "py*" ${subport}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description            Python ${python.branch} bindings for {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description       This package provides {*}${description}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DITK_USE_SYSTEM_CASTXML=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DITK_USE_SYSTEM_SWIG=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DModule_BridgeNumPy=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DPY_SITE_PACKAGES_PATH=${python.pkgd} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DPython_EXECUTABLE=${python.bin} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DPYTHON_INCLUDE_DIRS=${python.include}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DITK_WRAPPING=OFF    -DITK_WRAPPING=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            -DITK_WRAP_PYTHON=OFF -DITK_WRAP_PYTHON=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${prefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/InsightToolkit4/files/patch-findpython.diff b/graphics/InsightToolkit4/files/patch-findpython.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3bcd5a9a93a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/InsightToolkit4/files/patch-findpython.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,91 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Replace find_package(PythonInterp) with find_package(Python) to be able to pinpoint Python root.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/ThirdParty/GoogleTest/src/itkgoogletest/googletest/cmake/internal_utils.cmake.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/ThirdParty/GoogleTest/src/itkgoogletest/googletest/cmake/internal_utils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -215,7 +215,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Sets PYTHONINTERP_FOUND and PYTHON_EXECUTABLE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(PythonInterp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(Python COMPONENTS Interpreter REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHON_EXECUTABLE "${Python_EXECUTABLE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHONINTERP_FOUND "${Python_Interpreter_FOUND}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # cxx_test_with_flags(name cxx_flags libs srcs...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMake/ITKModuleHeaderTest.cmake.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMake/ITKModuleHeaderTest.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This does not force the developer to install python to be able to build ITK.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The tests will simply not be run if python is unavailable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(PythonInterp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(Python COMPONENTS Interpreter REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHON_EXECUTABLE "${Python_EXECUTABLE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Improve performance of MSVC GUI, by reducing number of header tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set( MAXIMUM_NUMBER_OF_HEADERS_default 35 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,7 +31,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if( NOT ${_name}_THIRD_PARTY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AND EXISTS ${${_name}_SOURCE_DIR}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AND PYTHON_EXECUTABLE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      AND NOT (PYTHON_VERSION_STRING VERSION_LESS 2.6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AND NOT (${_name} STREQUAL ITKTestKernel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AND NOT (CMAKE_GENERATOR MATCHES "^Visual Studio 10.*"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMake/ITKModuleDoxygen.cmake.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMake/ITKModuleDoxygen.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # python is needed to verify the presence of the module name in the doxygen header
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Don't require it to not force the developers to install python to be able to build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ITK. The tests will simply not be run if python is not available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(PythonInterp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(Python COMPONENTS Interpreter REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHON_EXECUTABLE "${Python_EXECUTABLE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ macro( itk_module_doxygen _name )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Wrapping/Generators/Python/CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Wrapping/Generators/Python/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,18 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###############################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # configure python (find PythonInterp first, as of cmake 3.1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(PythonInterp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(ITKPythonLibs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# require at least python 2.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(PYTHON_VERSION_STRING VERSION_LESS 2.6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  message(WARNING "Python version less than 2.6: \"${PYTHON_VERSION_STRING}\".")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# check for version mismatch.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    AND NOT(PYTHON_VERSION_STRING VERSION_EQUAL PYTHONLIBS_VERSION_STRING))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  message(WARNING "Python executable (\"${PYTHON_VERSION_STRING}\") and library (\"${PYTHONLIBS_VERSION_STRING}\") version mismatch.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(Python COMPONENTS Interpreter REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHON_EXECUTABLE "${Python_EXECUTABLE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(NOT EXTERNAL_WRAP_ITK_PROJECT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CMAKE_DEPENDENT_OPTION(ITK_WRAP_PYTHON_LEGACY "Build Legacy Python support." ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Wrapping/Generators/SwigInterface/CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Wrapping/Generators/SwigInterface/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,7 +8,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###############################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Find python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(PythonInterp REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(Python COMPONENTS Interpreter REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHONINTERP_FOUND "${Python_Interpreter_FOUND}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PYTHON_EXECUTABLE "${Python_EXECUTABLE}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###############################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Build swig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/InsightToolkit4/files/patch-python3.10.diff b/graphics/InsightToolkit4/files/patch-python3.10.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1c92927600d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/InsightToolkit4/files/patch-python3.10.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Description: use collections.abc.Callable instead of collections.Callable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ This fixes failure to build from source with Python 3.10.  The issue is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ already fixed upstream in ITKv5, the patch is for the unmaintained ITKv4.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Étienne Mollier <emollier@debian.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008803
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Forwarded: not-needed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Last-Update: 2022-04-02
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/ThirdParty/pygccxml/src/pygccxml/declarations/scopedef.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/ThirdParty/pygccxml/src/pygccxml/declarations/scopedef.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,7 +7,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import warnings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-import collections
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import collections.abc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from . import algorithm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from . import templates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from . import declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -332,7 +332,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     @staticmethod
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _build_operator_function(name, function):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if isinstance(name, collections.Callable):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if isinstance(name, collections.abc.Callable):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -345,7 +345,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 return 'operator ' + sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 return 'operator' + sym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if isinstance(name, collections.Callable) and None is function:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if isinstance(name, collections.abc.Callable) and None is function:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             name = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if name:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if 'operator' not in name:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -368,7 +368,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     @staticmethod
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def __normalize_args(**keywds):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """implementation details"""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if isinstance(keywds['name'], collections.Callable) and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if isinstance(keywds['name'], collections.abc.Callable) and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 None is keywds['function']:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             keywds['function'] = keywds['name']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             keywds['name'] = None
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/InsightToolkit4/files/patch-python3.8.diff b/graphics/InsightToolkit4/files/patch-python3.8.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b78ae5b86e3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/InsightToolkit4/files/patch-python3.8.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,90 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Taken from https://salsa.debian.org/med-team/insighttoolkit/-/blob/itk-4.y/debian/patches/python3.8.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/ThirdParty/pygccxml/src/pygccxml/declarations/scopedef.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/ThirdParty/pygccxml/src/pygccxml/declarations/scopedef.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -293,7 +293,7 @@ class scopedef_t(declaration.declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if self.name == '::':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             self._logger.debug(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "preparing data structures for query optimizer - started")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        start_time = time.clock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        start_time = time.perf_counter()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.clear_optimizer()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -327,7 +327,7 @@ class scopedef_t(declaration.declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if self.name == '::':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             self._logger.debug((
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "preparing data structures for query optimizer - " +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "done( %f seconds ). "), (time.clock() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                "done( %f seconds ). "), (time.perf_counter() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._optimized = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     @staticmethod
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -475,7 +475,7 @@ class scopedef_t(declaration.declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _find_single(self, match_class, **keywds):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """implementation details"""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._logger.debug('find single query execution - started')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        start_time = time.clock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        start_time = time.perf_counter()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         norm_keywds = self.__normalize_args(**keywds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         decl_matcher = self.__create_matcher(match_class, **norm_keywds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         dtype = self.__findout_decl_type(match_class, **norm_keywds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -484,13 +484,13 @@ class scopedef_t(declaration.declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         found = matcher.get_single(decl_matcher, decls, False)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._logger.debug(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'find single query execution - done( %f seconds )',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            (time.clock() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            (time.perf_counter() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def _find_multiple(self, match_class, **keywds):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """implementation details"""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._logger.debug('find all query execution - started')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        start_time = time.clock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        start_time = time.perf_counter()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         norm_keywds = self.__normalize_args(**keywds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         decl_matcher = self.__create_matcher(match_class, **norm_keywds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         dtype = self.__findout_decl_type(match_class, **norm_keywds)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -502,7 +502,7 @@ class scopedef_t(declaration.declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._logger.debug('%d declaration(s) that match query', len(mfound))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._logger.debug(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             'find single query execution - done( %f seconds )',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            (time.clock() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            (time.perf_counter() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if not mfound and not allow_empty:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             raise RuntimeError(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "Multi declaration query returned 0 declarations.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/ThirdParty/pygccxml/src/pygccxml/parser/declarations_cache.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/ThirdParty/pygccxml/src/pygccxml/parser/declarations_cache.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -188,11 +188,11 @@ class file_cache_t(cache_base_t):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         cache_file_obj = open(file_name, 'rb')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             file_cache_t.logger.info('Loading cache file "%s".', file_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            start_time = time.clock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            start_time = time.perf_counter()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             cache = pickle.load(cache_file_obj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             file_cache_t.logger.debug(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "Cache file has been loaded in %.1f secs",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                (time.clock() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                (time.perf_counter() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             file_cache_t.logger.debug(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 "Found cache in file: [%s]  entries: %s",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 file_name, len(list(cache.keys())))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/ThirdParty/pygccxml/src/pygccxml/parser/project_reader.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/ThirdParty/pygccxml/src/pygccxml/parser/project_reader.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -316,11 +316,11 @@ class project_reader_t(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             namespaces.append(decls)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.logger.debug("Flushing cache... ")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        start_time = time.clock()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        start_time = time.perf_counter()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.__dcache.flush()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.logger.debug(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             "Cache has been flushed in %.1f secs",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            (time.clock() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            (time.perf_counter() - start_time))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         answer = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.logger.debug("Joining namespaces ...")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         for file_nss in namespaces:
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/InsightToolkit4/files/patch-swigpy-sliceobject.diff b/graphics/InsightToolkit4/files/patch-swigpy-sliceobject.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..da6c05bb461
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/InsightToolkit4/files/patch-swigpy-sliceobject.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Issue filed at https://github.com/InsightSoftwareConsortium/ITK/issues/3782
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Patch accepted upstreams with https://github.com/InsightSoftwareConsortium/ITK/commit/d2361b89fefb07b669b4cf67257fc3bf06afd9f5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Wrapping/Generators/Python/module_ext.i.in.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Wrapping/Generators/Python/module_ext.i.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10,9 +10,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <iostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PY_VERSION_HEX >= 0x03020000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define SWIGPY_SLICE_ARG(obj) ((PyObject*) (obj))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define SWIGPY_SLICEOBJECT PyObject
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define SWIGPY_SLICE_ARG(obj) ((PySliceObject*) (obj))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define SWIGPY_SLICEOBJECT PySliceObject
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>