# Copyright 2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" PYTHON_DEPEND="2:2.6" inherit eutils toolchain-funcs cmake-utils DESCRIPTION="NLM Insight Segmentation and Registration Toolkit" HOMEPAGE="http://www.itk.org" SRC_URI="mirror://sourceforge/itk/InsightToolkit-${PV}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="debug doc examples fftw shared patented test oldpython optreg python review reviewstats xml" RDEPEND="sys-libs/zlib fftw? ( sci-libs/fftw ) xml? ( dev-libs/libxml2 ) media-libs/jpeg media-libs/libpng media-libs/tiff sys-libs/zlib" DEPEND="${RDEPEND} >=dev-util/cmake-2.6 python? ( >=dev-util/cableswig-3.20.0 >=dev-lang/python-2.5 ) oldpython? ( >=dev-util/cableswig-3.20.0 >=dev-lang/python-2.5 ) " MY_PN=InsightToolkit S="${WORKDIR}/${MY_PN}-${PV}" pkg_setup() { # optreg is part of the review package if use optreg && ! use review; then die "USE=optreg requires USE=review to be set" fi if use python ; then if use oldpython ; then die "Must only enable one type of python bindings" fi if ! use review ; then die "the new python bindings require USE=review to be set" fi fi if use oldpython ; then ewarn "Warning: python bindings will be installed in a nonstandard path" fi } src_prepare() { epatch "${FILESDIR}/itk-3.18.0-png14.patch" epatch "${FILESDIR}/itk-numpy-3.16.0-detection.patch" } src_configure() { local mycmakeargs=( -DCMAKE_INSTALL_PREFIX:PATH=/usr -DWRAP_ITK_JAVA=OFF -DWRAP_ITK_TCL=OFF -DITK_USE_SYSTEM_JPEG=ON -DITK_USE_SYSTEM_PNG=ON -DITK_USE_SYSTEM_TIFF=ON -DITK_USE_SYSTEM_ZLIB=ON $(cmake-utils_use fftw USE_FFTWD) $(cmake-utils_use fftw USE_FFTWF) $(cmake-utils_use oldpython ITK_CSWIG_PYTHON) $(cmake-utils_use examples BUILD_EXAMPLES) $(cmake-utils_use patented ITK_USE_PATENTED) $(cmake-utils_use shared BUILD_SHARED_LIBS) $(cmake-utils_use test BUILD_TESTING) $(cmake-utils_use review ITK_USE_REVIEW) $(cmake-utils_use optreg ITK_USE_OPTIMIZED_REGISTRATION_METHODS) $(cmake-utils_use xml ITK_USE_SYSTEM_LIBXML2) $(cmake-utils_use reviewstats ITK_USE_REVIEW_STATISTICS) ) if use python; then mycmakeargs+=( -DUSE_WRAP_ITK=ON -DWRAP_ITK_PYTHON=ON) fi # for some reason this needs to be run two times to avoid # that everything is compile a second time when make install # is called cmake-utils_src_configure cmake-utils_src_configure } src_install() { cmake-utils_src_install # install the documentation pushd "${CMAKE_BUILD_DIR}" &> /dev/null # install the examples if use examples; then # Copy Example sources rm -rf $(find "Examples" -type d -a -name "CMakeFiles") \; || \ die "Failed remove build files" # remove CVS directories from examples folder rm -rf $(find "${D}"/usr/share/"${MY_PN}"/examples -type d -name CVS ) ||\ die "Failed to remove CVS folders" dodir /usr/share/${MY_PN}/examples || \ die "Failed to create examples directory" cp -pPR "Examples" "${D}/usr/share/${MY_PN}/examples/src" || \ die "Failed to copy example files" # copy binary examples cp -pPR "bin" "${D}/usr/share/${MY_PN}/examples" || \ die "Failed to copy binary example files" rm -rf "${D}"/usr/share/"${MY_PN}"/examples/bin/*.so* || \ die "Failed to remove libraries from examples directory" # fix examples permissions find "${D}/usr/share/${MY_PN}/examples/src" -type d -exec \ chmod 0755 {} \; || \ die "Failed to fix example directories permissions" find "${D}/usr/share/${MY_PN}/examples/src" -type f -exec \ chmod 0644 {} \; || \ die "Failed to fix example files permissions" fi popd LDPATH="/usr/lib/InsightToolkit" echo "LDPATH=${LDPATH}" > $T/40${PN} echo "ITK_DATA_ROOT=/usr/share/${PN}/data" >> ${T}/40${PN} doenvd "${T}/40${PN}" } pkg_postinst() { if use patented; then ewarn "Using patented code in ITK may require a license." ewarn "For more information, please read:" ewarn "http://www.itk.org/HTML/Copyright.htm" ewarn "http://www.itk.org/Wiki/ITK_Patent_Bazaar" fi }