From 91b6270255dca5da928fd7fdb2ed26f544d3a9b1 Mon Sep 17 00:00:00 2001 From: Horea Christian Date: Mon, 9 Sep 2019 06:49:59 +0200 Subject: [PATCH] sci-libs/itk: bump to 5.0.1 Package-Manager: Portage-2.3.72, Repoman-2.3.17 Signed-off-by: Horea Christian --- sci-libs/itk/ChangeLog | 7 ++ sci-libs/itk/Manifest | 5 +- sci-libs/itk/files/ITKModuleRemote.patch | 45 +++++++++++ sci-libs/itk/files/tests.patch | 41 ++++++++++ sci-libs/itk/itk-5.0.0.ebuild | 2 +- .../{itk-4.13.2.ebuild => itk-5.0.1.ebuild} | 76 +++++++++++++------ sci-libs/itk/metadata.xml | 1 - 7 files changed, 149 insertions(+), 28 deletions(-) create mode 100644 sci-libs/itk/files/ITKModuleRemote.patch create mode 100644 sci-libs/itk/files/tests.patch rename sci-libs/itk/{itk-4.13.2.ebuild => itk-5.0.1.ebuild} (57%) diff --git a/sci-libs/itk/ChangeLog b/sci-libs/itk/ChangeLog index b61b94f..db8e06c 100644 --- a/sci-libs/itk/ChangeLog +++ b/sci-libs/itk/ChangeLog @@ -1,3 +1,10 @@ +*itk-5.0.1 (09 Sep 2019) + + 09 Sep 2019; +files/ITKModuleRemote.patch, + +files/tests.patch, +itk-5.0.1.ebuild, -itk-4.13.2.ebuild, itk-5.0.0.ebuild, + metadata.xml: + sci-libs/itk: bump to 5.0.1 + *itk-5.0_rc1 (18 May 2019) 18 May 2019; diff --git a/sci-libs/itk/Manifest b/sci-libs/itk/Manifest index 2b062be..210bb94 100644 --- a/sci-libs/itk/Manifest +++ b/sci-libs/itk/Manifest @@ -1,5 +1,8 @@ +DIST ITKGenericLabelInterpolator-5.0.1.zip 157566 SHA256 18a0f078bcfeee15b4d4c6e61fe67188746f15e7d765d029f537c9c1ad8615d0 SHA512 0783ec5b336bba6f89a1e8ecf92bb9a488f331b839c4ccf6ca11e40e530e4a46232d257a8814b14238695275b48ff57d63600c103c49e9b7895c385f756c533c WHIRLPOOL 5fc5e862d3f0a677945e13fcc2213e76a0a028092464d92866c36cb53501a79c5f680d55df7912962a6b8f7b834d2f930ece744e6ad6bd8c35f94ca19ab59f76 +DIST ITKGenericLabelInterpolator_test-5.0.1.zip 430662 SHA256 1fc57394b08c8cb72d145d8779c73f17095a5c32cb7ca6d60c0b3da7307a68cf SHA512 18e2fb9b2ee210250937b4c7d6dd0e5482c1d251413c50df9f3f212261b6f47d8cd120cbb923dc279f1113a86826e629df03c887e0cd41589cfe85c07cbb17a9 WHIRLPOOL 063157fb2c73c22a19894ebc3008647921a7f2c3a521dcf598c7a02a2d99a3aabbeee2c487f30af762892abc631bb89c0a89486b66009089e7ebe4e7fc55ae38 DIST InsightData-5.0.0.tar.gz 290800449 SHA256 8c29831687ee8bd75292edf1d78c7df889b099a33480f0acc504d1fea4ed010f SHA512 0a2b55971ca04040cd7b9732a66100a848437a36768902bb81a20103232fb25dc4766177a2dba1537e1888b56a7dd1dd5ec93f30273993b826453fe8c36adf14 WHIRLPOOL 6b46ed472fe152159a74443d8616d556613edb62021b2d6123f8c5fa47eb13671940c328c2856f506a31713670bae0672a790ebbcab9740cd2b3fbae03de2cb7 +DIST InsightData-5.0.1.tar.gz 290801718 SHA256 5fc343de9ae8e5fd14ac743a8321f5fb699928c08bf8f426aab7835a92fc805e SHA512 eb766c115049949937d6527937f1f49ef84304a71dc4924581a53173f45c4e5a0c5a0e180550e75ecd840314609580b9d1fe9b2358c5a87c82a2c6aff8e9f50e WHIRLPOOL e123f5e69f4253daa1db2c2f9535cfa00a666a95b80606974b65c5d1f485a6db5656f6db0e9489cd80e550fb3d9c8e10acda7e2d2045497218619bf394a758e9 DIST InsightData-5.0rc01.tar.gz 290621965 SHA256 c4b6172809fd86ee623311001bdf7b79e801bddb9bbb8cb7123b2e5cc04f5c4f SHA512 0be5568b75017a4c4cbfc4a4e7b0339537cd2dc23d5d5637a95002e040b96f923851bc354f3a1447d3802444a951b62d2ef66ad2a0db0961bf2bd9f47399fd9a WHIRLPOOL 35668bb25fc4fd6db3b63683cb26d62f46467f3304998ec3ddcd93cd55c9532f9701feda6f9e9e14c9d3a695434ce8c3e68ba916b1e26e3bb53df2f8aae7836b DIST InsightToolkit-5.0.0.tar.gz 20617888 SHA256 6ef73c8972e775632e4022a3a3158eacd039f095bb660d235b0affb9a9282b38 SHA512 7cbff9e555fe0f351cb83828ef7c1a5fbd698290d53faa438b76192685ca188f7f65a506c31e7d0d637409ea19d56467b6a1177b93b9093055104f2ec031ecd8 WHIRLPOOL a5f97080f0deed2f81e2c0d3bcfc05b9b1351a444eb31072e088ce6001e8ad9573d8d9eb6cc17df874e6e08162099161188aa125559f6bbd4e26ac6c64ef9ed8 -DIST itk-4.13.2.tar.gz 19343413 SHA256 313422d9fedd94851133aad26a65ad9541b9c40099d22b5629d010603ad17f7c SHA512 86641537f804cc2d1ddf935a36e260033a53242e8286da43fd493e48cd2530e5562440a3ce2c61f491c12461b0f5e4fb855bb22a2611417ec8faaa54b97aea96 WHIRLPOOL 0198735615c296a72bd4b1016c90f15e80d7fc724af6ff1c7415512d820cf4ebd19183b514f9607b8907de57159a03c1b23b29eaf5b00bd487f8b4fe2a29940c +DIST InsightToolkit-5.0.1.tar.gz 20627889 SHA256 613b125cbf58481e8d1e36bdeacf7e21aba4b129b4e524b112f70c4d4e6d15a6 SHA512 f36613ff72c513ded3d32504f71308a94fe75555cf9fd22b77485d1375601f6e1f1539cc5ac82a9e1e229bcf514a88ccb55122a7dfc74a6ae1b6604aa70bd814 WHIRLPOOL 8d3f1b426c894c3ecc63981d60a763d92450b08cb00fb82e5f1afc7d034dd784580e2271ca8dba358e49af14f69a1ac52bf1321c8bcc327d1409002edfafd66a DIST v5.0rc01.tar.gz 20944543 SHA256 fa6cd61bc39ccdc53808b9b0df5dd95d63a3c08be130e63ab0f4b77ca9594e46 SHA512 30e327708c7717bb2131911c86802c4104730d146b4263c68ae89384d3f01a6675b3abf5962af14cc7f40984cb1e8eedd911fe0f084a8deb4c79b4239b309728 WHIRLPOOL 6447eccbb17573233f750e3462dadd4c44c177613ca88520787579cc6e10ac523488e44dbf0f3e690a0cc009443b5adccdf62b588bdf6180dbda4a98b7d03cef diff --git a/sci-libs/itk/files/ITKModuleRemote.patch b/sci-libs/itk/files/ITKModuleRemote.patch new file mode 100644 index 0000000..eb13015 --- /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 0000000..c24714e --- /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-5.0.0.ebuild b/sci-libs/itk/itk-5.0.0.ebuild index b22e92d..1e3bb39 100644 --- a/sci-libs/itk/itk-5.0.0.ebuild +++ b/sci-libs/itk/itk-5.0.0.ebuild @@ -86,7 +86,7 @@ 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" -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/itk-4.13.2.ebuild b/sci-libs/itk/itk-5.0.1.ebuild similarity index 57% rename from sci-libs/itk/itk-4.13.2.ebuild rename to sci-libs/itk/itk-5.0.1.ebuild index 91df890..4e06ea5 100644 --- a/sci-libs/itk/itk-4.13.2.ebuild +++ b/sci-libs/itk/itk-5.0.1.ebuild @@ -1,28 +1,40 @@ -# Copyright 1999-2019 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) inherit eutils toolchain-funcs cmake-utils python-single-r1 -MY_HASH="3ee6f1e5c9a18235ca9ab88f7bba6056c09db56d" +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/dzenanz/ITK/archive/${MY_HASH}.tar.gz -> ${P}.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 + ) " - #https://github.com/InsightSoftwareConsortium/ITK/archive/v${PV}.tar.gz -> ${P}.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" +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= + media-libs/openjpeg:2 media-libs/libpng:0= media-libs/tiff:0= sci-libs/dcmtk:0= @@ -30,24 +42,24 @@ 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}/${MYP}" -S="${WORKDIR}/ITK-${MY_HASH}" +S="${WORKDIR}/${MY_P}" PATCHES=( - "${FILESDIR}"/nrrdio-linking.patch + "${FILESDIR}"/ITKModuleRemote.patch + "${FILESDIR}"/tests.patch ) pkg_pretend() { @@ -64,34 +76,48 @@ pkg_pretend() { fi } -src_configure() { - #sed -i \ - # -e 's/find_package(double-conversion REQUIRED)/find_package(double-conversion CONFIG REQUIRED)/g' \ - # Modules/ThirdParty/DoubleConversion/CMakeLists.txt || die +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 +} +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_GCCXML=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 - $(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) + -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_INSTALL_LIBRARY_DIR=$(get_libdir) ) - #-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion" - #-Ddouble-conversion_LIBRARIES="-ldouble-conversion" if use fftw; then mycmakeargs+=( -DUSE_FFTWD=ON diff --git a/sci-libs/itk/metadata.xml b/sci-libs/itk/metadata.xml index 8485fb7..7c45353 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. - Enable compatibility with ITK version 3 Enable compilation of methods under review PLEASE FIX MY DESCRIPTION