diff options
author | David Seifert <soap@gentoo.org> | 2016-09-03 22:18:45 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2016-09-03 22:20:10 +0200 |
commit | a794290b70ad9e707d613ccceee5ab215c232d4d (patch) | |
tree | d75f297155999addb047b6fc0231b4121168ab20 /sci-libs/xdmf2 | |
parent | net-print/epson-inkjet-printer-escpr: replace HOMEPAGE (diff) | |
download | gentoo-a794290b70ad9e707d613ccceee5ab215c232d4d.tar.gz gentoo-a794290b70ad9e707d613ccceee5ab215c232d4d.tar.bz2 gentoo-a794290b70ad9e707d613ccceee5ab215c232d4d.zip |
sci-libs/xdmf2: Remove heuristics to help detect HDF5_ROOT
Gentoo-bug: 591302
* EAPI=6
* Add missing RDEPEND on dev-libs/boost
* Add ${PYTHON_REQUIRED_USE} to REQUIRED_USE
* [QA] Byte-compile XdmfCore.py and Xdmf.py
* Thanks to Michael Palimaka <kensington@gentoo.org> for
helping to identify the culprit
Package-Manager: portage-2.3.0
Diffstat (limited to 'sci-libs/xdmf2')
-rw-r--r-- | sci-libs/xdmf2/files/xdmf2-1.0_p141226-cannot-find-hdf5-bug-591302.patch | 41 | ||||
-rw-r--r-- | sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild | 74 |
2 files changed, 115 insertions, 0 deletions
diff --git a/sci-libs/xdmf2/files/xdmf2-1.0_p141226-cannot-find-hdf5-bug-591302.patch b/sci-libs/xdmf2/files/xdmf2-1.0_p141226-cannot-find-hdf5-bug-591302.patch new file mode 100644 index 000000000000..99735a480c67 --- /dev/null +++ b/sci-libs/xdmf2/files/xdmf2-1.0_p141226-cannot-find-hdf5-bug-591302.patch @@ -0,0 +1,41 @@ +Too much automagic trying to find the correct prefix +of HDF5. Remove all the pointless heuristics. +See also: https://bugs.gentoo.org/show_bug.cgi?id=591302 + +* CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message): +* Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS +* HDF5_HL_LIBRARIES) + +--- xdmf2-1.0_p141226/core/CMakeLists.txt ++++ xdmf2-1.0_p141226/core/CMakeLists.txt +@@ -35,19 +35,7 @@ + mark_as_advanced(FORCE Boost_INCLUDE_DIR) + endif(Boost_FOUND) + +-# Find HDF5_ROOT if not set +-if ("$ENV{HDF5_ROOT}" STREQUAL "") +- find_file (HDF5_LIB libhdf5.so HINTS ENV LD_LIBRARY_PATH) +- if (NOT "${HDF5_LIB}" STREQUAL "") +- get_filename_component(HDF5_LIBRARY_DIR "${HDF5_LIB}" PATH) +- get_filename_component(HDF5_ROOT "${HDF5_LIBRARY_DIR}/../" ABSOLUTE) +- set(ENV{HDF5_ROOT} ${HDF5_ROOT}) +- endif (NOT "${HDF5_LIB}" STREQUAL "") +-endif ("$ENV{HDF5_ROOT}" STREQUAL "") +- +-mark_as_advanced(CLEAR HDF5_C_INCLUDE_DIR) +-mark_as_advanced(CLEAR HDF5_hdf5_LIBRARY_DEBUG) +-mark_as_advanced(CLEAR HDF5_hdf5_LIBRARY_RELEASE) ++# Find HDF5 + find_package(HDF5 REQUIRED) + if(HDF5_FOUND) + mark_as_advanced(FORCE HDF5_C_INCLUDE_DIR) +@@ -73,9 +61,6 @@ + endif(HDF5_IS_PARALLEL) + get_filename_component(HDF5_ROOT "${HDF5_INCLUDE_DIR}/../" REALPATH) + set(HDF5_BINARY_DIRS ${HDF5_ROOT}/bin ${HDF5_ROOT}/dll) +- if (NOT HDF5_LIBRARIES) +- find_library (HDF5_LIBRARIES hdf5 HINTS ${HDF5_ROOT} ENV LD_LIBRARY_PATH) +- endif (NOT HDF5_LIBRARIES) + set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${HDF5_LIBRARIES}) + set(XDMF_HDF5_BINARY_DIRS ${HDF5_BINARY_DIRS} PARENT_SCOPE) + set(XDMF_BINARIES ${XDMF_BINARIES} ${HDF5_BINARY_DIRS}) diff --git a/sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild b/sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild new file mode 100644 index 000000000000..b1b0bbb9fb44 --- /dev/null +++ b/sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="eXtensible Data Model and Format" +HOMEPAGE="http://xdmf.org/index.php/Main_Page" +SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz" + +SLOT="0" +LICENSE="VTK" +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" +IUSE="doc python test" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + dev-libs/boost:= + sci-libs/hdf5:= + dev-libs/libxml2:2 + python? ( ${PYTHON_DEPS} ) + " +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + python? ( dev-lang/swig:0 ) +" + +PATCHES=( + "${FILESDIR}"/${P}-module.patch + "${FILESDIR}"/${P}-cannot-find-hdf5-bug-591302.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup && python_export +} + +src_prepare() { + if use python; then + local _site=$(python_get_sitedir) + sed \ + -e "/DESTINATION/s:python:${_site##${EPREFIX}/usr/$(get_libdir)/}:g" \ + -i CMakeLists.txt || die + fi + + sed \ + -e "/DESTINATION/s:lib:$(get_libdir):g" \ + -e "/INSTALL/s:lib:$(get_libdir):g" \ + -i CMakeLists.txt core/CMakeLists.txt || die + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=1 + -DXDMF_BUILD_DOCUMENTATION=$(usex doc) + -DBUILD_TESTING=$(usex test) + -DXDMF_WRAP_PYTHON=$(usex python) +# -DXDMF_WRAP_JAVA=$(usex java) + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + dosym XdmfConfig.cmake /usr/share/cmake/Modules/${PN}Config.cmake + + # need to byte-compile 'XdmfCore.py' and 'Xdmf.py' + # as the CMake build system does not compile them itself + python_optimize "${D%/}$(python_get_sitedir)" +} |