andreili 8d2964fdf4 Update to latest stable releases.
Signed-off-by: andreili <andreil499@gmail.com>
2023-10-24 00:40:04 +02:00

72 lines
1.8 KiB
Bash

EAPI=8
inherit cmake
DESCRIPTION="The Xyce Parallel Electronic Simulator is a SPICE-compatible circuit simulator"
HOMEPAGE="https://xyce.sandia.gov/about-xyce/"
CMAKE_MAKEFILE_GENERATOR=emake
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/Xyce/Xyce.git"
EGIT_SUBMODULES=( '*' )
#EGIT_COMMIT="2d93caa9358b276e774ab5906bac6a6b2d563c81"
inherit git-r3
else
SRC_URI="https://github.com/Xyce/Xyce/archive/refs/tags/Release-${PV}.0.zip"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
S="${PORTAGE_BUILDDIR}/work/Xyce-Release-${PV}.0"
fi
SLOT="0"
IUSE="cuda openmp"
DEPEND="
sci-libs/fftw
sci-libs/suitesparse
virtual/blas
sci-libs/trilinos
openmp? ( virtual/mpi[nullmpi(+)] )
dev-perl/XML-LibXML
"
RDEPEND="
${DEPEND}
"
PATCHES=(
"${FILESDIR}"/build_fix.patch
"${FILESDIR}"/install_fix-${PV}.patch
"${FILESDIR}"/cuda_fix.patch
)
src_configure() {
local mycmakeargs=(
-DXyce_PARALLEL_MPI="$(usex openmp)"
#-DXyce_VERBOSE_LINEAR=True
#-DXyce_DEBUG_CIRCUIT=True
#-DXyce_OP_START=True
#-DXyce_TOPOLOGY=True
#-DXyce_VERBOSE_CONDUCTANCE=True
#-DXyce_VERBOSE_NONLINEAR=True
#-DXyce_VERBOSE_NOX=True
#-DXyce_VERBOSE_TIME=True
-DTrilinos_DIR="${PREFIX}/lib64/cmake/Trilinos"
)
if use openmp; then
[ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC
[ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX
export CC=mpicc CXX=mpicxx && tc-export CC CXX
fi
if use cuda; then
mycmakeargs+=(
-DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler"
)
export CXX=nvcc_wrapper NVCC_WRAPPER_DEFAULT_COMPILER=${CXX}
fi
CPPFLAGS="-std=c++14" cmake_src_configure
}
pkg_preinst() {
rm -rf "${D}"/usr/doc
}