diff options
Diffstat (limited to 'sci-libs/hdf5')
-rw-r--r-- | sci-libs/hdf5/Manifest | 5 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.12.1-cmake_installdirs.patch | 103 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.10.5-r1.ebuild | 2 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.12.1.ebuild | 118 |
4 files changed, 226 insertions, 2 deletions
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest index af8a49c6b596..f711c7a43aaa 100644 --- a/sci-libs/hdf5/Manifest +++ b/sci-libs/hdf5/Manifest @@ -1,7 +1,10 @@ +AUX hdf5-1.12.1-cmake_installdirs.patch 4313 BLAKE2B 78b894a3535c71dbd673e2061e09e1a57d57c1d65418ac87e51669e7cf8a77f023aac076686e978b89903fb0aa74f0511f779ceb149ab783e5624ec24bf5c6a6 SHA512 4a8fce1e3a5ae9d8cdca4fa377011fb7333de0b233e79c6eeed9a24154925eb8dededfe8cff4e28a7cedeb2fbfe194df1a5f18629d56de47b4ba3097824e6b7d AUX hdf5-1.8.13-no-messing-ldpath.patch 1141 BLAKE2B d7d186e4c00acb9fd3d44beb1d8c3c4da0c373f88b3fdf21e1f89b169b747d49572239385228687cfc10380bdceb9ca6d1ac0d5f5154cb7a328f8a2d509fb28d SHA512 e43021ceb83909ab06ba378363c192aa0f1b34cc7c2b121f5000e215516dbdea1b825a53ac4023073bf4870a5c3452c22f5535391d95af45ad63a309e1ffa5a4 AUX hdf5-1.8.9-mpicxx.patch 494 BLAKE2B 148d87af064e2ba28c918c8db39ece0782a179803e4c38c5cd5eaba81a673bb8aa3699a48e80a7ae2d4579ac0261cc21d5509e46661ada9a69f444a58eb45ecd SHA512 8b4c39e40591860652547ea8ff205230da7d67488233e911cbcb3416eab561f2529c65bc5e7c9c812bf4298812346f47f9209e5f69f7e8f66ad587306a5b477b AUX hdf5-1.8.9-static_libgfortran.patch 429 BLAKE2B 9e1c544a453c09b3498a7d9d3e8090c928571776934c4dd6b426cbdb2783ed8f47185d6ee0c73ede6b4f14e27459ef5e1412112e9d897daa2dc57f1ad5fb0b24 SHA512 af97c54469a90bf3b0e8ec1218d4ca95822ac0cbc7120114979fc467fe3114743c74f4d4e16f0c10b1cd82d40880ef482f6fd34e1effc7c621b981ad466204f9 DIST hdf5-1.10.5.tar.bz2 8706317 BLAKE2B ac326be8fe4ccc4b0153f15bc7d65aa8f1adc2ae279d3980f57ed46722b754d3f36ecf1d6273c75e80ed1afd4bbf10c6b1c5d9408e1f83a4b2e397e7902a7d3c SHA512 769e43b8672e26fe24ed68da0228c010d3d9bc950ca09f0bc60707911a2f26f2f8415c8abc8ec06e07667148d8cdb3b0c7b3e7860d9b19739629c5dfd5ce73d4 -EBUILD hdf5-1.10.5-r1.ebuild 2877 BLAKE2B 44bfd73391f6c5719dadf410494cd1b03a12fd1ce2dd356f6d1e9c7858ff2fdd0a8d180e5cdb5e25b65564190eeb64a23aedfb6e4a632568848043e594f3cdd9 SHA512 c7cb3134244caf0f6f872d8bb93042aecbdccbf8a639801eac90d293e774a9fefdf7f72022d0e025994c83f79e61b4eb029218cdf69e00667526e3b802870f3e +DIST hdf5-1.12.1.tar.bz2 9724309 BLAKE2B cc75ba497188b33972218d02a7601acad1a0443bdb934ecd1641ef5996076fe120e3b72dba3a99d99f919fb4e478d1e531414448de9a7b97a0afde58a4c7c23f SHA512 158a067ee284ccb9e2c4db12e9d37cf187d90d9ef1bed7a6303e2c3a2fd216d7b13a46c5f46018b097511281c4246156b6f917633ca88872f10f0ad04be285fd +EBUILD hdf5-1.10.5-r1.ebuild 2883 BLAKE2B ddfc519217494eb2f3a2cd2a37f70d9e2005cd049299fbaf2386414db0eac65a2655b39fba85231896cd2f2ef42fd15d57273b77fa53e0d492a889fc6db51fbe SHA512 007a97a089002e330569913ce42afd92b63d659b9d9f4fabe85170d7633950da025cfc55273f564faf1aec52d3ad4c704825cc501bd441d522f65238ff44ad88 EBUILD hdf5-1.10.5.ebuild 2712 BLAKE2B 56dc60e54a2e3758b32eba9977bb96e67bcdec38670579e985733ecede749f638370bee98959986a76e841c8adf4a92740fae6b8c8ed36e5e0ba2814a2f82537 SHA512 ebf92105b2d149f1947dd0d95b2ef5da85b4d57a51eeb4e5c8d9535e706b06e6c46910ee8671f1d44021636cec71070755aa7d7e62db4f9e1fb39d7e0d7d4fbd +EBUILD hdf5-1.12.1.ebuild 3061 BLAKE2B a21c786534715cbfdb57208a021c6f48ff89417db20490673bb86c362b7065280f810135a6b60ca20d6cbb6a7bcc6f332f64cada97ca8fe25a52bf9e868f905a SHA512 0f809656f7088844eaeca31695877919cf3aae466bf93e1b3c9bd72474712415dca62f39bc51c6e2265c2f64427a5c1274fbb18092d614ee32c0f29d6068c0c9 MISC metadata.xml 763 BLAKE2B df2fb5f7f3aaa55b77b51d1e874cc4e58dc81d4c9fcc713f01bcd5d197b33d3ea0e300849432255d068b585b129dd0bc75310ea6ebe6d987688a2c621fd8fa75 SHA512 303724cfdf46efa4864e58bb645398472e801d1a22b083947e52aecbf28c7e5c0e16d5752d12927f02874d24270ea64220c42ec75d04d15c014f396523c2b19d diff --git a/sci-libs/hdf5/files/hdf5-1.12.1-cmake_installdirs.patch b/sci-libs/hdf5/files/hdf5-1.12.1-cmake_installdirs.patch new file mode 100644 index 000000000000..8c4dc34cb80c --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.12.1-cmake_installdirs.patch @@ -0,0 +1,103 @@ +--- a/c++/src/CMakeLists.txt ++++ b/c++/src/CMakeLists.txt +@@ -180,8 +180,8 @@ + #----------------------------------------------------------------------------- + set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (_PKG_CONFIG_EXEC_PREFIX \${prefix}) +-set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib) +-set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include) ++set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + set (_PKG_CONFIG_LIBNAME "${HDF5_CPP_LIB_CORENAME}") + set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,6 +46,13 @@ + endif() + endif () + ++include (GNUInstallDirs) ++set (HDF5_INSTALL_BIN_DIR "${CMAKE_INSTALL_FULL_BINDIR}") ++set (HDF5_INSTALL_DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}") ++set (HDF5_INSTALL_DOC_DIR "${CMAKE_INSTALL_FULL_DOCDIR}") ++set (HDF5_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") ++set (HDF5_INSTALL_LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") ++ + #----------------------------------------------------------------------------- + # Instructions for use : Sub-Project Build + # +--- a/fortran/src/CMakeLists.txt ++++ b/fortran/src/CMakeLists.txt +@@ -537,8 +537,8 @@ + #----------------------------------------------------------------------------- + set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (_PKG_CONFIG_EXEC_PREFIX \${prefix}) +-set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib) +-set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include) ++set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + set (_PKG_CONFIG_LIBNAME "${HDF5_F90_LIB_CORENAME}") + set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") + +--- a/hl/c++/src/CMakeLists.txt ++++ b/hl/c++/src/CMakeLists.txt +@@ -91,8 +91,8 @@ + #----------------------------------------------------------------------------- + set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (_PKG_CONFIG_EXEC_PREFIX \${prefix}) +-set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib) +-set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include) ++set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + set (_PKG_CONFIG_LIBNAME "${HDF5_HL_CPP_LIB_CORENAME}") + set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") + +--- a/hl/fortran/src/CMakeLists.txt ++++ b/hl/fortran/src/CMakeLists.txt +@@ -324,8 +324,8 @@ + #----------------------------------------------------------------------------- + set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (_PKG_CONFIG_EXEC_PREFIX \${prefix}) +-set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib) +-set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include) ++set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + set (_PKG_CONFIG_LIBNAME "${HDF5_HL_F90_LIB_CORENAME}") + set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") + +--- a/hl/src/CMakeLists.txt ++++ b/hl/src/CMakeLists.txt +@@ -123,8 +123,8 @@ + #----------------------------------------------------------------------------- + set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (_PKG_CONFIG_EXEC_PREFIX \${prefix}) +-set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib) +-set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include) ++set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + set (_PKG_CONFIG_LIBNAME "${HDF5_HL_LIB_CORENAME}") + set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1311,8 +1311,8 @@ + #----------------------------------------------------------------------------- + set (_PKG_CONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + set (_PKG_CONFIG_EXEC_PREFIX \${prefix}) +-set (_PKG_CONFIG_LIBDIR \${exec_prefix}/lib) +-set (_PKG_CONFIG_INCLUDEDIR \${prefix}/include) ++set (_PKG_CONFIG_LIBDIR \${exec_prefix}/${CMAKE_INSTALL_LIBDIR}) ++set (_PKG_CONFIG_INCLUDEDIR \${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) + set (_PKG_CONFIG_LIBNAME "${HDF5_LIB_CORENAME}") + set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") + +@@ -1419,7 +1419,7 @@ + # ) + install ( + DIRECTORY ${HDF5_BINARY_DIR}/hdf5lib_docs/html +- DESTINATION ${HDF5_INSTALL_DATA_DIR} ++ DESTINATION ${HDF5_INSTALL_DOC_DIR} + COMPONENT Documents + ) + diff --git a/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild b/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild index 97cebb298aa6..b7aac2788497 100644 --- a/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild +++ b/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_ LICENSE="NCSA-HDF" SLOT="0/${PV%%_p*}" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" IUSE="cxx debug examples fortran +hl mpi szip threads unsupported zlib" REQUIRED_USE=" diff --git a/sci-libs/hdf5/hdf5-1.12.1.ebuild b/sci-libs/hdf5/hdf5-1.12.1.ebuild new file mode 100644 index 000000000000..c5ef043111b3 --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.12.1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +FORTRAN_NEEDED="fortran" + +inherit cmake flag-o-matic fortran-2 + +MY_P="${PN}-${PV/_p/-patch}" +MAJOR_P="${PN}-$(ver_cut 1-2)" + +DESCRIPTION="General purpose library and file format for storing scientific data" +HOMEPAGE="https://www.hdfgroup.org/HDF5/" +SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2" + +LICENSE="NCSA-HDF" +SLOT="0/${PV%%_p*}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="cxx debug doc examples fortran +hl mpi szip test threads unsupported zlib" + +REQUIRED_USE=" + !unsupported? ( + mpi? ( !cxx !threads ) + threads? ( !cxx !fortran !hl ) + )" + +RESTRICT="!test? ( test )" + +RDEPEND=" + mpi? ( virtual/mpi[romio] ) + szip? ( virtual/szip ) + zlib? ( sys-libs/zlib:0= ) +" +DEPEND="${RDEPEND}" +BDEPEND="doc? ( + app-doc/doxygen + virtual/latex-base +)" + +PATCHES=( + "${FILESDIR}"/${PN}-1.12.1-cmake_installdirs.patch +) + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + use fortran && fortran-2_pkg_setup + + if use mpi; then + if has_version 'sci-libs/hdf5[-mpi]'; then + ewarn "Installing hdf5 with mpi enabled with a previous hdf5 with mpi disabled may fail." + ewarn "Try to uninstall the current hdf5 prior to enabling mpi support." + fi + export CC="mpicc" + use fortran && export FC="mpif90" + append-libs -lmpi + elif has_version 'sci-libs/hdf5[mpi]'; then + ewarn "Installing hdf5 with mpi disabled while having hdf5 installed with mpi enabled may fail." + ewarn "Try to uninstall the current hdf5 prior to disabling mpi support." + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_STATIC_LIBS=OFF + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DHDF5_BUILD_EXAMPLES=OFF + -DALLOW_UNSUPPORTED=$(usex unsupported) + -DBUILD_TESTING=$(usex test) + -DHDF5_BUILD_CPP_LIB=$(usex cxx) + -DHDF5_BUILD_DOC=$(usex doc) + -DHDF5_BUILD_FORTRAN=$(usex fortran) + -DHDF5_BUILD_HL_LIB=$(usex hl) + -DHDF5_ENABLE_CODESTACK=$(usex debug) + -DHDF5_ENABLE_PARALLEL=$(usex mpi) + -DHDF5_ENABLE_SZIP_ENCODING=$(usex szip) + -DHDF5_ENABLE_SZIP_SUPPORT=$(usex szip) + -DHDF5_ENABLE_THREADSAFE=$(usex threads) + -DHDF5_ENABLE_Z_LIB_SUPPORT=$(usex zlib) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + # TODO: generate functioning example runners from their respective + # .in files - as of version 1.12.1 upstream only has it implemented + # for autoconf. + if use examples; then + # These are all useless outside the source tree + rm -f {examples,c++/examples,fortran/examples}/{Makefile*,CMake*} + rm -f hl/{examples,c++/examples,fortran/examples}/{Makefile*,CMake*} + + dodoc -r examples + if use cxx; then + docinto c++ + dodoc -r c++/examples + fi + if use fortran; then + docinto fortran + dodoc -r fortran/examples + fi + if use hl; then + docinto hl + dodoc -r hl/examples + if use cxx; then + docinto hl/c++ + dodoc -r hl/c++/examples + fi + if use fortran; then + docinto hl/fortran + dodoc -r hl/fortran/examples + fi + fi + fi +} |