Horea Christian 3 months ago
parent
commit
2a26d76ef8
  1. 1
      sci-libs/hdf5/Manifest
  2. 103
      sci-libs/hdf5/files/hdf5-1.12.1-cmake_installdirs.patch
  3. 123
      sci-libs/hdf5/hdf5-1.12.1.ebuild
  4. 19
      sci-libs/hdf5/metadata.xml

1
sci-libs/hdf5/Manifest

@ -1 +0,0 @@
DIST hdf5-1.12.1.tar.bz2 9724309 SHA256 aaf9f532b3eda83d3d3adc9f8b40a9b763152218fa45349c3bc77502ca1f8f1c SHA512 158a067ee284ccb9e2c4db12e9d37cf187d90d9ef1bed7a6303e2c3a2fd216d7b13a46c5f46018b097511281c4246156b6f917633ca88872f10f0ad04be285fd WHIRLPOOL 1fa4d86b495652d48a662a955a8d0b384d6d996f83a86e8f23e6f3597fa5795294b10302913a771250ebc1dbc5b5a5619268a549cba594b75bd5d7bc9cad52c3

103
sci-libs/hdf5/files/hdf5-1.12.1-cmake_installdirs.patch

@ -1,103 +0,0 @@
--- 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
)

123
sci-libs/hdf5/hdf5-1.12.1.ebuild

@ -1,123 +0,0 @@
# 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 ros3 szip test threads unsupported zlib"
REQUIRED_USE="
!unsupported? (
mpi? ( !cxx !threads )
threads? ( !cxx !fortran !hl )
)"
RESTRICT="!test? ( test )"
RDEPEND="
mpi? ( virtual/mpi[romio] )
ros3? (
net-misc/curl
dev-libs/openssl
)
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)
-DHDF5_ENABLE_ROS3_VFD:BOOL=$(usex ros3)
)
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
}

19
sci-libs/hdf5/metadata.xml

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<longdescription>
HDF5 is a file format and library for storing scientific data. HDF5
was designed and implemented to address the deficiencies of HDF4.x. It
has a more powerful and flexible data model, supports files larger
than 2 GB, and supports parallel I/O.
</longdescription>
<use>
<flag name="hl">Enable high level API (https://support.hdfgroup.org/HDF5/doc/HL/index.html)</flag>
<flag name="ros3">Enable support for read-only S3 access (https://portal.hdfgroup.org/display/HDF5/Configuration+and+Setup+for+HDF5+Read+Only+S3+VFD)</flag>
<flag name="unsupported">Enable unsupported combinations of configuration options</flag>
</use>
</pkgmetadata>
Loading…
Cancel
Save