public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2019-09-09  8:26 Horea Christian
  0 siblings, 0 replies; 8+ messages in thread
From: Horea Christian @ 2019-09-09  8:26 UTC (permalink / raw
  To: gentoo-commits

commit:     445eb95b61c9b12481b24f962123d0f13e940ab6
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Mon Sep  9 08:25:49 2019 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Mon Sep  9 08:25:49 2019 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=445eb95b

sci-libs/itk: version bump to 5.0.1

And removed deprecated versions on account of gccxml removal

Package-Manager: Portage-2.3.72, Repoman-2.3.17
Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 sci-libs/itk/files/ITKModuleRemote.patch           |  45 ++++++
 sci-libs/itk/files/tests.patch                     |  41 ++++++
 sci-libs/itk/itk-4.12.0.ebuild                     | 136 ------------------
 sci-libs/itk/itk-4.4.2-r1.ebuild                   | 135 ------------------
 sci-libs/itk/itk-4.4.2.ebuild                      | 115 ---------------
 sci-libs/itk/itk-4.5.1.ebuild                      | 155 ---------------------
 .../itk/{itk-5.0_rc1.ebuild => itk-5.0.1.ebuild}   |  50 +++++--
 sci-libs/itk/metadata.xml                          |   1 -
 8 files changed, 124 insertions(+), 554 deletions(-)

diff --git a/sci-libs/itk/files/ITKModuleRemote.patch b/sci-libs/itk/files/ITKModuleRemote.patch
new file mode 100644
index 000000000..eb130159a
--- /dev/null
+++ b/sci-libs/itk/files/ITKModuleRemote.patch
@@ -0,0 +1,45 @@
+Disable automatic git clone attempt for modules:
+https://github.com/InsightSoftwareConsortium/ITK/issues/1157
+
+--- a/CMake/ITKModuleRemote.cmake	2019-08-13 18:10:33.385472767 +0200
++++ b/CMake/ITKModuleRemote.cmake	2019-08-13 18:12:04.020198966 +0200
+@@ -165,39 +165,4 @@
+     set(Module_${_name} ON CACHE FORCE "${_description}")
+   endif()
+ 
+-  if(Module_${_name})
+-    itk_download_attempt_check(Module_${_name})
+-    include(CMakeParseArguments)
+-    cmake_parse_arguments(_fetch_options "" "GIT_REPOSITORY;GIT_TAG" "" ${ARGN})
+-    find_package(Git)
+-    if(NOT GIT_EXECUTABLE)
+-      message(FATAL_ERROR "error: could not find git for clone of ${_name}")
+-    endif()
+-    execute_process(
+-      COMMAND "${GIT_EXECUTABLE}" --version
+-      OUTPUT_VARIABLE ov
+-      OUTPUT_STRIP_TRAILING_WHITESPACE
+-      )
+-    string(REGEX REPLACE "^git version (.+)$" "\\1" _version "${ov}")
+-    if("${_version}" VERSION_LESS 1.6.6)
+-      message(FATAL_ERROR "Git version 1.6.6 or later is required.")
+-    endif()
+-
+-    set(REMOTE_GIT_TAG "${_fetch_options_GIT_TAG}")
+-
+-    if( DEFINED REMOTE_GIT_TAG_${_name} AND NOT "${REMOTE_GIT_TAG_${_name}}" STREQUAL "${_fetch_options_GIT_TAG}")
+-      set(REMOTE_GIT_TAG "${REMOTE_GIT_TAG_${_name}}")
+-      message(STATUS "NOTE: Using override 'REMOTE_GIT_TAG_${_name}=${REMOTE_GIT_TAG}'\n"
+-                     "      instead of value 'GIT_TAG=${_fetch_options_GIT_TAG}'\n"
+-                     "      specified in file ${ITK_SOURCE_DIR}/Modules/Remote/${_name}.remote.cmake'")
+-    endif()
+-    set(REMOTE_GIT_TAG_${_name} "${REMOTE_GIT_TAG}" CACHE STRING "Override default GIT_TAG value for remote module ${_name}")
+-    mark_as_advanced(REMOTE_GIT_TAG_${_name})
+-
+-    _fetch_with_git("${GIT_EXECUTABLE}"
+-      "${_fetch_options_GIT_REPOSITORY}"
+-      "${REMOTE_GIT_TAG}"
+-      "${ITK_SOURCE_DIR}/Modules/Remote/${_name}"
+-      )
+-  endif()
+ endfunction()

diff --git a/sci-libs/itk/files/tests.patch b/sci-libs/itk/files/tests.patch
new file mode 100644
index 000000000..c24714e4d
--- /dev/null
+++ b/sci-libs/itk/files/tests.patch
@@ -0,0 +1,41 @@
+Known to fail by upstream:
+https://github.com/InsightSoftwareConsortium/ITK/issues/1212#issuecomment-527998115
+
+--- a/Modules/Bridge/VtkGlue/test/CMakeLists.txt	2019-09-09 00:45:14.736032139 +0200
++++ b/Modules/Bridge/VtkGlue/test/CMakeLists.txt	2019-09-09 00:49:42.183935497 +0200
+@@ -7,8 +7,6 @@
+ if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
+   list(APPEND ITKVtkGlueTests
+     itkVtkMedianFilterTest.cxx
+-    itkVtkConnectedComponentImageFilterTest.cxx
+-    QuickViewTest.cxx
+     # ### runViewImage ###
+     # No test generated. Use it for view images (2D or 3D) with:
+     # ITKVtkGlueTestDriver runViewImage image_file
+@@ -40,26 +38,3 @@
+   NAME itkVTKImageToImageFilterTest
+   COMMAND ITKVtkGlueTestDriver
+     itkVTKImageToImageFilterTest)
+-
+-if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
+-  itk_add_test(
+-    NAME itkVtkMedianImageFilterTest
+-    COMMAND ITKVtkGlueTestDriver
+-      itkVtkMedianFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png} 2)
+-  set_property(TEST itkVtkMedianImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
+-
+-  itk_add_test(
+-    NAME QuickViewTest
+-    COMMAND ITKVtkGlueTestDriver
+-             --compare DATA{Baseline/QuickViewTest.png,:}
+-                       ${ITK_TEST_OUTPUT_DIR}/QuickViewTest0.png
+-             --compareNumberOfPixelsTolerance 1500
+-      QuickViewTest DATA{${ITK_DATA_ROOT}/Input/peppers.png} ${ITK_TEST_OUTPUT_DIR})
+-  set_property(TEST QuickViewTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
+-
+-  itk_add_test(
+-    NAME itkVtkConnectedComponentImageFilterTest
+-    COMMAND ITKVtkGlueTestDriver
+-      itkVtkConnectedComponentImageFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png})
+-  set_property(TEST itkVtkConnectedComponentImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
+-endif()

diff --git a/sci-libs/itk/itk-4.12.0.ebuild b/sci-libs/itk/itk-4.12.0.ebuild
deleted file mode 100644
index a9633748b..000000000
--- a/sci-libs/itk/itk-4.12.0.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils toolchain-funcs cmake-utils python-single-r1
-
-MYPN=InsightToolkit
-MYP=${MYPN}-${PV}
-DOC_PV=4.5.0
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="mirror://sourceforge/${PN}/${MYP}.tar.xz
-	doc? ( mirror://sourceforge/${PN}/Doxygen${MYPN}-${DOC_PV}.tar.gz )"
-RESTRICT="primaryuri"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc examples +fftw itkv3compat python review cpu_flags_x86_sse2 test vtkglue"
-
-RDEPEND="
-	dev-libs/double-conversion:0=
-	media-libs/libpng:0=
-	media-libs/tiff:0=
-	sci-libs/dcmtk:0=
-	sci-libs/hdf5:0=[cxx]
-	sys-libs/zlib:0=
-	virtual/jpeg:0=
-	fftw? ( sci-libs/fftw:3.0= )
-	vtkglue? ( sci-libs/vtk:0=[python?] )
-"
-DEPEND="${RDEPEND}
-	python? (
-		${PYTHON_DEPS}
-		>=dev-lang/swig-2.0:0
-		>=dev-cpp/gccxml-0.9.0_pre20120309
-	)
-	doc? ( app-doc/doxygen )
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=(
-	"${FILESDIR}/nrrdio-linking.patch"
-)
-
-get_memory() {
-	free --giga | grep Mem | cut -d ' ' -f 15 || die 'unable to get memory size'
-}
-
-src_configure() {
-	sed -i \
-		-e '/find_package/d' \
-		Modules/ThirdParty/DoubleConversion/CMakeLists.txt || die
-
-	local mycmakeargs=(
-		-DBUILD_SHARED_LIBS=ON
-		-DITK_USE_SYSTEM_DCMTK=ON
-		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_BUILD_DEFAULT_MODULES=ON
-		-DITK_COMPUTER_MEMORY_SIZE="$(get_memory)"
-		-DITK_WRAP_JAVA=OFF
-		-DITK_WRAP_TCL=OFF
-		-DBUILD_TESTING=$(usex test)
-		-DBUILD_EXAMPLES=$(usex examples)
-		-DITK_USE_REVIEW=$(usex review)
-		-DITKV3_COMPATIBILITY=$(usex itkv3compat)
-		-DVNL_CONFIG_ENABLE_SSE2=$(usex cpu_flags_x86_sse2)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_USE_SYSTEM_FFTW=ON
-			-DITK_WRAPPING=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use vtkglue; then
-		mycmakeargs+=(
-			-DModule_ITKVtkGlue=ON
-		)
-	fi
-	mycmakeargs+=(
-		-DITK_WRAP_PYTHON=$(usex python ON OFF)
-	)
-
-	cmake-utils_src_configure
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/examples
-		docompress -x /usr/share/doc/${PF}/examples
-		doins -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EROOT%/}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EROOT%/}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
-		ldpath="${ldpath}:${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
-	doenvd "${T}"/40${PN}
-
-	if use doc; then
-		insinto /usr/share/doc/${PF}/api-docs
-		cd "${WORKDIR}"/html
-		rm  *.md5 || die "Failed to remove superfluous hashes"
-		einfo "Installing API docs. This may take some time."
-		insinto /usr/share/doc/${PF}/api-docs
-		doins -r *
-	fi
-
-	mv "${D}/usr/lib" "${D}/usr/$(get_libdir)" || \
-		die 'unable to fix libdir'
-}

diff --git a/sci-libs/itk/itk-4.4.2-r1.ebuild b/sci-libs/itk/itk-4.4.2-r1.ebuild
deleted file mode 100644
index 93a03a5f8..000000000
--- a/sci-libs/itk/itk-4.4.2-r1.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils toolchain-funcs cmake-utils python-single-r1
-
-MYPN=InsightToolkit
-MYP=${MYPN}-${PV}
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="
-	mirror://sourceforge/${PN}/${MYP}.tar.gz
-	doc? ( mirror://sourceforge/${PN}/Doxygen${MYPN}-4.4.0.tar.gz )"
-RESTRICT="primaryuri"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc examples fftw itkv3compat python review cpu_flags_x86_sse2 test vtkglue"
-
-RDEPEND="
-	sci-libs/hdf5[cxx]
-	virtual/jpeg:0=
-	media-libs/libpng:0=
-	media-libs/tiff:0=
-	sys-libs/zlib
-	fftw? ( sci-libs/fftw:3.0 )
-	vtkglue? ( sci-libs/vtk )
-"
-DEPEND="${RDEPEND}
-	python? (
-		${PYTHON_DEPS}
-		>=dev-lang/swig-2.0:0
-		>=dev-cpp/gccxml-0.9.0_pre20120309
-	)
-	doc? ( app-doc/doxygen )
-"
-
-S="${WORKDIR}/${MYP}"
-
-pkg_pretend() {
-	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
-		elog "To tune ITK to make the best use ouf working memory you can set"
-		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
-		elog "in make.conf, default is 1 (unit is GB)"
-	fi
-	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
-		elog "For Python language bindings, you can define the dimensions"
-		elog "you want to create bindings for by setting"
-		elog "    ITK_WRAP_DIMS=X;Y;Z..."
-		elog "in make.conf, default is 2;3 for 2D and 3D data"
-	fi
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DWRAP_ITK_JAVA=OFF
-		-DWRAP_ITK_TCL=OFF
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_USE_SYSTEM_GCCXML=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_BUILD_ALL_MODULES=ON
-		-DBUILD_SHARED_LIBS=ON
-		-DBUILD_EXAMPLES=OFF
-		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
-		$(cmake-utils_use_build test TESTING)
-		$(cmake-utils_use review ITK_USE_REVIEW)
-		$(cmake-utils_use itkv3compat ITKV3_COMPATIBILITY)
-		$(cmake-utils_use cpu_flags_x86_sse2 VNL_CONFIG_ENABLE_SSE2)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use vtkglue; then
-		mycmakeargs+=(
-			-DModule_ITKVtkGlue=ON
-		)
-	fi
-	if use python; then
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=ON
-			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
-		)
-	else
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=OFF
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/examples
-		docompress -x /usr/share/doc/${PF}/examples
-		doins -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EROOT}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EROOT}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EROOT}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> ${T}/40${PN}
-		ldpath="${ldpath}:${EROOT}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> ${T}/40${PN}
-
-	if use doc; then
-		insinto "/usr/share/doc/${PF}/api-docs"
-		cd "${WORKDIR}"/html
-		rm -f *.md5 || die "Failed to remove superfluous hashes"
-		einfo "Installing API docs. This may take some time."
-		insinto "/usr/share/doc/${PF}/api-docs"
-		doins -r ./*
-	fi
-
-	doenvd "${T}"/40${PN}
-}

diff --git a/sci-libs/itk/itk-4.4.2.ebuild b/sci-libs/itk/itk-4.4.2.ebuild
deleted file mode 100644
index 2d3b9f961..000000000
--- a/sci-libs/itk/itk-4.4.2.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils toolchain-funcs cmake-utils python-single-r1
-
-MYP=InsightToolkit-${PV}
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="mirror://sourceforge/${PN}/${MYP}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug examples fftw itkv3compat python review cpu_flags_x86_sse2 test"
-
-RDEPEND="
-	sci-libs/hdf5[cxx]
-	virtual/jpeg:0=
-	media-libs/libpng:0=
-	media-libs/tiff:0=
-	sys-libs/zlib
-	fftw? ( sci-libs/fftw:3.0 )
-"
-DEPEND="${RDEPEND}
-	python? (
-		${PYTHON_DEPS}
-		>=dev-lang/swig-2.0:0
-		>=dev-cpp/gccxml-0.9.0_pre20120309
-	)
-"
-
-S="${WORKDIR}/${MYP}"
-
-pkg_pretend() {
-	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
-		elog "To tune ITK to make the best use ouf working memory you can set"
-		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
-		elog "in make.conf, default is 1 (unit is GB)"
-	fi
-	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
-		elog "For Python language bindings, you can define the dimensions"
-		elog "you want to create bindings for by setting"
-		elog "    ITK_WRAP_DIMS=X;Y;Z..."
-		elog "in make.conf, default is 2;3 for 2D and 3D data"
-	fi
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DWRAP_ITK_JAVA=OFF
-		-DWRAP_ITK_TCL=OFF
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_USE_SYSTEM_GCCXML=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_BUILD_ALL_MODULES=ON
-		-DBUILD_SHARED_LIBS=ON
-		-DBUILD_EXAMPLES=OFF
-		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
-		$(cmake-utils_use_build test TESTING)
-		$(cmake-utils_use review ITK_USE_REVIEW)
-		$(cmake-utils_use itkv3compat ITKV3_COMPATIBILITY)
-		$(cmake-utils_use cpu_flags_x86_sse2 VNL_CONFIG_ENABLE_SSE2)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use python; then
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=ON
-			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
-		)
-	else
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=OFF
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/examples
-		docompress -x /usr/share/doc/${PF}/examples
-		doins -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EROOT}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EROOT}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EROOT}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> ${T}/40${PN}
-		ldpath="${ldpath}:${EROOT}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> ${T}/40${PN}
-
-	doenvd "${T}"/40${PN}
-}

diff --git a/sci-libs/itk/itk-4.5.1.ebuild b/sci-libs/itk/itk-4.5.1.ebuild
deleted file mode 100644
index 199c03659..000000000
--- a/sci-libs/itk/itk-4.5.1.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils toolchain-funcs cmake-utils python-single-r1
-
-MYPN=InsightToolkit
-MYP=${MYPN}-${PV}
-DOC_PV=4.5.0
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="mirror://sourceforge/${PN}/${MYP}.tar.xz
-	doc? ( mirror://sourceforge/${PN}/Doxygen${MYPN}-${DOC_PV}.tar.gz )"
-RESTRICT="primaryuri"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc examples fftw itkv3compat python review cpu_flags_x86_sse2 test vtkglue"
-
-RDEPEND="
-	dev-libs/double-conversion:0=
-	media-libs/libpng:0=
-	media-libs/tiff:0=
-	sci-libs/dcmtk:0=
-	sci-libs/hdf5:0=[cxx]
-	sys-libs/zlib:0=
-	virtual/jpeg:0=
-	fftw? ( sci-libs/fftw:3.0= )
-	vtkglue? ( sci-libs/vtk:0=[python?] )
-"
-DEPEND="${RDEPEND}
-	python? (
-		${PYTHON_DEPS}
-		>=dev-lang/swig-2.0:0
-		>=dev-cpp/gccxml-0.9.0_pre20120309
-	)
-	doc? ( app-doc/doxygen )
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=(
-	"${FILESDIR}"/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch
-	"${FILESDIR}"/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch
-	"${FILESDIR}"/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch
-	"${FILESDIR}"/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch
-	"${FILESDIR}"/0005-make-gdcm-helper-library-static.patch
-	"${FILESDIR}"/nrrdio-linking.patch
-)
-
-pkg_pretend() {
-	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
-		elog "To tune ITK to make the best use of working memory you can set"
-		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
-		elog "in make.conf, default is 1 (unit is GB)"
-	fi
-	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
-		elog "For Python language bindings, you can define the dimensions"
-		elog "you want to create bindings for by setting"
-		elog "    ITK_WRAP_DIMS=X;Y;Z..."
-		elog "in make.conf, default is 2;3 for 2D and 3D data"
-	fi
-}
-
-src_configure() {
-	sed -i \
-		-e '/find_package/d' \
-		Modules/ThirdParty/DoubleConversion/CMakeLists.txt || die
-
-	local mycmakeargs=(
-		-DBUILD_SHARED_LIBS=ON
-		-DITK_USE_SYSTEM_DCMTK=ON
-		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
-		-DITK_USE_SYSTEM_GCCXML=ON
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_BUILD_DEFAULT_MODULES=ON
-		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
-		-DWRAP_ITK_JAVA=OFF
-		-DWRAP_ITK_TCL=OFF
-		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
-		-Ddouble-conversion_LIBRARIES="-ldouble-conversion"
-		$(cmake-utils_use_build test TESTING)
-		$(cmake-utils_use_build examples EXAMPLES)
-		$(cmake-utils_use review ITK_USE_REVIEW)
-		$(cmake-utils_use itkv3compat ITKV3_COMPATIBILITY)
-		$(cmake-utils_use cpu_flags_x86_sse2 VNL_CONFIG_ENABLE_SSE2)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use vtkglue; then
-		mycmakeargs+=(
-			-DModule_ITKVtkGlue=ON
-		)
-	fi
-	if use python; then
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=ON
-			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
-		)
-	else
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=OFF
-		)
-	fi
-	cmake-utils_src_configure
-}
-
-src_install() {
-	cmake-utils_src_install
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/examples
-		docompress -x /usr/share/doc/${PF}/examples
-		doins -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EROOT%/}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EROOT%/}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
-		ldpath="${ldpath}:${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
-	doenvd "${T}"/40${PN}
-
-	if use doc; then
-		insinto /usr/share/doc/${PF}/api-docs
-		cd "${WORKDIR}"/html
-		rm  *.md5 || die "Failed to remove superfluous hashes"
-		einfo "Installing API docs. This may take some time."
-		insinto /usr/share/doc/${PF}/api-docs
-		doins -r *
-	fi
-}

diff --git a/sci-libs/itk/itk-5.0_rc1.ebuild b/sci-libs/itk/itk-5.0.1.ebuild
similarity index 69%
rename from sci-libs/itk/itk-5.0_rc1.ebuild
rename to sci-libs/itk/itk-5.0.1.ebuild
index f6433e551..e1ec7166a 100644
--- a/sci-libs/itk/itk-5.0_rc1.ebuild
+++ b/sci-libs/itk/itk-5.0.1.ebuild
@@ -1,19 +1,26 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
-inherit eutils toolchain-funcs cmake-utils python-single-r1
+inherit toolchain-funcs cmake-utils python-single-r1
 
-MY_PV="5.0rc01"
+MY_PN="InsightToolkit"
+MY_P="${MY_PN}-${PV}"
+GLI_HASH="187ab99b7d42718c99e5017f0acd3900d7469bd1"
+GLI_TEST_HASH="57b5d5de8d777f10f269445a"
 
 DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
 HOMEPAGE="http://www.itk.org"
 SRC_URI="
-	https://github.com/InsightSoftwareConsortium/ITK/archive/v${MY_PV}.tar.gz
-	test? ( https://github.com/InsightSoftwareConsortium/ITK/releases/download/v5.0rc01/InsightData-${MY_PV}.tar.gz )
+	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
+	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.zip -> ITKGenericLabelInterpolator-${PV}.zip
+	test? (
+		https://data.kitware.com/api/v1/folder/${GLI_TEST_HASH}/download -> ITKGenericLabelInterpolator_test-${PV}.zip
+		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
+		)
 	"
 RESTRICT="primaryuri"
 
@@ -21,6 +28,9 @@ LICENSE="Apache-2.0"
 SLOT="0"
 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
 IUSE="debug doc examples fftw python review test vtkglue"
+# python will not work, this is a know issue upstream:
+# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
+# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
 
 RDEPEND="
 	dev-libs/double-conversion:0=
@@ -32,20 +42,25 @@ RDEPEND="
 	sys-libs/zlib:0=
 	virtual/jpeg:0=
 	fftw? ( sci-libs/fftw:3.0= )
-	vtkglue? ( sci-libs/vtk:0=[python?] )
+	vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
 "
 DEPEND="${RDEPEND}
+	sys-apps/coreutils
 	python? (
-		${PYTHON_DEPS}
 		>=dev-lang/swig-2.0:0
-		>=dev-cpp/gccxml-0.9.0_pre20120309
+		dev-cpp/castxml
 	)
 	doc? ( app-doc/doxygen )
 "
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
-S="${WORKDIR}/ITK-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}"/ITKModuleRemote.patch
+	"${FILESDIR}"/tests.patch
+)
 
 pkg_pretend() {
 	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
@@ -64,14 +79,23 @@ pkg_pretend() {
 src_prepare() {
 	sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
 		Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
-	default
+	ln -sr ../ITKGenericLabelInterpolator-* Modules/Remote/ITKGenericLabelInterpolator || die
+	if use test; then
+		for filename in ../GenericLabelInterpolator/test/*/*mha; do
+			MD5=$(md5sum $filename) || die
+			MD5=${MD5%  *} || die
+			cp "$filename" ".ExternalData/MD5/${MD5}" || die
+		done
+	fi
+	cmake-utils_src_prepare
 }
 
 src_configure() {
 	local mycmakeargs=(
 		-DBUILD_SHARED_LIBS=ON
-		-DITK_USE_SYSTEM_DCMTK=ON
 		-DGDCM_USE_SYSTEM_OPENJPEG=ON
+		-DITK_FORBID_DOWNLOADS:BOOL=OFF
+		-DITK_USE_SYSTEM_DCMTK=ON
 		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
 		-DITK_USE_SYSTEM_CASTXML=ON
 		-DITK_USE_SYSTEM_HDF5=ON
@@ -86,7 +110,9 @@ src_configure() {
 		-DWRAP_ITK_JAVA=OFF
 		-DWRAP_ITK_TCL=OFF
 		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
-		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${MY_PV}/.ExternalData"
+		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
+		-DModule_GenericLabelInterpolator:BOOL=ON
+		-DModule_ITKReview:BOOL=ON
 		-DBUILD_TESTING="$(usex test ON OFF)"
 		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
 		-DITK_USE_REVIEW="$(usex review ON OFF)"

diff --git a/sci-libs/itk/metadata.xml b/sci-libs/itk/metadata.xml
index 8485fb7e1..7c4535324 100644
--- a/sci-libs/itk/metadata.xml
+++ b/sci-libs/itk/metadata.xml
@@ -14,7 +14,6 @@ that provides developers with an extensive suite of tools for image
 analysis.
 </longdescription>
 	<use>
-		<flag name="itkv3compat">Enable compatibility with ITK version 3</flag>
 		<flag name="review">Enable compilation of methods under review</flag>
 		<flag name="vtkglue">PLEASE FIX MY DESCRIPTION</flag>
 	</use>


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2020-09-25  7:33 Horea Christian
  0 siblings, 0 replies; 8+ messages in thread
From: Horea Christian @ 2020-09-25  7:33 UTC (permalink / raw
  To: gentoo-commits

commit:     7112647657d76049ee42f5e2c86c05c2c1330760
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Fri Sep 25 07:33:20 2020 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Fri Sep 25 07:33:20 2020 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=71126476

sci-libs/itk: version bump 5.1.0

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 sci-libs/itk/files/itk-5.1.0-downloads.patch |  20 +++
 sci-libs/itk/itk-5.1.0.ebuild                | 188 +++++++++++++++++++++++++++
 2 files changed, 208 insertions(+)

diff --git a/sci-libs/itk/files/itk-5.1.0-downloads.patch b/sci-libs/itk/files/itk-5.1.0-downloads.patch
new file mode 100644
index 000000000..34fdb76d1
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.1.0-downloads.patch
@@ -0,0 +1,20 @@
+--- a/CMake/ITKDownloadSetup.cmake	2020-07-30 19:03:10.330325423 -0400
++++ b/CMake/ITKDownloadSetup.cmake	2020-07-30 19:03:10.330325423 -0400
+@@ -11,7 +11,7 @@
+
+ macro(itk_download_attempt_check _name)
+   if(ITK_FORBID_DOWNLOADS)
+-    message(SEND_ERROR "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
++    message(WARNING "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
+   endif()
+ endmacro()
+
+--- a/Modules/Remote/GenericLabelInterpolator.remote.cmake	2020-04-25 14:30:53.000000000 -0400
++++ b/Modules/Remote/GenericLabelInterpolator.remote.cmake	2020-04-25 14:30:53.000000000 -0400
+@@ -44,6 +44,4 @@
+ itk_fetch_module(GenericLabelInterpolator
+   "A generic interpolator for multi-label images."
+   MODULE_COMPLIANCE_LEVEL 2
+-  GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git
+-  GIT_TAG b95fe46c7f4fe8002af67c67e6fe4e1f087bf6b7
+   )

diff --git a/sci-libs/itk/itk-5.1.0.ebuild b/sci-libs/itk/itk-5.1.0.ebuild
new file mode 100644
index 000000000..64fd555cb
--- /dev/null
+++ b/sci-libs/itk/itk-5.1.0.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+
+inherit toolchain-funcs cmake python-single-r1
+
+MY_PN="InsightToolkit"
+MY_P="${MY_PN}-${PV}"
+GLI_HASH="a02cbeaf28cb3d28ac66b9ac651073530eb6ab78"
+TEST_HASH="0eb202e23ae81be123b1b26cf31a9ba743824700"
+declare -a GLI_TEST_HASHES=(
+	"a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
+	"bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
+)
+
+GLI_TEST_SRC=""
+for i in "${GLI_TEST_HASHES[@]}"; do
+	GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i} -> ${i} "
+done
+
+DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
+HOMEPAGE="http://www.itk.org"
+SRC_URI="
+	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
+	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.zip -> ITKGenericLabelInterpolator-${PV}.zip
+	test? (
+		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
+		https://github.com/InsightSoftwareConsortium/ITKTestingData/archive/${TEST_HASH}.tar.gz
+		${GLI_TEST_SRC}
+		)
+	"
+RESTRICT="primaryuri"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc examples fftw python review test vtkglue"
+# python will not work, this is a know issue upstream:
+# https://github.com/InsightSoftwareConsortium/ITK/issues/2005
+# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
+# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
+
+RDEPEND="
+	dev-libs/double-conversion:0=
+	media-libs/openjpeg:2
+	media-libs/libpng:0=
+	media-libs/tiff:0=[jpeg]
+	sci-libs/dcmtk:0=
+	sci-libs/hdf5:0=[cxx]
+	sys-libs/zlib:0=
+	virtual/jpeg:0=
+	fftw? ( sci-libs/fftw:3.0= )
+	vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
+"
+DEPEND="${RDEPEND}
+	sys-apps/coreutils
+	python? (
+		>=dev-lang/swig-2.0:0
+		dev-cpp/castxml
+	)
+	doc? ( app-doc/doxygen )
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}"/tests.patch
+	"${FILESDIR}"/${P}-downloads.patch
+)
+
+pkg_pretend() {
+	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
+		elog "To tune ITK to make the best use of working memory you can set"
+		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
+		elog "in make.conf, default is 1 (unit is GB)"
+	fi
+	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
+		elog "For Python language bindings, you can define the dimensions"
+		elog "you want to create bindings for by setting"
+		elog "    ITK_WRAP_DIMS=X;Y;Z..."
+		elog "in make.conf, default is 2;3 for 2D and 3D data"
+	fi
+}
+
+src_prepare() {
+	sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
+		Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
+	ln -sr ../ITKGenericLabelInterpolator-* Modules/External/ITKGenericLabelInterpolator || die
+	cmake_src_prepare
+	if use test; then
+		cp -rf "../ITKTestingData-${TEST_HASH}/"* ".ExternalData/" || die
+		mv "../ITKTestingData-${TEST_HASH}" "${BUILD_DIR}/.ExternalData" || die
+		for i in "${GLI_TEST_HASHES[@]}"; do
+			cp "${DISTDIR}/${i}" ".ExternalData/SHA512/" || die
+			cp "${DISTDIR}/${i}" "${BUILD_DIR}/.ExternalData/SHA512/" || die
+		done
+	fi
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
+		-DBUILD_SHARED_LIBS=ON
+		-DBUILD_TESTING="$(usex test ON OFF)"
+		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
+		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
+		-DGDCM_USE_SYSTEM_OPENJPEG=ON
+		-DITK_FORBID_DOWNLOADS:BOOL=ON
+		-DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
+		-DITK_USE_REVIEW="$(usex review ON OFF)"
+		-DITK_USE_SYSTEM_DCMTK=ON
+		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
+		-DITK_USE_SYSTEM_CASTXML=ON
+		-DITK_USE_SYSTEM_HDF5=ON
+		-DITK_USE_SYSTEM_JPEG=ON
+		-DITK_USE_SYSTEM_PNG=ON
+		-DITK_USE_SYSTEM_SWIG=ON
+		-DITK_USE_SYSTEM_TIFF=ON
+		-DITK_USE_SYSTEM_ZLIB=ON
+		-DITK_USE_KWSTYLE=OFF
+		-DITK_BUILD_DEFAULT_MODULES=ON
+		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
+		-DModule_GenericLabelInterpolator:BOOL=ON
+		-DModule_ITKReview:BOOL=ON
+		-DWRAP_ITK_JAVA=OFF
+		-DWRAP_ITK_TCL=OFF
+	)
+	if use fftw; then
+		mycmakeargs+=(
+			-DUSE_FFTWD=ON
+			-DUSE_FFTWF=ON
+			-DUSE_SYSTEM_FFTW=ON
+			-DITK_WRAP_double=ON
+			-DITK_WRAP_vector_double=ON
+			-DITK_WRAP_covariant_vector_double=ON
+			-DITK_WRAP_complex_double=ON
+		)
+	fi
+	if use vtkglue; then
+		mycmakeargs+=(
+			-DModule_ITKVtkGlue=ON
+		)
+	fi
+	if use python; then
+		mycmakeargs+=(
+			-DITK_WRAP_PYTHON=ON
+			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
+		)
+	else
+		mycmakeargs+=(
+			-DITK_WRAP_PYTHON=OFF
+		)
+	fi
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+
+	if use examples; then
+		insinto /usr/share/doc/${PF}/examples
+		docompress -x /usr/share/doc/${PF}/examples
+		doins -r "${S}"/Examples/*
+	fi
+
+	echo "ITK_DATA_ROOT=${EROOT%/}/usr/share/${PN}/data" > ${T}/40${PN}
+	local ldpath="${EROOT%/}/usr/$(get_libdir)/InsightToolkit"
+	if use python; then
+		echo "PYTHONPATH=${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
+		ldpath="${ldpath}:${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
+	fi
+	echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
+	doenvd "${T}"/40${PN}
+
+	if use doc; then
+		insinto /usr/share/doc/${PF}/api-docs
+		cd "${WORKDIR}"/html
+		rm  *.md5 || die "Failed to remove superfluous hashes"
+		einfo "Installing API docs. This may take some time."
+		insinto /usr/share/doc/${PF}/api-docs
+		doins -r *
+	fi
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2022-08-23 10:58 Andrew Ammerlaan
  0 siblings, 0 replies; 8+ messages in thread
From: Andrew Ammerlaan @ 2022-08-23 10:58 UTC (permalink / raw
  To: gentoo-commits

commit:     b4acbb5f52ed06ad45b5a4e877498a6c9f683d4e
Author:     François-Xavier Carton <fx.carton91 <AT> gmail <DOT> com>
AuthorDate: Fri Jun 10 13:16:57 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Aug 23 10:58:09 2022 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=b4acbb5f

sci-libs/itk: bump to 5.2.1

Signed-off-by: François-Xavier Carton <fx.carton91 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/sci/pull/1154

 .../itk-5.2.1-fix-castxml-clang-attr-malloc.patch  |  25 +
 sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch | 558 +++++++++++++++++++++
 .../itk/files/itk-5.2.1-system-tiff-has-64.patch   |  18 +
 sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch  | 255 ++++++++++
 sci-libs/itk/itk-5.2.1.ebuild                      | 246 +++++++++
 5 files changed, 1102 insertions(+)

diff --git a/sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch b/sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch
new file mode 100644
index 000000000..05c9d5635
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-fix-castxml-clang-attr-malloc.patch
@@ -0,0 +1,25 @@
+From: François-Xavier Carton <fx.carton91@gmail.com>
+Date: Thu, 9 Jun 2022 14:56:22 +0200
+Subject: [PATCH] fix attr malloc error with recent glibc/gcc
+
+Recent GCC has support for __attribute__((__malloc__)) with arguments, but clang
+does not. castxml uses clang internally. And recent glibc/gcc uses the attribute
+with arguments. Mix all this, and you get:
+
+error: '__malloc__' attribute takes no arguments
+
+when compiling itk with python wrapping.
+
+To fix this, we add a define to castxml flags to remove the extra arguments.
+
+--- a/Wrapping/Generators/CastXML/CMakeLists.txt	2022-06-09 14:53:15.582352715 +0200
++++ b/Wrapping/Generators/CastXML/CMakeLists.txt	2022-06-09 14:54:38.182351433 +0200
+@@ -237,7 +237,7 @@
+       set(_castxml_cc ${_castxml_cc} "-D_HAS_TR1=0")
+     endif()
+   else()
+-    set(_castxml_cc --castxml-cc-gnu ( "${CMAKE_CXX_COMPILER}" ${_castxml_cc_flags} ))
++    set(_castxml_cc --castxml-cc-gnu ( "${CMAKE_CXX_COMPILER}" ${_castxml_cc_flags} -D__malloc__\(a,b\)=__malloc__ ))
+   endif()
+   set(_target)
+   if(CMAKE_CROSSCOMPILING)

diff --git a/sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch b/sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch
new file mode 100644
index 000000000..ad717f677
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-system-openjpeg.patch
@@ -0,0 +1,558 @@
+--- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
++++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
+@@ -1,16 +1,32 @@
+ project(ITKOpenJPEG)
+ set(ITKOpenJPEG_THIRD_PARTY 1)
+ 
+-set(ITKOpenJPEG_INCLUDE_DIRS
+-  ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
+-  ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
+-  )
+-set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
++option(ITK_USE_SYSTEM_OPENJPEG "Use system-installed openjpeg" ${ITK_USE_SYSTEM_LIBRARIES})
++mark_as_advanced(ITK_USE_SYSTEM_OPENJPEG)
++
++if(ITK_USE_SYSTEM_OPENJPEG)
++  find_package(OpenJPEG REQUIRED)
++  set(ITKOpenJPEG_INCLUDE_DIRS
++    ${ITKOpenJPEG_BINARY_DIR}/src
++    )
++  set(ITKOpenJPEG_SYSTEM_INCLUDE_DIRS
++    ${OPENJPEG_INCLUDE_DIRS}
++    )
++  set(ITKOpenJPEG_LIBRARIES "${OPENJPEG_LIBRARIES}")
++  set(ITKOpenJPEG_NO_SRC 1)
++else()
++  set(ITKOpenJPEG_INCLUDE_DIRS
++    ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
++    ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
++    )
++  set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
++endif()
++
++configure_file(src/itk_openjpeg.h.in src/itk_openjpeg.h)
+ set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE)
+-
+ itk_module_impl()
+ 
+-install(FILES ${ITKOpenJPEG_SOURCE_DIR}/src/itk_openjpeg.h
++install(FILES ${ITKOpenJPEG_BINARY_DIR}/src/itk_openjpeg.h
+   DESTINATION ${ITKOpenJPEG_INSTALL_INCLUDE_DIR}
+   COMPONENT Development
+   )
+diff --git a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+rename from Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h
+rename to Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+--- a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h
++++ b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+@@ -25,6 +25,12 @@
+ #ifndef itk_openjpeg_h
+ #define itk_openjpeg_h
+ 
+-#include <itkopenjpeg/openjpeg.h>
++/* Use the openjpeg library configured for ITK.  */
++#cmakedefine ITK_USE_SYSTEM_OPENJPEG
++#ifdef ITK_USE_SYSTEM_OPENJPEG
++# include <openjpeg.h>
++#else
++# include <itkopenjpeg/openjpeg.h>
++#endif
+ 
+ #endif
+--- a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx
++++ b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx
+@@ -27,8 +27,6 @@
+ extern "C"
+ {
+ #include "openjpeg.h"
+-#include "j2k.h"
+-#include "jp2.h"
+ }
+ 
+ 
+@@ -139,11 +137,11 @@
+ {
+   itkDebugMacro(<< "ReadImageInformation()");
+ 
+-  FILE * l_file = fopen(this->m_FileName.c_str(), "rb");
+-
+-  /* decompression parameters */
++  /* set decoding parameters to default values */
++  opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters));
+ 
+-  if (!l_file)
++  opj_stream_t * cio = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true);
++  if (!cio)
+   {
+     itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl
+                                                                           << "Reason: "
+@@ -151,10 +149,5 @@
+   }
+ 
+-  /* set decoding parameters to default values */
+-  opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters));
+-
+-  opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, true);
+-
+   this->m_Internal->m_Dinfo = nullptr; /* handle to a decompressor */
+ 
+   opj_image_t * l_image = nullptr;
+@@ -188,9 +181,8 @@
+ 
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K);
+       if (!this->m_Internal->m_Dinfo)
+       {
+         opj_stream_destroy(cio);
+-        fclose(l_file);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+@@ -202,10 +194,9 @@
+     {
+       /* JPEG 2000 compressed image data */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2);
+       if (!this->m_Internal->m_Dinfo)
+       {
+         opj_stream_destroy(cio);
+-        fclose(l_file);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+@@ -217,10 +208,9 @@
+     {
+       /* JPEG 2000, JPIP */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT);
+       if (!this->m_Internal->m_Dinfo)
+       {
+         opj_stream_destroy(cio);
+-        fclose(l_file);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+@@ -230,7 +220,6 @@
+     }
+     default:
+       opj_stream_destroy(cio);
+-      fclose(l_file);
+       itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: "
+@@ -248,26 +237,8 @@
+   }
+ 
+-  // Image parameters - first tile
+-  OPJ_INT32 l_tile_x0;
+-  OPJ_INT32 l_tile_y0;
+-
+-  // Image parameters - tile width, height and number of tiles
+-  OPJ_UINT32 l_tile_width;
+-  OPJ_UINT32 l_tile_height;
+-  OPJ_UINT32 l_nb_tiles_x;
+-  OPJ_UINT32 l_nb_tiles_y;
+-
+   itkDebugMacro(<< "Trying to read header now...");
+ 
+-  bResult = opj_read_header(this->m_Internal->m_Dinfo,
+-                            &l_image,
+-                            &l_tile_x0,
+-                            &l_tile_y0,
+-                            &l_tile_width,
+-                            &l_tile_height,
+-                            &l_nb_tiles_x,
+-                            &l_nb_tiles_y,
+-                            cio);
++  bResult = opj_read_header(cio, this->m_Internal->m_Dinfo, &l_image);
+ 
+   if (!bResult)
+   {
+@@ -284,13 +255,21 @@
+   }
+ 
+-  this->m_Internal->m_TileStartX = l_tile_x0;
+-  this->m_Internal->m_TileStartY = l_tile_y0;
++  opj_codestream_info_v2_t* cp = opj_get_cstr_info(this->m_Internal->m_Dinfo);
++  if (!cp)
++  {
++    opj_stream_destroy(cio);
++    opj_image_destroy(l_image);
++    itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
++                                                              << "Reason: Error while reading image header");
++  }
++  this->m_Internal->m_TileStartX = cp->tx0;
++  this->m_Internal->m_TileStartY = cp->ty0;
+ 
+-  this->m_Internal->m_TileWidth = l_tile_width;
+-  this->m_Internal->m_TileHeight = l_tile_height;
++  this->m_Internal->m_TileWidth = cp->tdx;
++  this->m_Internal->m_TileHeight = cp->tdy;
+ 
+-  this->m_Internal->m_NumberOfTilesInX = l_nb_tiles_x;
+-  this->m_Internal->m_NumberOfTilesInY = l_nb_tiles_y;
++  this->m_Internal->m_NumberOfTilesInX = cp->tw;
++  this->m_Internal->m_NumberOfTilesInY = cp->th;
+ 
+ 
+   itkDebugMacro(<< "Number of Components = " << l_image->numcomps);
+@@ -307,6 +286,7 @@
+   else
+   {
+     opj_stream_destroy(cio);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: "
+                                                               << "Unknown precision in file: "
+@@ -320,6 +300,6 @@
+       break;
+     case 3:
+-      if (l_image->color_space != CLRSPC_SRGB)
++      if (l_image->color_space != OPJ_CLRSPC_SRGB)
+       {
+         itkWarningMacro(<< "file does not specify color space, assuming sRGB");
+       }
+@@ -349,7 +329,6 @@
+ 
+   /* close the byte stream */
+   opj_stream_destroy(cio);
+-  fclose(l_file);
+ 
+   if (this->m_Internal->m_Dinfo)
+   {
+@@ -368,16 +347,7 @@
+ {
+   itkDebugMacro(<< "JPEG2000ImageIO::Read() Begin");
+ 
+-  FILE * l_file = fopen(this->m_FileName.c_str(), "rb");
+-
+-  if (!l_file)
+-  {
+-    itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl
+-                                                                          << "Reason: "
+-                                                                          << itksys::SystemTools::GetLastSystemError());
+-  }
+-
+-  opj_stream_t * l_stream = opj_stream_create_default_file_stream(l_file, true);
++  opj_stream_t * l_stream = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true);
+   if (!l_stream)
+   {
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+@@ -397,9 +367,10 @@
+     {
+       /* JPEG-2000 codestream */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K);
+       if (!this->m_Internal->m_Dinfo)
+       {
++        opj_stream_destroy(l_stream);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+                           << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr");
+@@ -410,9 +381,10 @@
+     {
+       /* JPEG 2000 compressed image data */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2);
+       if (!this->m_Internal->m_Dinfo)
+       {
++        opj_stream_destroy(l_stream);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+                           << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr");
+@@ -423,9 +395,10 @@
+     {
+       /* JPEG 2000, JPIP */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT);
+       if (!this->m_Internal->m_Dinfo)
+       {
++        opj_stream_destroy(l_stream);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+                           << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr");
+@@ -433,7 +406,7 @@
+       break;
+     }
+     default:
+-      fclose(l_file);
++      opj_stream_destroy(l_stream);
+       itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: "
+@@ -445,32 +418,17 @@
+   if (!opj_setup_decoder(this->m_Internal->m_Dinfo, &(this->m_Internal->m_DecompressionParameters)))
+   {
++    opj_stream_destroy(l_stream);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: opj_setup_decoder returns false");
+   }
+ 
+-  OPJ_INT32 l_tile_x0, l_tile_y0;
+-
+-  OPJ_UINT32 l_tile_width;
+-  OPJ_UINT32 l_tile_height;
+-  OPJ_UINT32 l_nb_tiles_x;
+-  OPJ_UINT32 l_nb_tiles_y;
+-
+-  bool bResult = opj_read_header(this->m_Internal->m_Dinfo,
+-                                 &l_image,
+-                                 &l_tile_x0,
+-                                 &l_tile_y0,
+-                                 &l_tile_width,
+-                                 &l_tile_height,
+-                                 &l_nb_tiles_x,
+-                                 &l_nb_tiles_y,
+-                                 l_stream);
++  bool bResult = opj_read_header(l_stream, this->m_Internal->m_Dinfo, &l_image);
+ 
+   if (!bResult)
+   {
+     opj_destroy_codec(this->m_Internal->m_Dinfo);
+     this->m_Internal->m_Dinfo = nullptr;
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: opj_read_header returns false");
+   }
+@@ -499,7 +457,7 @@
+   itkDebugMacro(<< "p_end_x = " << p_end_x);
+   itkDebugMacro(<< "p_end_y = " << p_end_y);
+ 
+-  bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, p_start_x, p_start_y, p_end_x, p_end_y);
++  bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, l_image, p_start_x, p_start_y, p_end_x, p_end_y);
+ 
+   itkDebugMacro(<< "opj_set_decode_area() after");
+ 
+@@ -509,6 +467,5 @@
+     this->m_Internal->m_Dinfo = nullptr;
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: opj_set_decode_area returns false");
+   }
+@@ -525,13 +482,14 @@
+ 
+   OPJ_UINT32 l_max_data_size = 1000;
+ 
+-  bool l_go_on = true;
++  OPJ_BOOL l_go_on = true;
+ 
+   auto * l_data = (OPJ_BYTE *)malloc(1000);
+ 
+   while (l_go_on)
+   {
+     bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo,
++                                               l_stream,
+                                                &l_tile_index,
+                                                &l_data_size,
+                                                &l_current_tile_x0,
+@@ -540,13 +498,11 @@
+                                                &l_current_tile_y1,
+                                                &l_nb_comps,
+-                                               &l_go_on,
+-                                               l_stream);
++                                               &l_go_on);
+ 
+     if (!tileHeaderRead)
+     {
+       free(l_data);
+       opj_stream_destroy(l_stream);
+-      fclose(l_file);
+       opj_destroy_codec(this->m_Internal->m_Dinfo);
+       opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -571,7 +527,6 @@
+         if (!l_data)
+         {
+           opj_stream_destroy(l_stream);
+-          fclose(l_file);
+           opj_destroy_codec(this->m_Internal->m_Dinfo);
+           opj_image_destroy(l_image);
+           itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -590,7 +545,6 @@
+       {
+         free(l_data);
+         opj_stream_destroy(l_stream);
+-        fclose(l_file);
+         opj_destroy_codec(this->m_Internal->m_Dinfo);
+         opj_image_destroy(l_image);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -654,7 +608,6 @@
+   {
+     free(l_data);
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     opj_destroy_codec(this->m_Internal->m_Dinfo);
+     opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -667,13 +620,11 @@
+     this->m_Internal->m_Dinfo = nullptr;
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: error whle reading image");
+   }
+ 
+   /* close the byte stream */
+   opj_stream_destroy(l_stream);
+-  fclose(l_file);
+ 
+   if (this->m_Internal->m_Dinfo)
+   {
+@@ -775,6 +726,6 @@
+   }
+ 
+-  for (int i = 0; i < parameters.numpocs; i++)
++  for (OPJ_UINT32 i = 0; i < parameters.numpocs; i++)
+   {
+     if (parameters.POC[i].prg == -1)
+     {
+@@ -840,13 +791,13 @@
+ 
+   parameters.numresolution = numberOfResolutions;
+ 
+-  OPJ_COLOR_SPACE      color_space = CLRSPC_GRAY;
++  OPJ_COLOR_SPACE      color_space = OPJ_CLRSPC_GRAY;
+   opj_image_cmptparm_t cmptparms[3];
+ 
+   if (this->GetNumberOfComponents() == 3)
+   {
+ 
+-    color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? CLRSPC_SRGB : CLRSPC_UNSPECIFIED;
++    color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? OPJ_CLRSPC_SRGB : OPJ_CLRSPC_UNSPECIFIED;
+ 
+     /* initialize image components */
+     memset(&cmptparms[0], 0, 3 * sizeof(opj_image_cmptparm_t));
+@@ -864,7 +815,7 @@
+ 
+   if (this->GetNumberOfComponents() == 1)
+   {
+-    color_space = CLRSPC_GRAY;
++    color_space = OPJ_CLRSPC_GRAY;
+ 
+     /* initialize image components */
+     memset(&cmptparms[0], 0, sizeof(opj_image_cmptparm_t));
+@@ -941,8 +892,9 @@
+   if (extension == ".j2k")
+   {
+-    cinfo = opj_create_compress(CODEC_J2K);
++    cinfo = opj_create_compress(OPJ_CODEC_J2K);
+     if (!cinfo)
+     {
++      opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: opj_create_compress(CODEC_J2K) returns nullptr");
+@@ -950,9 +902,10 @@
+   }
+   else if (extension == ".jp2")
+   {
+-    cinfo = opj_create_compress(CODEC_JP2);
++    cinfo = opj_create_compress(OPJ_CODEC_JP2);
+     if (!cinfo)
+     {
++      opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: opj_create_compress(CODEC_JP2) returns nullptr");
+@@ -960,9 +913,10 @@
+   }
+   else if (extension == ".jpt")
+   {
+-    cinfo = opj_create_compress(CODEC_JPT);
++    cinfo = opj_create_compress(OPJ_CODEC_JPT);
+     if (!cinfo)
+     {
++      opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: opj_create_compress(CODEC_JPT) returns nullptr");
+@@ -970,6 +924,7 @@
+   }
+   else
+   {
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: unknown encode format: " << extension);
+   }
+@@ -985,23 +940,19 @@
+ 
+   if (!opj_setup_encoder(cinfo, &parameters, l_image))
+   {
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_setup_encoder returns false");
+   }
+ 
+-  FILE * l_file = fopen(parameters.outfile, "wb");
+-  if (!l_file)
+-  {
+-    itkExceptionMacro("JPEG2000ImageIO failed to open file for writing: " << this->GetFileName() << std::endl
+-                                                                          << "Reason: "
+-                                                                          << itksys::SystemTools::GetLastSystemError());
+-  }
+-
+   /* open a byte stream for writing */
+   /* allocate memory for all tiles */
+-  opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, false);
++  opj_stream_t * cio = opj_stream_create_default_file_stream(parameters.outfile, false);
+   if (!cio)
+   {
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                       << this->GetFileName() << std::endl
+                       << "Reason: "
+@@ -1017,7 +968,8 @@
+   if (!bSuccess)
+   {
+     opj_stream_destroy(cio);
+-    fclose(l_file);
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_start_compress returns false");
+   }
+@@ -1026,7 +978,8 @@
+   if (!bSuccess)
+   {
+     opj_stream_destroy(cio);
+-    fclose(l_file);
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_encode returns false");
+   }
+@@ -1035,14 +988,14 @@
+   if (!bSuccess)
+   {
+     opj_stream_destroy(cio);
+-    fclose(l_file);
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_end_compress returns false");
+   }
+ 
+   /* close and free the byte stream */
+   opj_stream_destroy(cio);
+-  fclose(l_file);
+ 
+   /* free remaining compression structures */
+   opj_destroy_codec(cinfo);
+--- a/Modules/Nonunit/Review/src/CMakeLists.txt
++++ b/Modules/Nonunit/Review/src/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ 
+ add_library(ITKReview ${ITKReview_SRC})
+ itk_module_link_dependencies()
+-target_link_libraries(ITKReview LINK_PUBLIC ${ITKTestKernel_LIBRARIES} ${ITKIOLSM_LIBRARIES} itkopenjpeg)
++target_link_libraries(ITKReview LINK_PUBLIC ${ITKTestKernel_LIBRARIES} ${ITKIOLSM_LIBRARIES} ${ITKOpenJPEG_LIBRARIES})
+ itk_module_target(ITKReview)
+ 
+ 

diff --git a/sci-libs/itk/files/itk-5.2.1-system-tiff-has-64.patch b/sci-libs/itk/files/itk-5.2.1-system-tiff-has-64.patch
new file mode 100644
index 000000000..25c44db2c
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-system-tiff-has-64.patch
@@ -0,0 +1,18 @@
+From: François-Xavier Carton <fx.carton91@gmail.com>
+Date: Wed, 8 Jun 2022 19:36:48 +0200
+Subject: [PATCH] system libtiff has INT64
+
+Enabling this, otherwise using system libtiff leads to errors. In particular
+tests fail because there is some IFD8 data but the itkTIFFDataSize function
+returns 0 instead of 8, resulting in invalid mem access.
+
+--- a/Modules/ThirdParty/TIFF/src/itk_tiff.h.in.orig	2022-06-08 19:34:04.412431969 +0200
++++ b/Modules/ThirdParty/TIFF/src/itk_tiff.h.in	2022-06-08 19:34:26.240431631 +0200
+@@ -34,6 +34,7 @@
+ #cmakedefine ITK_TIFF_HAS_TIFFFieldReadCount
+ #cmakedefine ITK_TIFF_HAS_TIFFField
+ #ifdef ITK_USE_SYSTEM_TIFF
++# define TIFF_INT64_T int64_t
+ # include <tiffio.h>
+ #else
+ # include "itktiff/tiffio.h"

diff --git a/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch b/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
new file mode 100644
index 000000000..2e547d9ca
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
@@ -0,0 +1,255 @@
+https://github.com/InsightSoftwareConsortium/ITK/commit/2a7f5ed199926999b67f61a97c2c9a2595a11558.patch
+https://github.com/InsightSoftwareConsortium/ITK/commit/0c31aa688e82a34e5430873bc6176740fd09ad75.patch
+https://github.com/InsightSoftwareConsortium/ITK/commit/28325d921a9b8793e6aaefd612f53989f951d19c.patch
+
+From 2a7f5ed199926999b67f61a97c2c9a2595a11558 Mon Sep 17 00:00:00 2001
+From: Niels Dekker <N.Dekker@lumc.nl>
+Date: Thu, 24 Jun 2021 18:00:01 +0200
+Subject: [PATCH] COMP: Add missing `#include <iostream>` to Deprecated module
+ test
+
+Fixed a Visual C++ 2019 error, saying:
+
+> Deprecated\test\itkSimpleFastMutexLockTest.cxx(48,12): error C2039: 'cout': is not a member of 'std'
+---
+ .../Deprecated/test/itkSimpleFastMutexLockTest.cxx              | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx b/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx
+index 11ad0c52700..60aa1c065b4 100644
+--- a/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx
++++ b/Modules/Compatibility/Deprecated/test/itkSimpleFastMutexLockTest.cxx
+@@ -19,6 +19,8 @@
+ 
+ #include "itkSimpleFastMutexLock.h"
+ 
++#include <iostream> // For cout.
++
+ 
+ int
+ itkSimpleFastMutexLockTest(int, char *[])
+From 0c31aa688e82a34e5430873bc6176740fd09ad75 Mon Sep 17 00:00:00 2001
+From: Pablo Hernandez-Cerdan <pablo.hernandez.cerdan@outlook.com>
+Date: Tue, 20 Apr 2021 17:21:21 +0200
+Subject: [PATCH] COMP: CastXML, ITKVtkGlue, include only when property exists
+
+Some targets (VTK libraries) didn't have the property INTERFACE_INCLUDE_DIRECTORIES
+
+```bash
+CMake Error in Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:
+  Found relative path while evaluating include directories of
+  "ITKVtkGluePython":
+
+    "_vtk_lib_include_dirs-NOTFOUND"
+```
+
+Triggered when compiling Slicer with `Slicer_BUILD_ITKPython:BOOL=ON`
+aka `ITK_WRAP_PYTHON:BOOL=ON`.
+
+Full error log with extra printing:
+
+```bash
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:3 (message):
+  ITKVtkGlue_VTK_LIBRARIES:
+  VTK::IOImage;VTK::ImagingSources;VTK::WrappingPythonCore;VTK::CommonCore;VTK::CommonDataModel;VTK::kwiml;VTK::CommonExecutionModel;VTK::RenderingOpenGL2;VTK::RenderingFreeType;VTK::InteractionStyle;VTK::InteractionWidgets
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs:
+  build/VTK-build/Wrapping/PythonCore;build/VTK/Wrapping/PythonCore
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs:
+  build/VTK-build/Utilities/KWIML;build/VTK/Utilities/KWIML
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+CMake Warning at Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:6 (message):
+  _vtk_lib_include_dirs: _vtk_lib_include_dirs-NOTFOUND
+
+-- ITKVtkGlue: Creating module.
+-- ITKVtkGlue: Creating itkImageToVTKImageFilter submodule.
+-- ITKVtkGlue: Creating itkVTKImageToImageFilter submodule.
+-- ITKVtkGlue: Creating itkViewImage submodule.
+-- MGHIO: Creating module.
+-- MGHIO: Creating itkMGHImageIO submodule.
+-- MorphologicalContourInterpolation: Creating module.
+-- MorphologicalContourInterpolation: Creating itkMorphologicalContourInterpolator submodule.
+-- ITKPyUtils: Creating module.
+-- ITKPyUtils: Creating itkPyCommand submodule.
+-- ITKPyUtils: Creating itkPyImageFilter submodule.
+-- Configuring done
+CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
+Please set them or make sure they are set and tested correctly in the CMake files:
+_vtk_lib_include_dirs
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+   used as include directory in directory build/ITK/Modules/Bridge/VtkGlue/wrapping
+
+CMake Error in Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt:
+  Found relative path while evaluating include directories of
+  "ITKVtkGluePython":
+
+    "_vtk_lib_include_dirs-NOTFOUND"
+
+```
+---
+ Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt b/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt
+index 3f3322957e1..2fd6a5af8f6 100644
+--- a/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt
++++ b/Modules/Bridge/VtkGlue/wrapping/CMakeLists.txt
+@@ -2,7 +2,9 @@
+ if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
+   foreach(_vtk_lib IN LISTS ITKVtkGlue_VTK_LIBRARIES)
+     get_target_property(_vtk_lib_include_dirs ${_vtk_lib} INTERFACE_INCLUDE_DIRECTORIES)
+-    include_directories(${_vtk_lib_include_dirs})
++    if(_vtk_lib_include_dirs)
++      include_directories(${_vtk_lib_include_dirs})
++    endif()
+   endforeach()
+ endif()
+ 
+From 28325d921a9b8793e6aaefd612f53989f951d19c Mon Sep 17 00:00:00 2001
+From: Butui Hu <hot123tea123@gmail.com>
+Date: Mon, 1 Aug 2022 14:26:39 +0800
+Subject: [PATCH] COMP: use sysconfig.get_path as PEP 632 deprecate distutils
+ module
+
+---
+ Wrapping/Generators/Python/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Wrapping/Generators/Python/CMakeLists.txt b/Wrapping/Generators/Python/CMakeLists.txt
+index fca3d999b87..3b7a1d37334 100644
+--- a/Wrapping/Generators/Python/CMakeLists.txt
++++ b/Wrapping/Generators/Python/CMakeLists.txt
+@@ -36,7 +36,7 @@ file(MAKE_DIRECTORY ${WRAPPER_MASTER_INDEX_OUTPUT_DIR}/python)
+ ###############################################################################
+ # Configure Python wrapping installation
+ if(Python3_EXECUTABLE AND NOT PY_SITE_PACKAGES_PATH)
+-  set(python_check "try:\n    import distutils.sysconfig\n    print(distutils.sysconfig.get_python_lib(plat_specific=1, prefix=''))\nexcept:\n    pass")
++  set(python_check "try:\n    import sysconfig\n    print(sysconfig.get_path('platlib'))\nexcept:\n    pass")
+   file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/detect_site_package_path.py ${python_check})
+   execute_process(COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}/detect_site_package_path.py"
+     OUTPUT_VARIABLE py_spp

diff --git a/sci-libs/itk/itk-5.2.1.ebuild b/sci-libs/itk/itk-5.2.1.ebuild
new file mode 100644
index 000000000..25292269f
--- /dev/null
+++ b/sci-libs/itk/itk-5.2.1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+VIRTUALX_REQUIRED="manual"
+
+inherit cmake python-single-r1 virtualx
+
+MY_PN="InsightToolkit"
+MY_P="${MY_PN}-${PV}"
+GLI_HASH="89da9305f5750d3990ca9fd35ecc5ce0b39c71a6"
+TEST_HASH="7ab9d41ad5b42ccbe8adcaf0b24416d439a264d0"
+declare -a GLI_TEST_HASHES=(
+	"a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
+	"bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
+)
+
+GLI_TEST_SRC=""
+for i in "${GLI_TEST_HASHES[@]}"; do
+	GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i}/download -> ${PN}-test-${i} "
+done
+
+DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
+HOMEPAGE="https://itk.org"
+SRC_URI="
+	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
+	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.tar.gz -> ITKGenericLabelInterpolator-${PV}.tar.gz
+	test? (
+		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
+		https://github.com/InsightSoftwareConsortium/ITKTestingData/archive/${TEST_HASH}.tar.gz -> ${P}-testingdata.tar.gz
+		${GLI_TEST_SRC}
+		)
+	"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples fftw itkv4-compat python review test vtkglue"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-cpp/eigen:3
+	dev-libs/double-conversion:0=
+	dev-libs/expat:0=
+	media-libs/openjpeg:2
+	media-libs/libpng:0=
+	media-libs/tiff:0=[jpeg]
+	sci-libs/dcmtk:0=
+	sci-libs/hdf5:0=[cxx]
+	sci-libs/gdcm:0=
+	sys-libs/zlib:0=
+	media-libs/libjpeg-turbo:0=
+	fftw? ( sci-libs/fftw:3.0= )
+	vtkglue? (
+		sci-libs/vtk:0=[rendering]
+		python? (
+			sci-libs/vtk:0=[python,${PYTHON_SINGLE_USEDEP}]
+		)
+	)
+	python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+	sys-apps/coreutils
+	python? (
+		>=dev-lang/swig-2.0:0
+		dev-libs/castxml
+	)
+	doc? ( app-doc/doxygen )
+"
+BDEPEND="
+	test? (
+		vtkglue? ( ${VIRTUALX_DEPEND} )
+		python? (
+			$(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]')
+		)
+	)
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}/${P}-upstream-fixes.patch"
+	"${FILESDIR}/${P}-system-tiff-has-64.patch"
+	"${FILESDIR}/${P}-fix-castxml-clang-attr-malloc.patch"
+	"${FILESDIR}/${P}-system-openjpeg.patch"
+)
+
+pkg_pretend() {
+	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
+		elog "To tune ITK to make the best use of working memory you can set"
+		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
+		elog "in make.conf, default is 1 (unit is GB)"
+	fi
+	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
+		elog "For Python language bindings, you can define the dimensions"
+		elog "you want to create bindings for by setting"
+		elog "    ITK_WRAP_DIMS=X;Y;Z..."
+		elog "in make.conf, default is 2;3 for 2D and 3D data"
+	fi
+}
+
+src_prepare() {
+	# drop bundled libs
+	local -a DROPS=(
+		DoubleConversion/src/double-conversion
+		Eigen3/src/itkeigen
+		Expat/src/expat
+		GDCM/src/gdcm
+		JPEG/src/itkjpeg
+		HDF5/src/itkhdf5
+		OpenJPEG/src/openjpeg
+		PNG/src/itkpng
+		TIFF/src/itktiff
+		ZLIB/src/itkzlib
+	)
+	local x
+	for x in "${DROPS[@]}"; do
+		ebegin "Dropping bundled ${x%%/*}"
+		rm -r "Modules/ThirdParty/${x}" || die
+		eend $?
+	done
+	{
+		find Modules/ThirdParty -mindepth 2 -maxdepth 2 -type d -name src -printf '%P\n'
+		printf '%s\n' "${DROPS[@]}" | sed 's,/[^/]*$,,'
+	} | sort | uniq -u | xargs -n 1 ewarn "Using bundled" || die
+
+	# Remote modules
+	ln -sr "../ITKGenericLabelInterpolator-${GLI_HASH}" Modules/External/ITKGenericLabelInterpolator || die
+
+	cmake_src_prepare
+
+	if use test; then
+		cp -rf "../ITKTestingData-${TEST_HASH}/"* ".ExternalData/" || die
+		mv "../ITKTestingData-${TEST_HASH}" "${BUILD_DIR}/.ExternalData" || die
+		for i in "${GLI_TEST_HASHES[@]}"; do
+			cp "${DISTDIR}/${PN}-test-${i}" ".ExternalData/SHA512/${i}" || die
+			cp "${DISTDIR}/${PN}-test-${i}" "${BUILD_DIR}/.ExternalData/SHA512/${i}" || die
+		done
+	fi
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
+		-DITK_INSTALL_DOC_DIR="share/doc/${P}"
+		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
+		-DBUILD_SHARED_LIBS=ON
+		-DBUILD_TESTING="$(usex test ON OFF)"
+		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
+		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
+		-DGDCM_USE_SYSTEM_OPENJPEG=ON
+		-DITK_FORBID_DOWNLOADS:BOOL=ON
+		-DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
+		-DITK_USE_REVIEW="$(usex review ON OFF)"
+		-DITK_USE_SYSTEM_DCMTK=ON
+		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
+		-DITK_USE_SYSTEM_CASTXML=ON
+		-DITK_USE_SYSTEM_EIGEN=ON
+		-DITK_USE_SYSTEM_EXPAT=ON
+		-DITK_USE_SYSTEM_GDCM=ON
+		-DITK_USE_SYSTEM_HDF5=ON
+		-DITK_USE_SYSTEM_JPEG=ON
+		-DITK_USE_SYSTEM_OPENJPEG=ON
+		-DITK_USE_SYSTEM_PNG=ON
+		-DITK_USE_SYSTEM_SWIG=ON
+		-DITK_USE_SYSTEM_TIFF=ON
+		-DITK_USE_SYSTEM_ZLIB=ON
+		-DITK_USE_KWSTYLE=OFF
+		-DITK_BUILD_DEFAULT_MODULES=ON
+		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
+		-DModule_GenericLabelInterpolator:BOOL=ON
+		-DModule_ITKReview:BOOL=ON
+		-DWRAP_ITK_JAVA=OFF
+		-DWRAP_ITK_TCL=OFF
+		-DITKV4_COMPATIBILITY:BOOL=$(usex itkv4-compat)
+	)
+	if use fftw; then
+		mycmakeargs+=(
+			-DUSE_FFTWD=ON
+			-DUSE_FFTWF=ON
+			-DUSE_SYSTEM_FFTW=ON
+			-DITK_WRAP_double=ON
+			-DITK_WRAP_vector_double=ON
+			-DITK_WRAP_covariant_vector_double=ON
+			-DITK_WRAP_complex_double=ON
+		)
+	fi
+	if use vtkglue; then
+		mycmakeargs+=(
+			-DModule_ITKVtkGlue=ON
+		)
+	fi
+	if use python; then
+		mycmakeargs+=(
+			-DITK_WRAP_PYTHON=ON
+			-DPython3_EXECUTABLE="${PYTHON}"
+			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
+		)
+	else
+		mycmakeargs+=(
+			-DITK_WRAP_PYTHON=OFF
+		)
+	fi
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+
+	if use examples; then
+		docinto examples
+		docompress -x /usr/share/doc/${PF}/examples
+		dodoc -r "${S}"/Examples/*
+	fi
+
+	echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN} || die
+	local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
+	if use python; then
+		echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN} || die
+		ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
+	fi
+	echo "LDPATH=${ldpath}" >> "${T}"/40${PN} || die
+	doenvd "${T}"/40${PN}
+
+	if use doc; then
+		cd "${WORKDIR}"/html || die
+		rm  *.md5 || die "Failed to remove superfluous hashes"
+		einfo "Installing API docs. This may take some time."
+		docinto api-docs
+		dodoc -r *
+	fi
+
+	use python && python_optimize
+}
+
+src_test() {
+	if use vtkglue; then
+		virtx cmake_src_test
+	else
+		cmake_src_test
+	fi
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2022-08-31 10:30 Andrew Ammerlaan
  0 siblings, 0 replies; 8+ messages in thread
From: Andrew Ammerlaan @ 2022-08-31 10:30 UTC (permalink / raw
  To: gentoo-commits

commit:     e183cbc1d2404c5ce6348627365cdc1aa483c375
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 31 10:30:15 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Aug 31 10:30:15 2022 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=e183cbc1

sci-libs/itk: drop 5.0.1, 5.1.0

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 ...p-TransformFileReader-TransformFileWriter.patch |  50 ------
 ...itkQuasiNewtonOptimizerv4-wrapping-warnin.patch |  28 ---
 ...itkGradientDescentOptimizerv4-wrapping-wa.patch |  73 --------
 ...OptimizerParameterScalesEstimatorTemplate.patch |  30 ----
 .../0005-make-gdcm-helper-library-static.patch     |  11 --
 sci-libs/itk/files/ITKModuleRemote.patch           |  45 -----
 sci-libs/itk/files/itk-5.1.0-downloads.patch       |  20 ---
 sci-libs/itk/files/itk-5.1.0-include_limits.patch  |  10 --
 sci-libs/itk/files/nrrdio-linking.patch            |  15 --
 sci-libs/itk/files/tests.patch                     |  41 -----
 sci-libs/itk/itk-5.0.1.ebuild                      | 178 -------------------
 sci-libs/itk/itk-5.1.0.ebuild                      | 191 ---------------------
 12 files changed, 692 deletions(-)

diff --git a/sci-libs/itk/files/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch b/sci-libs/itk/files/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch
deleted file mode 100644
index 094ee3229..000000000
--- a/sci-libs/itk/files/0001-BUG-Wrap-TransformFileReader-TransformFileWriter.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From d069b7b94287dae15fcaf707775f5dd2bbebcc38 Mon Sep 17 00:00:00 2001
-From: Matt McCormick <matt.mccormick@kitware.com>
-Date: Wed, 5 Feb 2014 15:52:34 -0500
-Subject: [PATCH 1/3] BUG: Wrap TransformFileReader, TransformFileWriter.
-
-Missing CMakeLists.txt in the wrapping directory.  Need to explicitly include
-the headers after "Template" was appended to the class name.
-
-Suggested-by: Sami Koho <sami.koho@gmail.com>
-
-Change-Id: I6f994bb18f37d5adf1d0f0311fa73506c41239a7
----
- Modules/IO/TransformBase/wrapping/CMakeLists.txt              | 3 +++
- Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap | 2 ++
- Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap | 2 ++
- 3 files changed, 7 insertions(+)
- create mode 100644 Modules/IO/TransformBase/wrapping/CMakeLists.txt
-
-diff --git a/Modules/IO/TransformBase/wrapping/CMakeLists.txt b/Modules/IO/TransformBase/wrapping/CMakeLists.txt
-new file mode 100644
-index 0000000..6072567
---- /dev/null
-+++ b/Modules/IO/TransformBase/wrapping/CMakeLists.txt
-@@ -0,0 +1,3 @@
-+itk_wrap_module(ITKIOTransformBase)
-+itk_auto_load_submodules()
-+itk_end_wrap_module()
-diff --git a/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap b/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap
-index 9b52fbc..662df9e 100644
---- a/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap
-+++ b/Modules/IO/TransformBase/wrapping/itkTransformFileReader.wrap
-@@ -1,3 +1,5 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkTransformFileReader.h")
- itk_wrap_class("itk::TransformFileReaderTemplate" POINTER)
-   foreach(t ${WRAP_ITK_REAL})
-     itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-diff --git a/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap b/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap
-index 4f1ac4a..356aaf3 100644
---- a/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap
-+++ b/Modules/IO/TransformBase/wrapping/itkTransformFileWriter.wrap
-@@ -1,3 +1,5 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkTransformFileWriter.h")
- itk_wrap_class("itk::TransformFileWriterTemplate" POINTER)
-   foreach(t ${WRAP_ITK_REAL})
-     itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
--- 
-1.8.5.3
-

diff --git a/sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch b/sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch
deleted file mode 100644
index 4c74d5451..000000000
--- a/sci-libs/itk/files/0002-COMP-Fixed-itkQuasiNewtonOptimizerv4-wrapping-warnin.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 66d2955fbe5528d9df216c639277d1d2686447e5 Mon Sep 17 00:00:00 2001
-From: Michka Popoff <michkapopoff@gmail.com>
-Date: Fri, 7 Feb 2014 19:24:49 +0100
-Subject: [PATCH 2/3] COMP: Fixed itkQuasiNewtonOptimizerv4 wrapping warnings
-
-The warning :
-/scratch/dashboards/Linux-x86_64-gcc4.4-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkQuasiNewtonOptimizerv4.xml: warning(5): Unknown type type: itk::QuasiNewtonOptimizerv4 [typedef]
-/scratch/dashboards/Linux-x86_64-gcc4.4-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkQuasiNewtonOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::QuasiNewtonOptimizerv4Template< double >
----
- .../Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap
-index 4a43dd4..7eed11c 100644
---- a/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkQuasiNewtonOptimizerv4.wrap
-@@ -1 +1,7 @@
--itk_wrap_simple_class("itk::QuasiNewtonOptimizerv4" POINTER)
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkQuasiNewtonOptimizerv4.h")
-+itk_wrap_class("itk::QuasiNewtonOptimizerv4Template" POINTER)
-+  foreach(t ${WRAP_ITK_REAL})
-+    itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+  endforeach(t)
-+itk_end_wrap_class()
--- 
-1.8.5.3
-

diff --git a/sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch b/sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch
deleted file mode 100644
index d77345edf..000000000
--- a/sci-libs/itk/files/0003-COMP-Fixed-itkGradientDescentOptimizerv4-wrapping-wa.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From fced46ce8769b4edc7971ea0928045390b5c3f84 Mon Sep 17 00:00:00 2001
-From: Michka Popoff <michkapopoff@gmail.com>
-Date: Mon, 10 Feb 2014 09:41:42 +0100
-Subject: [PATCH 3/3] COMP: Fixed itkGradientDescentOptimizerv4 wrapping
- warnings
-
-I splitted the 3 wrapping calls in 3 separate files and fixed the wrapping.
-
-The warnings :
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(5): Unknown type type: itk::GradientDescentOptimizerBasev4 [typedef]
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(5): Unknown type type: itk::GradientDescentOptimizerv4 [typedef]
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(5): Unknown type type: itk::ObjectToObjectOptimizerBase [typedef]
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::GradientDescentOptimizerBasev4Template< double >
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::GradientDescentOptimizerv4Template< double >
-/home/kevin/kitware/ITK_Build/Wrapping/Modules/ITKOptimizersv4/itkGradientDescentOptimizerv4.xml: warning(4): ITK type not wrapped, or currently not known: itk::ObjectToObjectOptimizerBaseTemplate< double >
-
-Should also hopefully fix the new error on the dashboard I introduced by fixing the itkQuasiNewtonOptimizerv4 warnings (http://review.source.kitware.com/#/c/14317/)
-/home/kevin/kitware/ITK_Build/Wrapping/Typedefs/itkQuasiNewtonOptimizerv4.i:87: Warning 401: Nothing known about base class 'itk::GradientDescentOptimizerv4Template< float >'. Ignored.
-/home/kevin/kitware/ITK_Build/Wrapping/Typedefs/itkQuasiNewtonOptimizerv4.i:87: Warning 401: Maybe you forgot to instantiate 'itk::GradientDescentOptimizerv4Template< float >' using %template.
-
-Change-Id: I15b6af11690ed6efeaced68f73af5212ab5dc364
----
- .../wrapping/itkGradientDescentOptimizerBasev4.wrap            |  7 +++++++
- .../Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap   | 10 +++++++---
- .../Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap  |  7 +++++++
- 3 files changed, 21 insertions(+), 3 deletions(-)
- create mode 100644 Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap
- create mode 100644 Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap
-
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap
-new file mode 100644
-index 0000000..74f5a6c
---- /dev/null
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerBasev4.wrap
-@@ -0,0 +1,7 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkGradientDescentOptimizerBasev4.h")
-+itk_wrap_class("itk::GradientDescentOptimizerBasev4Template" POINTER)
-+  foreach(t ${WRAP_ITK_REAL})
-+    itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+  endforeach(t)
-+itk_end_wrap_class()
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap
-index d53a176..3236448 100644
---- a/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkGradientDescentOptimizerv4.wrap
-@@ -1,3 +1,7 @@
--itk_wrap_simple_class("itk::ObjectToObjectOptimizerBase" POINTER)
--itk_wrap_simple_class("itk::GradientDescentOptimizerBasev4" POINTER)
--itk_wrap_simple_class("itk::GradientDescentOptimizerv4" POINTER)
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkGradientDescentOptimizerv4.h")
-+itk_wrap_class("itk::GradientDescentOptimizerv4Template" POINTER)
-+  foreach(t ${WRAP_ITK_REAL})
-+    itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+  endforeach(t)
-+itk_end_wrap_class()
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap
-new file mode 100644
-index 0000000..61b2c44
---- /dev/null
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkObjectToObjectOptimizerBase.wrap
-@@ -0,0 +1,7 @@
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkObjectToObjectOptimizerBase.h")
-+itk_wrap_class("itk::ObjectToObjectOptimizerBaseTemplate" POINTER)
-+  foreach(t ${WRAP_ITK_REAL})
-+    itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+  endforeach(t)
-+itk_end_wrap_class()
--- 
-1.8.5.3
-

diff --git a/sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch b/sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch
deleted file mode 100644
index 83b395626..000000000
--- a/sci-libs/itk/files/0004-COMP-Warp-OptimizerParameterScalesEstimatorTemplate.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Author: Matt McCormick <matt.mccormick@kitware.com>
-Date:   Thu Feb 6 10:26:49 2014 -0500
-
-    COMP: Wrap OptimizerParameterScalesEstimatorTemplate.
-    
-    The class name changed and it became templated.  Fixes:
-    
-      /playpen/blowekamp/MacOSX-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkOptimizerParameterScalesEstimator.xml:
-      warning(5): Unknown type type: itk::OptimizerParameterScalesEstimator
-      [typedef]
-      /playpen/blowekamp/MacOSX-WrapITK/ITK-build/Wrapping/Modules/ITKOptimizersv4/itkOptimizerParameterScalesEstimator.xml:
-      warning(4): ITK type not wrapped, or currently not known:
-      itk::OptimizerParameterScalesEstimatorTemplate< double >
-    
-    Change-Id: Ic6b4d6fba10d5d6c7b58de8d842bad6511e1ae7b
-
-diff --git a/Modules/Numerics/Optimizersv4/wrapping/itkOptimizerParameterScalesEstimator.wrap b/Modules/Numerics/Optimizersv4/wrapping/itkOptim
-index efd6a8c..a647ee4 100644
---- a/Modules/Numerics/Optimizersv4/wrapping/itkOptimizerParameterScalesEstimator.wrap
-+++ b/Modules/Numerics/Optimizersv4/wrapping/itkOptimizerParameterScalesEstimator.wrap
-@@ -1 +1,7 @@
--itk_wrap_simple_class("itk::OptimizerParameterScalesEstimator" POINTER)
-+set(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
-+itk_wrap_include("itkOptimizerParameterScalesEstimator.h")
-+itk_wrap_class("itk::OptimizerParameterScalesEstimatorTemplate" POINTER)
-+  foreach(t ${WRAP_ITK_REAL})
-+    itk_wrap_template("${ITKM_${t}}" "${ITKT_${t}}")
-+  endforeach(t)
-+itk_end_wrap_class()
-

diff --git a/sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch b/sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch
deleted file mode 100644
index d760ac7ba..000000000
--- a/sci-libs/itk/files/0005-make-gdcm-helper-library-static.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/Modules/ThirdParty/GDCM/src/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/CMakeLists.txt
-index e98077c..70f4286 100644
---- a/Modules/ThirdParty/GDCM/src/CMakeLists.txt
-+++ b/Modules/ThirdParty/GDCM/src/CMakeLists.txt
-@@ -1,5 +1,5 @@
- if(ITK_USE_SYSTEM_GDCM)
--  add_library(ITKGDCM ITK-GDCM.cxx)
-+  add_library(ITKGDCM STATIC ITK-GDCM.cxx)
-   target_link_libraries(ITKGDCM gdcmDICT gdcmMSFF)
-   itk_module_target(ITKGDCM)
-   return()

diff --git a/sci-libs/itk/files/ITKModuleRemote.patch b/sci-libs/itk/files/ITKModuleRemote.patch
deleted file mode 100644
index eb130159a..000000000
--- a/sci-libs/itk/files/ITKModuleRemote.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Disable automatic git clone attempt for modules:
-https://github.com/InsightSoftwareConsortium/ITK/issues/1157
-
---- a/CMake/ITKModuleRemote.cmake	2019-08-13 18:10:33.385472767 +0200
-+++ b/CMake/ITKModuleRemote.cmake	2019-08-13 18:12:04.020198966 +0200
-@@ -165,39 +165,4 @@
-     set(Module_${_name} ON CACHE FORCE "${_description}")
-   endif()
- 
--  if(Module_${_name})
--    itk_download_attempt_check(Module_${_name})
--    include(CMakeParseArguments)
--    cmake_parse_arguments(_fetch_options "" "GIT_REPOSITORY;GIT_TAG" "" ${ARGN})
--    find_package(Git)
--    if(NOT GIT_EXECUTABLE)
--      message(FATAL_ERROR "error: could not find git for clone of ${_name}")
--    endif()
--    execute_process(
--      COMMAND "${GIT_EXECUTABLE}" --version
--      OUTPUT_VARIABLE ov
--      OUTPUT_STRIP_TRAILING_WHITESPACE
--      )
--    string(REGEX REPLACE "^git version (.+)$" "\\1" _version "${ov}")
--    if("${_version}" VERSION_LESS 1.6.6)
--      message(FATAL_ERROR "Git version 1.6.6 or later is required.")
--    endif()
--
--    set(REMOTE_GIT_TAG "${_fetch_options_GIT_TAG}")
--
--    if( DEFINED REMOTE_GIT_TAG_${_name} AND NOT "${REMOTE_GIT_TAG_${_name}}" STREQUAL "${_fetch_options_GIT_TAG}")
--      set(REMOTE_GIT_TAG "${REMOTE_GIT_TAG_${_name}}")
--      message(STATUS "NOTE: Using override 'REMOTE_GIT_TAG_${_name}=${REMOTE_GIT_TAG}'\n"
--                     "      instead of value 'GIT_TAG=${_fetch_options_GIT_TAG}'\n"
--                     "      specified in file ${ITK_SOURCE_DIR}/Modules/Remote/${_name}.remote.cmake'")
--    endif()
--    set(REMOTE_GIT_TAG_${_name} "${REMOTE_GIT_TAG}" CACHE STRING "Override default GIT_TAG value for remote module ${_name}")
--    mark_as_advanced(REMOTE_GIT_TAG_${_name})
--
--    _fetch_with_git("${GIT_EXECUTABLE}"
--      "${_fetch_options_GIT_REPOSITORY}"
--      "${REMOTE_GIT_TAG}"
--      "${ITK_SOURCE_DIR}/Modules/Remote/${_name}"
--      )
--  endif()
- endfunction()

diff --git a/sci-libs/itk/files/itk-5.1.0-downloads.patch b/sci-libs/itk/files/itk-5.1.0-downloads.patch
deleted file mode 100644
index 34fdb76d1..000000000
--- a/sci-libs/itk/files/itk-5.1.0-downloads.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/CMake/ITKDownloadSetup.cmake	2020-07-30 19:03:10.330325423 -0400
-+++ b/CMake/ITKDownloadSetup.cmake	2020-07-30 19:03:10.330325423 -0400
-@@ -11,7 +11,7 @@
-
- macro(itk_download_attempt_check _name)
-   if(ITK_FORBID_DOWNLOADS)
--    message(SEND_ERROR "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
-+    message(WARNING "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
-   endif()
- endmacro()
-
---- a/Modules/Remote/GenericLabelInterpolator.remote.cmake	2020-04-25 14:30:53.000000000 -0400
-+++ b/Modules/Remote/GenericLabelInterpolator.remote.cmake	2020-04-25 14:30:53.000000000 -0400
-@@ -44,6 +44,4 @@
- itk_fetch_module(GenericLabelInterpolator
-   "A generic interpolator for multi-label images."
-   MODULE_COMPLIANCE_LEVEL 2
--  GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git
--  GIT_TAG b95fe46c7f4fe8002af67c67e6fe4e1f087bf6b7
-   )

diff --git a/sci-libs/itk/files/itk-5.1.0-include_limits.patch b/sci-libs/itk/files/itk-5.1.0-include_limits.patch
deleted file mode 100644
index 9a8fae820..000000000
--- a/sci-libs/itk/files/itk-5.1.0-include_limits.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
-+++ a/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
-@@ -16,6 +16,7 @@
-
- #include "gdcmImageToImageFilter.h"
- #include "gdcmPhotometricInterpretation.h"
-+#include <limits>
-
- namespace gdcm
- {

diff --git a/sci-libs/itk/files/nrrdio-linking.patch b/sci-libs/itk/files/nrrdio-linking.patch
deleted file mode 100644
index a549650d2..000000000
--- a/sci-libs/itk/files/nrrdio-linking.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Description: Link libITKNrrdIO with -lm (needed for sqrt)
-Author: Steve Robbins <smr@debian.org>
-Forwarded: no
-
---- insighttoolkit4-4.5.0.orig/Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeLists.txt
-+++ insighttoolkit4-4.5.0/Modules/ThirdParty/NrrdIO/src/NrrdIO/CMakeLists.txt
-@@ -64,7 +64,7 @@
- ADD_DEFINITIONS(-DTEEM_ZLIB=1)
- 
- ADD_LIBRARY(ITKNrrdIO ${nrrdio_SRCS} )
--TARGET_LINK_LIBRARIES(ITKNrrdIO ${ITKZLIB_LIBRARIES})
-+TARGET_LINK_LIBRARIES(ITKNrrdIO ${ITKZLIB_LIBRARIES} -lm)
- 
- IF(ITK_LIBRARY_PROPERTIES)
-   SET_TARGET_PROPERTIES(ITKNrrdIO PROPERTIES ${ITK_LIBRARY_PROPERTIES})

diff --git a/sci-libs/itk/files/tests.patch b/sci-libs/itk/files/tests.patch
deleted file mode 100644
index c24714e4d..000000000
--- a/sci-libs/itk/files/tests.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Known to fail by upstream:
-https://github.com/InsightSoftwareConsortium/ITK/issues/1212#issuecomment-527998115
-
---- a/Modules/Bridge/VtkGlue/test/CMakeLists.txt	2019-09-09 00:45:14.736032139 +0200
-+++ b/Modules/Bridge/VtkGlue/test/CMakeLists.txt	2019-09-09 00:49:42.183935497 +0200
-@@ -7,8 +7,6 @@
- if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
-   list(APPEND ITKVtkGlueTests
-     itkVtkMedianFilterTest.cxx
--    itkVtkConnectedComponentImageFilterTest.cxx
--    QuickViewTest.cxx
-     # ### runViewImage ###
-     # No test generated. Use it for view images (2D or 3D) with:
-     # ITKVtkGlueTestDriver runViewImage image_file
-@@ -40,26 +38,3 @@
-   NAME itkVTKImageToImageFilterTest
-   COMMAND ITKVtkGlueTestDriver
-     itkVTKImageToImageFilterTest)
--
--if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
--  itk_add_test(
--    NAME itkVtkMedianImageFilterTest
--    COMMAND ITKVtkGlueTestDriver
--      itkVtkMedianFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png} 2)
--  set_property(TEST itkVtkMedianImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--
--  itk_add_test(
--    NAME QuickViewTest
--    COMMAND ITKVtkGlueTestDriver
--             --compare DATA{Baseline/QuickViewTest.png,:}
--                       ${ITK_TEST_OUTPUT_DIR}/QuickViewTest0.png
--             --compareNumberOfPixelsTolerance 1500
--      QuickViewTest DATA{${ITK_DATA_ROOT}/Input/peppers.png} ${ITK_TEST_OUTPUT_DIR})
--  set_property(TEST QuickViewTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--
--  itk_add_test(
--    NAME itkVtkConnectedComponentImageFilterTest
--    COMMAND ITKVtkGlueTestDriver
--      itkVtkConnectedComponentImageFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png})
--  set_property(TEST itkVtkConnectedComponentImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--endif()

diff --git a/sci-libs/itk/itk-5.0.1.ebuild b/sci-libs/itk/itk-5.0.1.ebuild
deleted file mode 100644
index 4580c659a..000000000
--- a/sci-libs/itk/itk-5.0.1.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="InsightToolkit"
-MY_P="${MY_PN}-${PV}"
-GLI_HASH="187ab99b7d42718c99e5017f0acd3900d7469bd1"
-GLI_TEST_HASH="57b5d5de8d777f10f269445a"
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="
-	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
-	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.tar.gz -> ITKGenericLabelInterpolator-${PV}.tar.gz
-	test? (
-		https://data.kitware.com/api/v1/folder/${GLI_TEST_HASH}/download -> ITKGenericLabelInterpolator_test-${PV}.zip
-		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
-		)
-	"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples fftw python review test vtkglue"
-RESTRICT="!test? ( test )"
-# python will not work, this is a know issue upstream:
-# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
-# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
-
-RDEPEND="
-	dev-libs/double-conversion:0=
-	media-libs/openjpeg:2
-	media-libs/libpng:0=
-	media-libs/tiff:0=
-	sci-libs/dcmtk:0=
-	sci-libs/hdf5:0=[cxx]
-	sys-libs/zlib:0=
-	media-libs/libjpeg-turbo:0=
-	fftw? ( sci-libs/fftw:3.0= )
-	vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
-	python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
-	sys-apps/coreutils
-	python? (
-		>=dev-lang/swig-2.0:0
-		dev-cpp/castxml
-	)
-	doc? ( app-doc/doxygen )
-"
-BDEPEND="app-arch/unzip"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}"/ITKModuleRemote.patch
-	"${FILESDIR}"/tests.patch
-)
-
-pkg_pretend() {
-	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
-		elog "To tune ITK to make the best use of working memory you can set"
-		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
-		elog "in make.conf, default is 1 (unit is GB)"
-	fi
-	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
-		elog "For Python language bindings, you can define the dimensions"
-		elog "you want to create bindings for by setting"
-		elog "    ITK_WRAP_DIMS=X;Y;Z..."
-		elog "in make.conf, default is 2;3 for 2D and 3D data"
-	fi
-}
-
-src_prepare() {
-	sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
-		Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
-	ln -sr ../ITKGenericLabelInterpolator-* Modules/Remote/ITKGenericLabelInterpolator || die
-	if use test; then
-		for filename in ../GenericLabelInterpolator/test/*/*mha; do
-			MD5=$(md5sum $filename) || die
-			MD5=${MD5%  *} || die
-			cp "$filename" ".ExternalData/MD5/${MD5}" || die
-		done
-	fi
-	cmake_src_prepare
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DBUILD_SHARED_LIBS=ON
-		-DGDCM_USE_SYSTEM_OPENJPEG=ON
-		-DITK_FORBID_DOWNLOADS:BOOL=OFF
-		-DITK_USE_SYSTEM_DCMTK=ON
-		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
-		-DITK_USE_SYSTEM_CASTXML=ON
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_USE_KWSTYLE=OFF
-		-DITK_BUILD_DEFAULT_MODULES=ON
-		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
-		-DWRAP_ITK_JAVA=OFF
-		-DWRAP_ITK_TCL=OFF
-		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
-		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
-		-DModule_GenericLabelInterpolator:BOOL=ON
-		-DModule_ITKReview:BOOL=ON
-		-DBUILD_TESTING="$(usex test ON OFF)"
-		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
-		-DITK_USE_REVIEW="$(usex review ON OFF)"
-		-DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
-		-DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use vtkglue; then
-		mycmakeargs+=(
-			-DModule_ITKVtkGlue=ON
-		)
-	fi
-	if use python; then
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=ON
-			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
-		)
-	else
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=OFF
-		)
-	fi
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-
-	if use examples; then
-		docinto examples
-		docompress -x /usr/share/doc/${PF}/examples
-		dodoc -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
-		ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
-	doenvd "${T}"/40${PN}
-
-	if use doc; then
-		cd "${WORKDIR}"/html || die
-		rm  *.md5 || die "Failed to remove superfluous hashes"
-		einfo "Installing API docs. This may take some time."
-		docinto api-docs
-		dodoc -r *
-	fi
-}

diff --git a/sci-libs/itk/itk-5.1.0.ebuild b/sci-libs/itk/itk-5.1.0.ebuild
deleted file mode 100644
index e6e0b25f9..000000000
--- a/sci-libs/itk/itk-5.1.0.ebuild
+++ /dev/null
@@ -1,191 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="InsightToolkit"
-MY_P="${MY_PN}-${PV}"
-GLI_HASH="a02cbeaf28cb3d28ac66b9ac651073530eb6ab78"
-TEST_HASH="0eb202e23ae81be123b1b26cf31a9ba743824700"
-declare -a GLI_TEST_HASHES=(
-	"a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
-	"bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
-)
-
-GLI_TEST_SRC=""
-for i in "${GLI_TEST_HASHES[@]}"; do
-	GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i} -> ${P}-test-${i} "
-done
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="
-	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
-	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.tar.gz -> ITKGenericLabelInterpolator-${PV}.tar.gz
-	test? (
-		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
-		https://github.com/InsightSoftwareConsortium/ITKTestingData/archive/${TEST_HASH}.tar.gz -> ${P}-testingdata.tar.gz
-		${GLI_TEST_SRC}
-		)
-	"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples fftw itkv4-compat python review test vtkglue"
-RESTRICT="!test? ( test )"
-# python will not work, this is a know issue upstream:
-# https://github.com/InsightSoftwareConsortium/ITK/issues/2005
-# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
-# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
-
-RDEPEND="
-	dev-libs/double-conversion:0=
-	media-libs/openjpeg:2
-	media-libs/libpng:0=
-	media-libs/tiff:0=[jpeg]
-	sci-libs/dcmtk:0=
-	sci-libs/hdf5:0=[cxx]
-	sys-libs/zlib:0=
-	media-libs/libjpeg-turbo:0=
-	fftw? ( sci-libs/fftw:3.0= )
-	vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
-	python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
-	sys-apps/coreutils
-	python? (
-		>=dev-lang/swig-2.0:0
-		dev-cpp/castxml
-	)
-	doc? ( app-doc/doxygen )
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}"/tests.patch
-	"${FILESDIR}"/${P}-downloads.patch
-	"${FILESDIR}"/${P}-include_limits.patch
-)
-
-pkg_pretend() {
-	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
-		elog "To tune ITK to make the best use of working memory you can set"
-		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
-		elog "in make.conf, default is 1 (unit is GB)"
-	fi
-	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
-		elog "For Python language bindings, you can define the dimensions"
-		elog "you want to create bindings for by setting"
-		elog "    ITK_WRAP_DIMS=X;Y;Z..."
-		elog "in make.conf, default is 2;3 for 2D and 3D data"
-	fi
-}
-
-src_prepare() {
-	sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
-		Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
-	ln -sr ../ITKGenericLabelInterpolator-* Modules/External/ITKGenericLabelInterpolator || die
-	cmake_src_prepare
-	if use test; then
-		cp -rf "../ITKTestingData-${TEST_HASH}/"* ".ExternalData/" || die
-		mv "../ITKTestingData-${TEST_HASH}" "${BUILD_DIR}/.ExternalData" || die
-		for i in "${GLI_TEST_HASHES[@]}"; do
-			cp "${DISTDIR}/${i}" ".ExternalData/SHA512/" || die
-			cp "${DISTDIR}/${i}" "${BUILD_DIR}/.ExternalData/SHA512/" || die
-		done
-	fi
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
-		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
-		-DBUILD_SHARED_LIBS=ON
-		-DBUILD_TESTING="$(usex test ON OFF)"
-		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
-		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
-		-DGDCM_USE_SYSTEM_OPENJPEG=ON
-		-DITK_FORBID_DOWNLOADS:BOOL=ON
-		-DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
-		-DITK_USE_REVIEW="$(usex review ON OFF)"
-		-DITK_USE_SYSTEM_DCMTK=ON
-		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
-		-DITK_USE_SYSTEM_CASTXML=ON
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_USE_KWSTYLE=OFF
-		-DITK_BUILD_DEFAULT_MODULES=ON
-		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
-		-DModule_GenericLabelInterpolator:BOOL=ON
-		-DModule_ITKReview:BOOL=ON
-		-DWRAP_ITK_JAVA=OFF
-		-DWRAP_ITK_TCL=OFF
-		-DITKV4_COMPATIBILITY:BOOL=$(usex itkv4-compat)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use vtkglue; then
-		mycmakeargs+=(
-			-DModule_ITKVtkGlue=ON
-		)
-	fi
-	if use python; then
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=ON
-			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
-		)
-	else
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=OFF
-		)
-	fi
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-
-	if use examples; then
-		docinto examples
-		docompress -x /usr/share/doc/${PF}/examples
-		dodoc -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
-		ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
-	doenvd "${T}"/40${PN}
-
-	if use doc; then
-		cd "${WORKDIR}"/html || die
-		rm  *.md5 || die "Failed to remove superfluous hashes"
-		einfo "Installing API docs. This may take some time."
-		docinto api-docs
-		dodoc -r *
-	fi
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2022-09-15 11:17 Andrew Ammerlaan
  0 siblings, 0 replies; 8+ messages in thread
