sci-libs/hdf5: added ROS3 support (DANDI stack)
Pending: https://github.com/gentoo/gentoo/pull/22455 Package-Manager: Portage-3.0.23, Repoman-3.0.3 Signed-off-by: Horea Christian <chr@chymera.eu>
This commit is contained in:
parent
7fb5150b64
commit
8885fd7fdc
|
@ -0,0 +1,6 @@
|
||||||
|
*hdf5-1.12.1 (01 Oct 2021)
|
||||||
|
|
||||||
|
01 Oct 2021; <chymera@gentoo.org> +files/hdf5-1.12.1-cmake_installdirs.patch,
|
||||||
|
+hdf5-1.12.1.ebuild, +metadata.xml:
|
||||||
|
sci-libs/hdf5: added ROS3 support (DANDI stack) Pending:
|
||||||
|
https://github.com/gentoo/gentoo/pull/22455
|
|
@ -0,0 +1 @@
|
||||||
|
DIST hdf5-1.12.1.tar.bz2 9724309 SHA256 aaf9f532b3eda83d3d3adc9f8b40a9b763152218fa45349c3bc77502ca1f8f1c SHA512 158a067ee284ccb9e2c4db12e9d37cf187d90d9ef1bed7a6303e2c3a2fd216d7b13a46c5f46018b097511281c4246156b6f917633ca88872f10f0ad04be285fd WHIRLPOOL 1fa4d86b495652d48a662a955a8d0b384d6d996f83a86e8f23e6f3597fa5795294b10302913a771250ebc1dbc5b5a5619268a549cba594b75bd5d7bc9cad52c3
|
|
@ -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
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,123 @@
|
||||||
|
# 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
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?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…
Reference in New Issue