Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/xdmf2/files/, sci-libs/xdmf2/
Date: Sat, 03 Sep 2016 20:23:11
Message-Id: 1472934010.a794290b70ad9e707d613ccceee5ab215c232d4d.soap@gentoo
1 commit: a794290b70ad9e707d613ccceee5ab215c232d4d
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 3 20:18:45 2016 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 3 20:20:10 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a794290b
7
8 sci-libs/xdmf2: Remove heuristics to help detect HDF5_ROOT
9
10 Gentoo-bug: 591302
11 * EAPI=6
12 * Add missing RDEPEND on dev-libs/boost
13 * Add ${PYTHON_REQUIRED_USE} to REQUIRED_USE
14 * [QA] Byte-compile XdmfCore.py and Xdmf.py
15 * Thanks to Michael Palimaka <kensington <AT> gentoo.org> for
16 helping to identify the culprit
17
18 Package-Manager: portage-2.3.0
19
20 ...2-1.0_p141226-cannot-find-hdf5-bug-591302.patch | 41 ++++++++++++
21 sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild | 74 ++++++++++++++++++++++
22 2 files changed, 115 insertions(+)
23
24 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
25 new file mode 100644
26 index 00000000..99735a4
27 --- /dev/null
28 +++ b/sci-libs/xdmf2/files/xdmf2-1.0_p141226-cannot-find-hdf5-bug-591302.patch
29 @@ -0,0 +1,41 @@
30 +Too much automagic trying to find the correct prefix
31 +of HDF5. Remove all the pointless heuristics.
32 +See also: https://bugs.gentoo.org/show_bug.cgi?id=591302
33 +
34 +* CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
35 +* Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS
36 +* HDF5_HL_LIBRARIES)
37 +
38 +--- xdmf2-1.0_p141226/core/CMakeLists.txt
39 ++++ xdmf2-1.0_p141226/core/CMakeLists.txt
40 +@@ -35,19 +35,7 @@
41 + mark_as_advanced(FORCE Boost_INCLUDE_DIR)
42 + endif(Boost_FOUND)
43 +
44 +-# Find HDF5_ROOT if not set
45 +-if ("$ENV{HDF5_ROOT}" STREQUAL "")
46 +- find_file (HDF5_LIB libhdf5.so HINTS ENV LD_LIBRARY_PATH)
47 +- if (NOT "${HDF5_LIB}" STREQUAL "")
48 +- get_filename_component(HDF5_LIBRARY_DIR "${HDF5_LIB}" PATH)
49 +- get_filename_component(HDF5_ROOT "${HDF5_LIBRARY_DIR}/../" ABSOLUTE)
50 +- set(ENV{HDF5_ROOT} ${HDF5_ROOT})
51 +- endif (NOT "${HDF5_LIB}" STREQUAL "")
52 +-endif ("$ENV{HDF5_ROOT}" STREQUAL "")
53 +-
54 +-mark_as_advanced(CLEAR HDF5_C_INCLUDE_DIR)
55 +-mark_as_advanced(CLEAR HDF5_hdf5_LIBRARY_DEBUG)
56 +-mark_as_advanced(CLEAR HDF5_hdf5_LIBRARY_RELEASE)
57 ++# Find HDF5
58 + find_package(HDF5 REQUIRED)
59 + if(HDF5_FOUND)
60 + mark_as_advanced(FORCE HDF5_C_INCLUDE_DIR)
61 +@@ -73,9 +61,6 @@
62 + endif(HDF5_IS_PARALLEL)
63 + get_filename_component(HDF5_ROOT "${HDF5_INCLUDE_DIR}/../" REALPATH)
64 + set(HDF5_BINARY_DIRS ${HDF5_ROOT}/bin ${HDF5_ROOT}/dll)
65 +- if (NOT HDF5_LIBRARIES)
66 +- find_library (HDF5_LIBRARIES hdf5 HINTS ${HDF5_ROOT} ENV LD_LIBRARY_PATH)
67 +- endif (NOT HDF5_LIBRARIES)
68 + set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${HDF5_LIBRARIES})
69 + set(XDMF_HDF5_BINARY_DIRS ${HDF5_BINARY_DIRS} PARENT_SCOPE)
70 + set(XDMF_BINARIES ${XDMF_BINARIES} ${HDF5_BINARY_DIRS})
71
72 diff --git a/sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild b/sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild
73 new file mode 100644
74 index 00000000..b1b0bbb
75 --- /dev/null
76 +++ b/sci-libs/xdmf2/xdmf2-1.0_p141226-r2.ebuild
77 @@ -0,0 +1,74 @@
78 +# Copyright 1999-2016 Gentoo Foundation
79 +# Distributed under the terms of the GNU General Public License v2
80 +# $Id$
81 +
82 +EAPI=6
83 +
84 +PYTHON_COMPAT=( python2_7 )
85 +
86 +inherit cmake-utils python-single-r1
87 +
88 +DESCRIPTION="eXtensible Data Model and Format"
89 +HOMEPAGE="http://xdmf.org/index.php/Main_Page"
90 +SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
91 +
92 +SLOT="0"
93 +LICENSE="VTK"
94 +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
95 +IUSE="doc python test"
96 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
97 +
98 +RDEPEND="
99 + dev-libs/boost:=
100 + sci-libs/hdf5:=
101 + dev-libs/libxml2:2
102 + python? ( ${PYTHON_DEPS} )
103 + "
104 +DEPEND="${RDEPEND}
105 + doc? ( app-doc/doxygen )
106 + python? ( dev-lang/swig:0 )
107 +"
108 +
109 +PATCHES=(
110 + "${FILESDIR}"/${P}-module.patch
111 + "${FILESDIR}"/${P}-cannot-find-hdf5-bug-591302.patch
112 +)
113 +
114 +pkg_setup() {
115 + use python && python-single-r1_pkg_setup && python_export
116 +}
117 +
118 +src_prepare() {
119 + if use python; then
120 + local _site=$(python_get_sitedir)
121 + sed \
122 + -e "/DESTINATION/s:python:${_site##${EPREFIX}/usr/$(get_libdir)/}:g" \
123 + -i CMakeLists.txt || die
124 + fi
125 +
126 + sed \
127 + -e "/DESTINATION/s:lib:$(get_libdir):g" \
128 + -e "/INSTALL/s:lib:$(get_libdir):g" \
129 + -i CMakeLists.txt core/CMakeLists.txt || die
130 + cmake-utils_src_prepare
131 +}
132 +
133 +src_configure() {
134 + local mycmakeargs=(
135 + -DBUILD_SHARED_LIBS=1
136 + -DXDMF_BUILD_DOCUMENTATION=$(usex doc)
137 + -DBUILD_TESTING=$(usex test)
138 + -DXDMF_WRAP_PYTHON=$(usex python)
139 +# -DXDMF_WRAP_JAVA=$(usex java)
140 + )
141 + cmake-utils_src_configure
142 +}
143 +
144 +src_install() {
145 + cmake-utils_src_install
146 + dosym XdmfConfig.cmake /usr/share/cmake/Modules/${PN}Config.cmake
147 +
148 + # need to byte-compile 'XdmfCore.py' and 'Xdmf.py'
149 + # as the CMake build system does not compile them itself
150 + python_optimize "${D%/}$(python_get_sitedir)"
151 +}