From: Andrew Ammerlaan @ 2022-09-15 11:17 UTC (permalink / raw
  To: gentoo-commits

commit:     9ff3b1053e275f3a30fa574c79f3ee1af8cbeca0
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 15 11:09:45 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Sep 15 11:09:45 2022 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=9ff3b105

Revert "sci-libs/itk: add 5.1.0"

This reverts commit 42b8aadc9ce1de416e55dba98c3ba02a0177366f.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-libs/itk/files/itk-5.1.0-downloads.patch      |  20 ---
 sci-libs/itk/files/itk-5.1.0-include_limits.patch |  10 --
 sci-libs/itk/files/tests.patch                    |  41 -----
 sci-libs/itk/itk-5.1.0.ebuild                     | 191 ----------------------
 4 files changed, 262 deletions(-)

diff --git a/sci-libs/itk/files/itk-5.1.0-downloads.patch b/sci-libs/itk/files/itk-5.1.0-downloads.patch
deleted file mode 100644
index 34fdb76d1..000000000
--- a/sci-libs/itk/files/itk-5.1.0-downloads.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/CMake/ITKDownloadSetup.cmake	2020-07-30 19:03:10.330325423 -0400
-+++ b/CMake/ITKDownloadSetup.cmake	2020-07-30 19:03:10.330325423 -0400
-@@ -11,7 +11,7 @@
-
- macro(itk_download_attempt_check _name)
-   if(ITK_FORBID_DOWNLOADS)
--    message(SEND_ERROR "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
-+    message(WARNING "Attempted to download ${_name} when ITK_FORBID_DOWNLOADS is ON")
-   endif()
- endmacro()
-
---- a/Modules/Remote/GenericLabelInterpolator.remote.cmake	2020-04-25 14:30:53.000000000 -0400
-+++ b/Modules/Remote/GenericLabelInterpolator.remote.cmake	2020-04-25 14:30:53.000000000 -0400
-@@ -44,6 +44,4 @@
- itk_fetch_module(GenericLabelInterpolator
-   "A generic interpolator for multi-label images."
-   MODULE_COMPLIANCE_LEVEL 2
--  GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git
--  GIT_TAG b95fe46c7f4fe8002af67c67e6fe4e1f087bf6b7
-   )

diff --git a/sci-libs/itk/files/itk-5.1.0-include_limits.patch b/sci-libs/itk/files/itk-5.1.0-include_limits.patch
deleted file mode 100644
index 9a8fae820..000000000
--- a/sci-libs/itk/files/itk-5.1.0-include_limits.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
-+++ a/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmImageChangePhotometricInterpretation.h
-@@ -16,6 +16,7 @@
-
- #include "gdcmImageToImageFilter.h"
- #include "gdcmPhotometricInterpretation.h"
-+#include <limits>
-
- namespace gdcm
- {

diff --git a/sci-libs/itk/files/tests.patch b/sci-libs/itk/files/tests.patch
deleted file mode 100644
index c24714e4d..000000000
--- a/sci-libs/itk/files/tests.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Known to fail by upstream:
-https://github.com/InsightSoftwareConsortium/ITK/issues/1212#issuecomment-527998115
-
---- a/Modules/Bridge/VtkGlue/test/CMakeLists.txt	2019-09-09 00:45:14.736032139 +0200
-+++ b/Modules/Bridge/VtkGlue/test/CMakeLists.txt	2019-09-09 00:49:42.183935497 +0200
-@@ -7,8 +7,6 @@
- if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
-   list(APPEND ITKVtkGlueTests
-     itkVtkMedianFilterTest.cxx
--    itkVtkConnectedComponentImageFilterTest.cxx
--    QuickViewTest.cxx
-     # ### runViewImage ###
-     # No test generated. Use it for view images (2D or 3D) with:
-     # ITKVtkGlueTestDriver runViewImage image_file
-@@ -40,26 +38,3 @@
-   NAME itkVTKImageToImageFilterTest
-   COMMAND ITKVtkGlueTestDriver
-     itkVTKImageToImageFilterTest)
--
--if(NOT VTK_RENDERING_BACKEND STREQUAL "None")
--  itk_add_test(
--    NAME itkVtkMedianImageFilterTest
--    COMMAND ITKVtkGlueTestDriver
--      itkVtkMedianFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png} 2)
--  set_property(TEST itkVtkMedianImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--
--  itk_add_test(
--    NAME QuickViewTest
--    COMMAND ITKVtkGlueTestDriver
--             --compare DATA{Baseline/QuickViewTest.png,:}
--                       ${ITK_TEST_OUTPUT_DIR}/QuickViewTest0.png
--             --compareNumberOfPixelsTolerance 1500
--      QuickViewTest DATA{${ITK_DATA_ROOT}/Input/peppers.png} ${ITK_TEST_OUTPUT_DIR})
--  set_property(TEST QuickViewTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--
--  itk_add_test(
--    NAME itkVtkConnectedComponentImageFilterTest
--    COMMAND ITKVtkGlueTestDriver
--      itkVtkConnectedComponentImageFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png})
--  set_property(TEST itkVtkConnectedComponentImageFilterTest APPEND PROPERTY LABELS REQUIRES_DISPLAY)
--endif()

diff --git a/sci-libs/itk/itk-5.1.0.ebuild b/sci-libs/itk/itk-5.1.0.ebuild
deleted file mode 100644
index 34d2c215d..000000000
--- a/sci-libs/itk/itk-5.1.0.ebuild
+++ /dev/null
@@ -1,191 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="InsightToolkit"
-MY_P="${MY_PN}-${PV}"
-GLI_HASH="a02cbeaf28cb3d28ac66b9ac651073530eb6ab78"
-TEST_HASH="0eb202e23ae81be123b1b26cf31a9ba743824700"
-declare -a GLI_TEST_HASHES=(
-	"a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
-	"bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
-)
-
-GLI_TEST_SRC=""
-for i in "${GLI_TEST_HASHES[@]}"; do
-	GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i} -> ${P}-test-${i} "
-done
-
-DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
-HOMEPAGE="http://www.itk.org"
-SRC_URI="
-	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
-	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/${GLI_HASH}.tar.gz -> ITKGenericLabelInterpolator-${PV}.tar.gz
-	test? (
-		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
-		https://github.com/InsightSoftwareConsortium/ITKTestingData/archive/${TEST_HASH}.tar.gz -> ${P}-testingdata.tar.gz
-		${GLI_TEST_SRC}
-		)
-	"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples fftw itkv4-compat python review test vtkglue"
-RESTRICT="!test? ( test )"
-# python will not work, this is a know issue upstream:
-# https://github.com/InsightSoftwareConsortium/ITK/issues/2005
-# https://github.com/InsightSoftwareConsortium/ITK/issues/1229
-# https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/issues/10
-
-RDEPEND="
-	dev-libs/double-conversion:0=
-	media-libs/openjpeg:2
-	media-libs/libpng:0=
-	media-libs/tiff:0=[jpeg]
-	sci-libs/dcmtk:0=
-	sci-libs/hdf5:0=[cxx]
-	sys-libs/zlib:0=
-	media-libs/libjpeg-turbo:0=
-	fftw? ( sci-libs/fftw:3.0= )
-	vtkglue? ( sci-libs/vtk:0=[rendering,python?] )
-	python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
-	sys-apps/coreutils
-	python? (
-		>=dev-lang/swig-2.0:0
-		dev-libs/castxml
-	)
-	doc? ( app-doc/doxygen )
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}"/tests.patch
-	"${FILESDIR}"/${P}-downloads.patch
-	"${FILESDIR}"/${P}-include_limits.patch
-)
-
-pkg_pretend() {
-	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
-		elog "To tune ITK to make the best use of working memory you can set"
-		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
-		elog "in make.conf, default is 1 (unit is GB)"
-	fi
-	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
-		elog "For Python language bindings, you can define the dimensions"
-		elog "you want to create bindings for by setting"
-		elog "    ITK_WRAP_DIMS=X;Y;Z..."
-		elog "in make.conf, default is 2;3 for 2D and 3D data"
-	fi
-}
-
-src_prepare() {
-	sed -i -e "s/find_package(OpenJPEG 2.0.0/find_package(OpenJPEG/g"\
-		Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt
-	ln -sr ../ITKGenericLabelInterpolator-* Modules/External/ITKGenericLabelInterpolator || die
-	cmake_src_prepare
-	if use test; then
-		cp -rf "../ITKTestingData-${TEST_HASH}/"* ".ExternalData/" || die
-		mv "../ITKTestingData-${TEST_HASH}" "${BUILD_DIR}/.ExternalData" || die
-		for i in "${GLI_TEST_HASHES[@]}"; do
-			cp "${DISTDIR}/${i}" ".ExternalData/SHA512/" || die
-			cp "${DISTDIR}/${i}" "${BUILD_DIR}/.ExternalData/SHA512/" || die
-		done
-	fi
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
-		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
-		-DBUILD_SHARED_LIBS=ON
-		-DBUILD_TESTING="$(usex test ON OFF)"
-		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
-		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
-		-DGDCM_USE_SYSTEM_OPENJPEG=ON
-		-DITK_FORBID_DOWNLOADS:BOOL=ON
-		-DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
-		-DITK_USE_REVIEW="$(usex review ON OFF)"
-		-DITK_USE_SYSTEM_DCMTK=ON
-		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
-		-DITK_USE_SYSTEM_CASTXML=ON
-		-DITK_USE_SYSTEM_HDF5=ON
-		-DITK_USE_SYSTEM_JPEG=ON
-		-DITK_USE_SYSTEM_PNG=ON
-		-DITK_USE_SYSTEM_SWIG=ON
-		-DITK_USE_SYSTEM_TIFF=ON
-		-DITK_USE_SYSTEM_ZLIB=ON
-		-DITK_USE_KWSTYLE=OFF
-		-DITK_BUILD_DEFAULT_MODULES=ON
-		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
-		-DModule_GenericLabelInterpolator:BOOL=ON
-		-DModule_ITKReview:BOOL=ON
-		-DWRAP_ITK_JAVA=OFF
-		-DWRAP_ITK_TCL=OFF
-		-DITKV4_COMPATIBILITY:BOOL=$(usex itkv4-compat)
-	)
-	if use fftw; then
-		mycmakeargs+=(
-			-DUSE_FFTWD=ON
-			-DUSE_FFTWF=ON
-			-DUSE_SYSTEM_FFTW=ON
-			-DITK_WRAP_double=ON
-			-DITK_WRAP_vector_double=ON
-			-DITK_WRAP_covariant_vector_double=ON
-			-DITK_WRAP_complex_double=ON
-		)
-	fi
-	if use vtkglue; then
-		mycmakeargs+=(
-			-DModule_ITKVtkGlue=ON
-		)
-	fi
-	if use python; then
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=ON
-			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
-		)
-	else
-		mycmakeargs+=(
-			-DITK_WRAP_PYTHON=OFF
-		)
-	fi
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-
-	if use examples; then
-		docinto examples
-		docompress -x /usr/share/doc/${PF}/examples
-		dodoc -r "${S}"/Examples/*
-	fi
-
-	echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN}
-	local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
-	if use python; then
-		echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
-		ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
-	fi
-	echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
-	doenvd "${T}"/40${PN}
-
-	if use doc; then
-		cd "${WORKDIR}"/html || die
-		rm  *.md5 || die "Failed to remove superfluous hashes"
-		einfo "Installing API docs. This may take some time."
-		docinto api-docs
-		dodoc -r *
-	fi
-}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2022-09-30 10:18 Andrew Ammerlaan
  0 siblings, 0 replies; 8+ messages in thread
From: Andrew Ammerlaan @ 2022-09-30 10:18 UTC (permalink / raw
  To: gentoo-commits

commit:     76b20521901742c59aa823035357a3a49ebb0aad
Author:     François-Xavier Carton <fx.carton91 <AT> gmail <DOT> com>
AuthorDate: Thu Sep 29 18:08:30 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 06:49:55 2022 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=76b20521

sci-libs/itk: add upstream patch to fix building tests

Needed since commit b6218b "sci-libs/itk: add AdaptiveDenoising module"
because the commit used for that remote module is too recent and needs
that ITK commit.

Signed-off-by: François-Xavier Carton <fx.carton91 <AT> gmail.com>
Closes: https://github.com/gentoo/sci/pull/1172
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch  | 54 ++++++++++++++++++++++
 .../{itk-5.2.1-r1.ebuild => itk-5.2.1-r2.ebuild}   |  0
 2 files changed, 54 insertions(+)

diff --git a/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch b/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
index 2e547d9ca..2af8c4998 100644
--- a/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
+++ b/sci-libs/itk/files/itk-5.2.1-upstream-fixes.patch
@@ -1,6 +1,7 @@
 https://github.com/InsightSoftwareConsortium/ITK/commit/2a7f5ed199926999b67f61a97c2c9a2595a11558.patch
 https://github.com/InsightSoftwareConsortium/ITK/commit/0c31aa688e82a34e5430873bc6176740fd09ad75.patch
 https://github.com/InsightSoftwareConsortium/ITK/commit/28325d921a9b8793e6aaefd612f53989f951d19c.patch
+https://github.com/InsightSoftwareConsortium/ITK/commit/aafd1f9631d0fad60e1b6f53e049e95a50c48bd1.patch
 
 From 2a7f5ed199926999b67f61a97c2c9a2595a11558 Mon Sep 17 00:00:00 2001
 From: Niels Dekker <N.Dekker@lumc.nl>
@@ -253,3 +254,56 @@ index fca3d999b87..3b7a1d37334 100644
    file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/detect_site_package_path.py ${python_check})
    execute_process(COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}/detect_site_package_path.py"
      OUTPUT_VARIABLE py_spp
+From aafd1f9631d0fad60e1b6f53e049e95a50c48bd1 Mon Sep 17 00:00:00 2001
+From: Hans Johnson <hans-johnson@uiowa.edu>
+Date: Wed, 15 Dec 2021 08:10:58 -0600
+Subject: [PATCH] COMP: Remove inclusion of .hxx files as headers
+
+The ability to include either .h or .hxx files as
+header files required recursively reading the
+.h files twice.  The added complexity is
+unnecessary, costly, and can confuse static
+analysis tools that monitor header guardes (due
+to reaching the maximum depth of recursion
+limits for nested #ifdefs in checking).
+
+Co-authored-by: Simon Rit <simon.rit@creatis.insa-lyon.fr>
+---
+ CMake/ITKModuleHeaderTest.cmake          | 3 +--
+ Utilities/Maintenance/BuildHeaderTest.py | 4 ----
+ 2 files changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/CMake/ITKModuleHeaderTest.cmake b/CMake/ITKModuleHeaderTest.cmake
+index eb809d7e93d..82ad192a6f8 100644
+--- a/CMake/ITKModuleHeaderTest.cmake
++++ b/CMake/ITKModuleHeaderTest.cmake
+@@ -36,8 +36,7 @@ macro( itk_module_headertest _name )
+     # effected.
+     set( _include ${${_name}_SOURCE_DIR}/include )
+     file( GLOB _h_files ${_include}/*.h )
+-    file( GLOB _hxx_files ${_include}/*.hxx )
+-    set( _header_files ${_h_files} ${_hxx_files} )
++    set( _header_files ${_h_files} )
+     list( LENGTH _h_files _num_headers )
+     set( _outputs ${${_name}_BINARY_DIR}/test/${_name}HeaderTest1.cxx )
+     set( _test_num 1 )
+diff --git a/Utilities/Maintenance/BuildHeaderTest.py b/Utilities/Maintenance/BuildHeaderTest.py
+index 26a4b6ccb3f..f8ed9f7901e 100755
+--- a/Utilities/Maintenance/BuildHeaderTest.py
++++ b/Utilities/Maintenance/BuildHeaderTest.py
+@@ -130,15 +130,11 @@ def main():
+         else:
+             max_idx = added_header_idx + maximum_number_of_headers
+         for i in range(added_header_idx, max_idx):
+-            # Use the .hxx if possible.
+-            hxx_file = h_files[i][:-1] + "hxx"
+             # Files that include VTK headers need to link to VTK.
+             if h_files[i] in BANNED_HEADERS or h_files[i].lower().find("vtk") != -1:
+                 to_include = (
+                     '// #include "' + h_files[i] + '" // Banned in BuildHeaderTest.py\n'
+                 )
+-            elif os.path.exists(os.path.join(module_source_path, "include", hxx_file)):
+-                to_include = '#include "' + hxx_file + '"\n'
+             else:
+                 to_include = '#include "' + h_files[i] + '"\n'
+ 

diff --git a/sci-libs/itk/itk-5.2.1-r1.ebuild b/sci-libs/itk/itk-5.2.1-r2.ebuild
similarity index 100%
rename from sci-libs/itk/itk-5.2.1-r1.ebuild
rename to sci-libs/itk/itk-5.2.1-r2.ebuild


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2023-03-25  1:49 Horea Christian
  0 siblings, 0 replies; 8+ messages in thread
From: Horea Christian @ 2023-03-25  1:49 UTC (permalink / raw
  To: gentoo-commits

commit:     d23b080b9afe74c6590a9827d505e9234c00deb0
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Sat Mar 25 01:48:55 2023 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Sat Mar 25 01:48:55 2023 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=d23b080b

sci-libs/itk: add 5.3.0

Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch | 550 +++++++++++++++++++++
 sci-libs/itk/itk-5.3.0.ebuild                      | 251 ++++++++++
 2 files changed, 801 insertions(+)

diff --git a/sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch b/sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch
new file mode 100644
index 000000000..27f139553
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.3.0-system-openjpeg.patch
@@ -0,0 +1,550 @@
+--- a/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
++++ b/Modules/ThirdParty/OpenJPEG/CMakeLists.txt
+@@ -1,16 +1,32 @@
+ project(ITKOpenJPEG)
+ set(ITKOpenJPEG_THIRD_PARTY 1)
+ 
+-set(ITKOpenJPEG_INCLUDE_DIRS
+-  ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
+-  ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
+-  )
+-set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
++option(ITK_USE_SYSTEM_OPENJPEG "Use system-installed openjpeg" ${ITK_USE_SYSTEM_LIBRARIES})
++mark_as_advanced(ITK_USE_SYSTEM_OPENJPEG)
++
++if(ITK_USE_SYSTEM_OPENJPEG)
++  find_package(OpenJPEG REQUIRED)
++  set(ITKOpenJPEG_INCLUDE_DIRS
++    ${ITKOpenJPEG_BINARY_DIR}/src
++    )
++  set(ITKOpenJPEG_SYSTEM_INCLUDE_DIRS
++    ${OPENJPEG_INCLUDE_DIRS}
++    )
++  set(ITKOpenJPEG_LIBRARIES "${OPENJPEG_LIBRARIES}")
++  set(ITKOpenJPEG_NO_SRC 1)
++else()
++  set(ITKOpenJPEG_INCLUDE_DIRS
++    ${ITKOpenJPEG_BINARY_DIR}/src/openjpeg
++    ${ITKOpenJPEG_SOURCE_DIR}/src/openjpeg
++    )
++  set(ITKOpenJPEG_LIBRARIES itkopenjpeg)
++endif()
++
++configure_file(src/itk_openjpeg.h.in src/itk_openjpeg.h)
+ set(ITK_LIBRARY_PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS FALSE)
+-
+ itk_module_impl()
+ 
+-install(FILES ${ITKOpenJPEG_SOURCE_DIR}/src/itk_openjpeg.h
++install(FILES ${ITKOpenJPEG_BINARY_DIR}/src/itk_openjpeg.h
+   DESTINATION ${ITKOpenJPEG_INSTALL_INCLUDE_DIR}
+   COMPONENT Development
+   )
+diff --git a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+rename from Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h
+rename to Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+--- a/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h
++++ b/Modules/ThirdParty/OpenJPEG/src/itk_openjpeg.h.in
+@@ -25,6 +25,12 @@
+ #ifndef itk_openjpeg_h
+ #define itk_openjpeg_h
+ 
+-#include <itkopenjpeg/openjpeg.h>
++/* Use the openjpeg library configured for ITK.  */
++#cmakedefine ITK_USE_SYSTEM_OPENJPEG
++#ifdef ITK_USE_SYSTEM_OPENJPEG
++# include <openjpeg.h>
++#else
++# include <itkopenjpeg/openjpeg.h>
++#endif
+ 
+ #endif
+--- a/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx
++++ b/Modules/IO/JPEG2000/src/itkJPEG2000ImageIO.cxx
+@@ -27,8 +27,6 @@
+ extern "C"
+ {
+ #include "openjpeg.h"
+-#include "j2k.h"
+-#include "jp2.h"
+ }
+ 
+ 
+@@ -139,11 +137,11 @@
+ {
+   itkDebugMacro(<< "ReadImageInformation()");
+ 
+-  FILE * l_file = fopen(this->m_FileName.c_str(), "rb");
+-
+-  /* decompression parameters */
++  /* set decoding parameters to default values */
++  opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters));
+ 
+-  if (!l_file)
++  opj_stream_t * cio = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true);
++  if (!cio)
+   {
+     itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl
+                                                                           << "Reason: "
+@@ -151,10 +149,5 @@
+   }
+ 
+-  /* set decoding parameters to default values */
+-  opj_set_default_decoder_parameters(&(this->m_Internal->m_DecompressionParameters));
+-
+-  opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, true);
+-
+   this->m_Internal->m_Dinfo = nullptr; /* handle to a decompressor */
+ 
+   opj_image_t * l_image = nullptr;
+@@ -188,9 +181,8 @@
+ 
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K);
+       if (!this->m_Internal->m_Dinfo)
+       {
+         opj_stream_destroy(cio);
+-        fclose(l_file);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+@@ -202,10 +194,9 @@
+     {
+       /* JPEG 2000 compressed image data */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2);
+       if (!this->m_Internal->m_Dinfo)
+       {
+         opj_stream_destroy(cio);
+-        fclose(l_file);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+@@ -217,10 +208,9 @@
+     {
+       /* JPEG 2000, JPIP */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT);
+       if (!this->m_Internal->m_Dinfo)
+       {
+         opj_stream_destroy(cio);
+-        fclose(l_file);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+@@ -230,7 +220,6 @@
+     }
+     default:
+       opj_stream_destroy(cio);
+-      fclose(l_file);
+       itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: "
+@@ -248,26 +237,8 @@
+   }
+ 
+-  // Image parameters - first tile
+-  OPJ_INT32 l_tile_x0;
+-  OPJ_INT32 l_tile_y0;
+-
+-  // Image parameters - tile width, height and number of tiles
+-  OPJ_UINT32 l_tile_width;
+-  OPJ_UINT32 l_tile_height;
+-  OPJ_UINT32 l_nb_tiles_x;
+-  OPJ_UINT32 l_nb_tiles_y;
+-
+   itkDebugMacro(<< "Trying to read header now...");
+ 
+-  bResult = opj_read_header(this->m_Internal->m_Dinfo,
+-                            &l_image,
+-                            &l_tile_x0,
+-                            &l_tile_y0,
+-                            &l_tile_width,
+-                            &l_tile_height,
+-                            &l_nb_tiles_x,
+-                            &l_nb_tiles_y,
+-                            cio);
++  bResult = opj_read_header(cio, this->m_Internal->m_Dinfo, &l_image);
+ 
+   if (!bResult)
+   {
+@@ -284,13 +255,21 @@
+   }
+ 
+-  this->m_Internal->m_TileStartX = l_tile_x0;
+-  this->m_Internal->m_TileStartY = l_tile_y0;
++  opj_codestream_info_v2_t* cp = opj_get_cstr_info(this->m_Internal->m_Dinfo);
++  if (!cp)
++  {
++    opj_stream_destroy(cio);
++    opj_image_destroy(l_image);
++    itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
++                                                              << "Reason: Error while reading image header");
++  }
++  this->m_Internal->m_TileStartX = cp->tx0;
++  this->m_Internal->m_TileStartY = cp->ty0;
+ 
+-  this->m_Internal->m_TileWidth = l_tile_width;
+-  this->m_Internal->m_TileHeight = l_tile_height;
++  this->m_Internal->m_TileWidth = cp->tdx;
++  this->m_Internal->m_TileHeight = cp->tdy;
+ 
+-  this->m_Internal->m_NumberOfTilesInX = l_nb_tiles_x;
+-  this->m_Internal->m_NumberOfTilesInY = l_nb_tiles_y;
++  this->m_Internal->m_NumberOfTilesInX = cp->tw;
++  this->m_Internal->m_NumberOfTilesInY = cp->th;
+ 
+ 
+   itkDebugMacro(<< "Number of Components = " << l_image->numcomps);
+@@ -307,6 +286,7 @@
+   else
+   {
+     opj_stream_destroy(cio);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: "
+                                                               << "Unknown precision in file: "
+@@ -320,6 +300,6 @@
+       break;
+     case 3:
+-      if (l_image->color_space != CLRSPC_SRGB)
++      if (l_image->color_space != OPJ_CLRSPC_SRGB)
+       {
+         itkWarningMacro(<< "file does not specify color space, assuming sRGB");
+       }
+@@ -349,7 +329,6 @@
+ 
+   /* close the byte stream */
+   opj_stream_destroy(cio);
+-  fclose(l_file);
+ 
+   if (this->m_Internal->m_Dinfo)
+   {
+@@ -368,16 +347,7 @@
+ {
+   itkDebugMacro(<< "JPEG2000ImageIO::Read() Begin");
+ 
+-  FILE * l_file = fopen(this->m_FileName.c_str(), "rb");
+-
+-  if (!l_file)
+-  {
+-    itkExceptionMacro("JPEG2000ImageIO failed to open file for reading: " << this->GetFileName() << std::endl
+-                                                                          << "Reason: "
+-                                                                          << itksys::SystemTools::GetLastSystemError());
+-  }
+-
+-  opj_stream_t * l_stream = opj_stream_create_default_file_stream(l_file, true);
++  opj_stream_t * l_stream = opj_stream_create_default_file_stream(this->m_FileName.c_str(), true);
+   if (!l_stream)
+   {
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+@@ -397,9 +367,10 @@
+     {
+       /* JPEG-2000 codestream */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_J2K);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_J2K);
+       if (!this->m_Internal->m_Dinfo)
+       {
++        opj_stream_destroy(l_stream);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+                           << "Reason: opj_create_decompress(CODEC_J2K) returns nullptr");
+@@ -410,9 +381,10 @@
+     {
+       /* JPEG 2000 compressed image data */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JP2);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JP2);
+       if (!this->m_Internal->m_Dinfo)
+       {
++        opj_stream_destroy(l_stream);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+                           << "Reason: opj_create_decompress(CODEC_JP2) returns nullptr");
+@@ -423,9 +395,10 @@
+     {
+       /* JPEG 2000, JPIP */
+       /* get a decoder handle */
+-      this->m_Internal->m_Dinfo = opj_create_decompress(CODEC_JPT);
++      this->m_Internal->m_Dinfo = opj_create_decompress(OPJ_CODEC_JPT);
+       if (!this->m_Internal->m_Dinfo)
+       {
++        opj_stream_destroy(l_stream);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                           << this->GetFileName() << std::endl
+                           << "Reason: opj_create_decompress(CODEC_JPT) returns nullptr");
+@@ -433,7 +406,7 @@
+       break;
+     }
+     default:
+-      fclose(l_file);
++      opj_stream_destroy(l_stream);
+       itkExceptionMacro("JPEG2000ImageIO failed to read file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: "
+@@ -445,32 +418,17 @@
+   if (!opj_setup_decoder(this->m_Internal->m_Dinfo, &(this->m_Internal->m_DecompressionParameters)))
+   {
++    opj_stream_destroy(l_stream);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: opj_setup_decoder returns false");
+   }
+ 
+-  OPJ_INT32 l_tile_x0, l_tile_y0;
+-
+-  OPJ_UINT32 l_tile_width;
+-  OPJ_UINT32 l_tile_height;
+-  OPJ_UINT32 l_nb_tiles_x;
+-  OPJ_UINT32 l_nb_tiles_y;
+-
+-  bool bResult = opj_read_header(this->m_Internal->m_Dinfo,
+-                                 &l_image,
+-                                 &l_tile_x0,
+-                                 &l_tile_y0,
+-                                 &l_tile_width,
+-                                 &l_tile_height,
+-                                 &l_nb_tiles_x,
+-                                 &l_nb_tiles_y,
+-                                 l_stream);
++  bool bResult = opj_read_header(l_stream, this->m_Internal->m_Dinfo, &l_image);
+ 
+   if (!bResult)
+   {
+     opj_destroy_codec(this->m_Internal->m_Dinfo);
+     this->m_Internal->m_Dinfo = nullptr;
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: opj_read_header returns false");
+   }
+@@ -499,7 +457,7 @@
+   itkDebugMacro(<< "p_end_x = " << p_end_x);
+   itkDebugMacro(<< "p_end_y = " << p_end_y);
+ 
+-  bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, p_start_x, p_start_y, p_end_x, p_end_y);
++  bResult = opj_set_decode_area(this->m_Internal->m_Dinfo, l_image, p_start_x, p_start_y, p_end_x, p_end_y);
+ 
+   itkDebugMacro(<< "opj_set_decode_area() after");
+ 
+@@ -509,6 +467,5 @@
+     this->m_Internal->m_Dinfo = nullptr;
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: opj_set_decode_area returns false");
+   }
+@@ -525,13 +482,14 @@
+ 
+   OPJ_UINT32 l_max_data_size = 1000;
+ 
+-  bool l_go_on = true;
++  OPJ_BOOL l_go_on = true;
+ 
+   auto * l_data = (OPJ_BYTE *)malloc(1000);
+ 
+   while (l_go_on)
+   {
+     bool tileHeaderRead = opj_read_tile_header(this->m_Internal->m_Dinfo,
++                                               l_stream,
+                                                &l_tile_index,
+                                                &l_data_size,
+                                                &l_current_tile_x0,
+@@ -540,13 +498,11 @@
+                                                &l_current_tile_y1,
+                                                &l_nb_comps,
+-                                               &l_go_on,
+-                                               l_stream);
++                                               &l_go_on);
+ 
+     if (!tileHeaderRead)
+     {
+       free(l_data);
+       opj_stream_destroy(l_stream);
+-      fclose(l_file);
+       opj_destroy_codec(this->m_Internal->m_Dinfo);
+       opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -571,7 +527,6 @@
+         if (!l_data)
+         {
+           opj_stream_destroy(l_stream);
+-          fclose(l_file);
+           opj_destroy_codec(this->m_Internal->m_Dinfo);
+           opj_image_destroy(l_image);
+           itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -590,7 +545,6 @@
+       {
+         free(l_data);
+         opj_stream_destroy(l_stream);
+-        fclose(l_file);
+         opj_destroy_codec(this->m_Internal->m_Dinfo);
+         opj_image_destroy(l_image);
+         itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -654,7 +608,6 @@
+   {
+     free(l_data);
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     opj_destroy_codec(this->m_Internal->m_Dinfo);
+     opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+@@ -667,13 +620,11 @@
+     this->m_Internal->m_Dinfo = nullptr;
+     opj_stream_destroy(l_stream);
+-    fclose(l_file);
+     itkExceptionMacro("JPEG2000ImageIO failed to read file: " << this->GetFileName() << std::endl
+                                                               << "Reason: error whle reading image");
+   }
+ 
+   /* close the byte stream */
+   opj_stream_destroy(l_stream);
+-  fclose(l_file);
+ 
+   if (this->m_Internal->m_Dinfo)
+   {
+@@ -840,13 +791,13 @@
+ 
+   parameters.numresolution = numberOfResolutions;
+ 
+-  OPJ_COLOR_SPACE      color_space = CLRSPC_GRAY;
++  OPJ_COLOR_SPACE      color_space = OPJ_CLRSPC_GRAY;
+   opj_image_cmptparm_t cmptparms[3];
+ 
+   if (this->GetNumberOfComponents() == 3)
+   {
+ 
+-    color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? CLRSPC_SRGB : CLRSPC_UNSPECIFIED;
++    color_space = (this->GetPixelType() == IOPixelEnum::RGB) ? OPJ_CLRSPC_SRGB : OPJ_CLRSPC_UNSPECIFIED;
+ 
+     /* initialize image components */
+     memset(&cmptparms[0], 0, 3 * sizeof(opj_image_cmptparm_t));
+@@ -864,7 +815,7 @@
+ 
+   if (this->GetNumberOfComponents() == 1)
+   {
+-    color_space = CLRSPC_GRAY;
++    color_space = OPJ_CLRSPC_GRAY;
+ 
+     /* initialize image components */
+     memset(&cmptparms[0], 0, sizeof(opj_image_cmptparm_t));
+@@ -941,8 +892,9 @@
+   if (extension == ".j2k")
+   {
+-    cinfo = opj_create_compress(CODEC_J2K);
++    cinfo = opj_create_compress(OPJ_CODEC_J2K);
+     if (!cinfo)
+     {
++      opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: opj_create_compress(CODEC_J2K) returns nullptr");
+@@ -950,9 +902,10 @@
+   }
+   else if (extension == ".jp2")
+   {
+-    cinfo = opj_create_compress(CODEC_JP2);
++    cinfo = opj_create_compress(OPJ_CODEC_JP2);
+     if (!cinfo)
+     {
++      opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: opj_create_compress(CODEC_JP2) returns nullptr");
+@@ -960,9 +913,10 @@
+   }
+   else if (extension == ".jpt")
+   {
+-    cinfo = opj_create_compress(CODEC_JPT);
++    cinfo = opj_create_compress(OPJ_CODEC_JPT);
+     if (!cinfo)
+     {
++      opj_image_destroy(l_image);
+       itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                         << this->GetFileName() << std::endl
+                         << "Reason: opj_create_compress(CODEC_JPT) returns nullptr");
+@@ -970,6 +924,7 @@
+   }
+   else
+   {
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: unknown encode format: " << extension);
+   }
+@@ -985,23 +940,19 @@
+ 
+   if (!opj_setup_encoder(cinfo, &parameters, l_image))
+   {
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_setup_encoder returns false");
+   }
+ 
+-  FILE * l_file = fopen(parameters.outfile, "wb");
+-  if (!l_file)
+-  {
+-    itkExceptionMacro("JPEG2000ImageIO failed to open file for writing: " << this->GetFileName() << std::endl
+-                                                                          << "Reason: "
+-                                                                          << itksys::SystemTools::GetLastSystemError());
+-  }
+-
+   /* open a byte stream for writing */
+   /* allocate memory for all tiles */
+-  opj_stream_t * cio = opj_stream_create_default_file_stream(l_file, false);
++  opj_stream_t * cio = opj_stream_create_default_file_stream(parameters.outfile, false);
+   if (!cio)
+   {
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: "
+                       << this->GetFileName() << std::endl
+                       << "Reason: "
+@@ -1017,7 +968,8 @@
+   if (!bSuccess)
+   {
+     opj_stream_destroy(cio);
+-    fclose(l_file);
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_start_compress returns false");
+   }
+@@ -1026,7 +978,8 @@
+   if (!bSuccess)
+   {
+     opj_stream_destroy(cio);
+-    fclose(l_file);
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_encode returns false");
+   }
+@@ -1035,14 +988,14 @@
+   if (!bSuccess)
+   {
+     opj_stream_destroy(cio);
+-    fclose(l_file);
++    opj_destroy_codec(cinfo);
++    opj_image_destroy(l_image);
+     itkExceptionMacro("JPEG2000ImageIO failed to write file: " << this->GetFileName() << std::endl
+                                                                << "Reason: opj_end_compress returns false");
+   }
+ 
+   /* close and free the byte stream */
+   opj_stream_destroy(cio);
+-  fclose(l_file);
+ 
+   /* free remaining compression structures */
+   opj_destroy_codec(cinfo);
+--- a/Modules/Nonunit/Review/src/CMakeLists.txt
++++ b/Modules/Nonunit/Review/src/CMakeLists.txt
+@@ -5,7 +5,7 @@
+ 
+ add_library(ITKReview ${ITKReview_SRC})
+ itk_module_link_dependencies()
+-target_link_libraries(ITKReview LINK_PUBLIC ${ITKTestKernel_LIBRARIES} ${ITKIOLSM_LIBRARIES} itkopenjpeg)
++target_link_libraries(ITKReview LINK_PUBLIC ${ITKTestKernel_LIBRARIES} ${ITKIOLSM_LIBRARIES} ${ITKOpenJPEG_LIBRARIES})
+ itk_module_target(ITKReview)
+ 
+ 

diff --git a/sci-libs/itk/itk-5.3.0.ebuild b/sci-libs/itk/itk-5.3.0.ebuild
new file mode 100644
index 000000000..54b7c89b3
--- /dev/null
+++ b/sci-libs/itk/itk-5.3.0.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+VIRTUALX_REQUIRED="manual"
+
+inherit cmake python-single-r1 virtualx
+
+# rsync: [sender] link_stat "/distfiles/1c/itk-test-bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f" (in gentoo) failed: No such file or directory (2)
+
+MY_PN="InsightToolkit"
+MY_P="${MY_PN}-${PV}"
+GLI_V="1.2.0"
+IAD_HASH="24825c8d246e941334f47968553f0ae388851f0c"
+TEST_HASH="bb6d3b9a932333901465c75417fe8859124f5fed"
+declare -a GLI_TEST_HASHES=(
+	"a5e11ea71164ff78c65fcf259db01ea5db981a9d868e60045ff2bffca92984df1174bf984a1076e450f0d5d69b4f0191ed1a61465c220e2c91a893b5df150c0a"
+	"bcdbb347f3704262d1f00be7179d6a0a6e68aed56c0653e8072ee5a94985c713bd229c935b1226a658af84fb7f1fffc2458c98364fc35303a2303b12f9f7ce2f"
+)
+
+GLI_TEST_SRC=""
+for i in "${GLI_TEST_HASHES[@]}"; do
+	GLI_TEST_SRC+="https://data.kitware.com/api/v1/file/hashsum/sha512/${i}/download -> ${PN}-test-${i} "
+done
+
+DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
+HOMEPAGE="https://itk.org"
+SRC_URI="
+	https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/${MY_P}.tar.gz
+	https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator/archive/refs/tags/v${GLI_V}.tar.gz -> ITKGenericLabelInterpolator-${GLI_V}
+	https://github.com/ntustison/ITKAdaptiveDenoising/archive/${IAD_HASH}.tar.gz -> ITKAdaptiveDenoising-${PV}.tar.gz
+	test? (
+		https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${PV}/InsightData-${PV}.tar.gz
+		https://github.com/InsightSoftwareConsortium/ITKTestingData/archive/${TEST_HASH}.tar.gz -> ${P}-testingdata.tar.gz
+		${GLI_TEST_SRC}
+		)
+	"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples fftw itkv4-compat python review test vtkglue"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-cpp/eigen:3
+	dev-libs/double-conversion:0=
+	dev-libs/expat:0=
+	media-libs/openjpeg:2
+	media-libs/libpng:0=
+	media-libs/tiff:0=[jpeg]
+	sci-libs/dcmtk:0=
+	sci-libs/hdf5:0=[cxx]
+	sci-libs/gdcm:0=
+	sys-libs/zlib:0=
+	media-libs/libjpeg-turbo:0=
+	fftw? ( sci-libs/fftw:3.0= )
+	vtkglue? (
+		sci-libs/vtk:0=[rendering]
+		python? (
+			sci-libs/vtk:0=[python,${PYTHON_SINGLE_USEDEP}]
+		)
+	)
+	python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+	sys-apps/coreutils
+	python? (
+		>=dev-lang/swig-2.0:0
+		dev-libs/castxml
+	)
+	doc? ( app-doc/doxygen )
+"
+BDEPEND="
+	test? (
+		vtkglue? ( ${VIRTUALX_DEPEND} )
+		python? (
+			$(python_gen_cond_dep 'dev-python/numpy[${PYTHON_USEDEP}]')
+		)
+	)
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.2.1-system-tiff-has-64.patch"
+	"${FILESDIR}/${PN}-5.3.0-system-openjpeg.patch"
+)
+
+pkg_pretend() {
+	if [[ -z ${ITK_COMPUTER_MEMORY_SIZE} ]]; then
+		elog "To tune ITK to make the best use of working memory you can set"
+		elog "    ITK_COMPUTER_MEMORY_SIZE=XX"
+		elog "in make.conf, default is 1 (unit is GB)"
+	fi
+	if use python && [[ -z ${ITK_WRAP_DIMS} ]]; then
+		elog "For Python language bindings, you can define the dimensions"
+		elog "you want to create bindings for by setting"
+		elog "    ITK_WRAP_DIMS=X;Y;Z..."
+		elog "in make.conf, default is 2;3 for 2D and 3D data"
+	fi
+}
+
+src_prepare() {
+	# drop bundled libs
+	local -a DROPS=(
+		DoubleConversion/src/double-conversion
+		Eigen3/src/itkeigen
+		Expat/src/expat
+		GDCM/src/gdcm
+		JPEG/src/itkjpeg
+		HDF5/src/itkhdf5
+		OpenJPEG/src/openjpeg
+		PNG/src/itkpng
+		TIFF/src/itktiff
+	)
+	local x
+	for x in "${DROPS[@]}"; do
+		ebegin "Dropping bundled ${x%%/*}"
+		rm -r "Modules/ThirdParty/${x}" || die
+		eend $?
+	done
+	{
+		find Modules/ThirdParty -mindepth 2 -maxdepth 2 -type d -name src -printf '%P\n'
+		printf '%s\n' "${DROPS[@]}" | sed 's,/[^/]*$,,'
+	} | sort | uniq -u | xargs -n 1 ewarn "Using bundled" || die
+
+	# Remote modules
+	ln -sr "../ITKGenericLabelInterpolator-${GLI_HASH}" Modules/External/ITKGenericLabelInterpolator || die
+	ln -sr "../ITKAdaptiveDenoising-${IAD_HASH}" Modules/External/ITKAdaptiveDenoising || die
+
+	cmake_src_prepare
+
+	if use test; then
+		cp -rf "../ITKTestingData-${TEST_HASH}/"* ".ExternalData/" || die
+		mv "../ITKTestingData-${TEST_HASH}" "${BUILD_DIR}/.ExternalData" || die
+		for i in "${GLI_TEST_HASHES[@]}"; do
+			cp "${DISTDIR}/${PN}-test-${i}" ".ExternalData/SHA512/${i}" || die
+			cp "${DISTDIR}/${PN}-test-${i}" "${BUILD_DIR}/.ExternalData/SHA512/${i}" || die
+		done
+	fi
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DITK_BUILD_DOCUMENTATION="$(usex doc ON OFF)"
+		-DITK_INSTALL_DOC_DIR="share/doc/${P}"
+		-DBUILD_EXAMPLES="$(usex examples ON OFF)"
+		-DBUILD_SHARED_LIBS=ON
+		-DBUILD_TESTING="$(usex test ON OFF)"
+		-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
+		-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
+		-DGDCM_USE_SYSTEM_OPENJPEG=ON
+		-DITK_FORBID_DOWNLOADS:BOOL=ON
+		-DITK_INSTALL_LIBRARY_DIR=$(get_libdir)
+		-DITK_USE_REVIEW="$(usex review ON OFF)"
+		-DITK_USE_SYSTEM_DCMTK=ON
+		-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
+		-DITK_USE_SYSTEM_CASTXML=ON
+		-DITK_USE_SYSTEM_EIGEN=ON
+		-DITK_USE_SYSTEM_EXPAT=ON
+		-DITK_USE_SYSTEM_GDCM=ON
+		-DITK_USE_SYSTEM_HDF5=ON
+		-DITK_USE_SYSTEM_JPEG=ON
+		-DITK_USE_SYSTEM_OPENJPEG=ON
+		-DITK_USE_SYSTEM_PNG=ON
+		-DITK_USE_SYSTEM_SWIG=ON
+		-DITK_USE_SYSTEM_TIFF=ON
+		-DITK_USE_SYSTEM_ZLIB=ON
+		-DITK_USE_KWSTYLE=OFF
+		-DITK_BUILD_DEFAULT_MODULES=ON
+		-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
+		-DModule_AdaptiveDenoising:BOOL=ON
+		-DModule_GenericLabelInterpolator:BOOL=ON
+		-DModule_ITKReview:BOOL=ON
+		-DWRAP_ITK_JAVA=OFF
+		-DWRAP_ITK_TCL=OFF
+		-DITKV4_COMPATIBILITY:BOOL=$(usex itkv4-compat)
+	)
+	if use fftw; then
+		mycmakeargs+=(
+			-DUSE_FFTWD=ON
+			-DUSE_FFTWF=ON
+			-DUSE_SYSTEM_FFTW=ON
+			-DITK_WRAP_double=ON
+			-DITK_WRAP_vector_double=ON
+			-DITK_WRAP_covariant_vector_double=ON
+			-DITK_WRAP_complex_double=ON
+		)
+	fi
+	if use vtkglue; then
+		mycmakeargs+=(
+			-DModule_ITKVtkGlue=ON
+		)
+	fi
+	if use python; then
+		mycmakeargs+=(
+			-DITK_WRAP_PYTHON=ON
+			-DPython3_EXECUTABLE="${PYTHON}"
+			-DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
+		)
+	else
+		mycmakeargs+=(
+			-DITK_WRAP_PYTHON=OFF
+		)
+	fi
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+
+	if use examples; then
+		docinto examples
+		docompress -x /usr/share/doc/${PF}/examples
+		dodoc -r "${S}"/Examples/*
+	fi
+
+	echo "ITK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data" > ${T}/40${PN} || die
+	local ldpath="${EPREFIX}/usr/$(get_libdir)/InsightToolkit"
+	if use python; then
+		echo "PYTHONPATH=${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN} || die
+		ldpath="${ldpath}:${EPREFIX}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
+	fi
+	echo "LDPATH=${ldpath}" >> "${T}"/40${PN} || die
+	doenvd "${T}"/40${PN}
+
+	if use doc; then
+		cd "${WORKDIR}"/html || die
+		rm  *.md5 || die "Failed to remove superfluous hashes"
+		einfo "Installing API docs. This may take some time."
+		docinto api-docs
+		dodoc -r *
+	fi
+
+	use python && python_optimize
+}
+
+src_test() {
+	# Failing tests reported upstream:
+	# https://github.com/ntustison/ITKAdaptiveDenoising/issues/13
+	if use vtkglue; then
+		virtx cmake_src_test -E "(AdaptiveNonLocalMeansDenoisingImageFilterTest1|AdaptiveNonLocalMeansDenoisingImageFilterTest2)"
+	else
+		cmake_src_test -E "(AdaptiveNonLocalMeansDenoisingImageFilterTest1|AdaptiveNonLocalMeansDenoisingImageFilterTest2)"
+	fi
+}


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/
@ 2023-05-13  1:31 Horea Christian
  0 siblings, 0 replies; 8+ messages in thread
From: Horea Christian @ 2023-05-13  1:31 UTC (permalink / raw
  To: gentoo-commits

commit:     3d21154c5c99a552d9a79c651f09de25594a88b0
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Sat May 13 01:29:30 2023 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Sat May 13 01:30:58 2023 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=3d21154c

sci-libs/itk: patch for newer gcc

Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 sci-libs/itk/files/itk-5.3.0-uint8.patch | 10 ++++++++++
 sci-libs/itk/itk-5.3.0-r1.ebuild         |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/sci-libs/itk/files/itk-5.3.0-uint8.patch b/sci-libs/itk/files/itk-5.3.0-uint8.patch
new file mode 100644
index 000000000..724314574
--- /dev/null
+++ b/sci-libs/itk/files/itk-5.3.0-uint8.patch
@@ -0,0 +1,10 @@
+--- a/Modules/Filtering/MathematicalMorphology/include/itkMathematicalMorphologyEnums.h
++++ b/Modules/Filtering/MathematicalMorphology/include/itkMathematicalMorphologyEnums.h
+@@ -20,6 +20,7 @@
+ 
+ #include <iostream>
+ #include "ITKMathematicalMorphologyExport.h"
++#include <cstdint>
+ 
+ 
+ namespace itk

diff --git a/sci-libs/itk/itk-5.3.0-r1.ebuild b/sci-libs/itk/itk-5.3.0-r1.ebuild
index 23f3341a2..29a3da5d0 100644
--- a/sci-libs/itk/itk-5.3.0-r1.ebuild
+++ b/sci-libs/itk/itk-5.3.0-r1.ebuild
@@ -92,9 +92,11 @@ BDEPEND="
 
 S="${WORKDIR}/${MY_P}"
 
+# uint patch applied by upstream for next release.
 PATCHES=(
 	"${FILESDIR}/${PN}-5.2.1-system-tiff-has-64.patch"
 	"${FILESDIR}/${PN}-5.3.0-system-openjpeg.patch"
+	"${FILESDIR}/${PN}-5.3.0-uint8.patch"
 )
 
 pkg_pretend() {


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-05-13  1:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-25  7:33 [gentoo-commits] proj/sci:master commit in: sci-libs/itk/, sci-libs/itk/files/ Horea Christian
  -- strict thread matches above, loose matches on Subject: below --
2023-05-13  1:31 Horea Christian
2023-03-25  1:49 Horea Christian
2022-09-30 10:18 Andrew Ammerlaan
2022-09-15 11:17 Andrew Ammerlaan
2022-08-31 10:30 Andrew Ammerlaan
2022-08-23 10:58 Andrew Ammerlaan
2019-09-09  8:26 Horea Christian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox