# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake flag-o-matic java-pkg-opt-2 DESCRIPTION="Data format for neutron and x-ray scattering data" HOMEPAGE="https://nexusformat.org/" COMMIT=5b803b3a0014bd9759b3d846da3cd3c1cfafd7d5 SRC_URI="https://github.com/nexusformat/code/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}"/code-${COMMIT} LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="~amd64 ~arm64" IUSE="cxx hdf4 +hdf5 java" REQUIRED_USE="|| ( hdf4 hdf5 )" RDEPEND=" dev-libs/libxml2 media-libs/libjpeg-turbo:= sys-libs/readline hdf4? ( "${T}/474.patch" || die eapply "${T}/474.patch" # The C++ wrapper links only HDF5 C/HL; avoid the unnecessary CXX component, # which conflicts with MPI-enabled HDF5. verified 2026-06-21 sed -e 's/COMPONENTS CXX HL REQUIRED/COMPONENTS C HL REQUIRED/' \ -i CMakeLists.txt || die java-pkg-opt-2_src_prepare cmake_src_prepare } src_configure() { # Pin C++17; this snapshot uses allocator::allocate(n, hint), removed in C++20. append-cxxflags -std=gnu++17 # Fortran bindings do not compile. local mycmakeargs=( -DENABLE_APPS=ON -DENABLE_CONTRIB=ON -DENABLE_HDF4=$(usex hdf4) -DENABLE_HDF5=$(usex hdf5) -DENABLE_MXML=NO -DENABLE_CXX=$(usex cxx) -DENABLE_FORTRAN90=NO -DENABLE_FORTRAN77=NO -DENABLE_JAVA=$(usex java) ) cmake_src_configure }