# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal DESCRIPTION="Program and library for generating standard and non-standard InChI and InChIKeys" HOMEPAGE="http://www.iupac.org/inchi/" MY_PV=$(ver_rs 1- '') SRC_URI=" http://www.inchi-trust.org/download/${MY_PV}/INCHI-1-SRC.zip -> ${P}.zip doc? ( http://www.inchi-trust.org/download/${MY_PV}/INCHI-1-DOC.zip -> ${P}-doc.zip )" LICENSE="IUPAC-InChi" SLOT="0" KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux" IUSE="doc static-libs" DEPEND="app-arch/unzip" RDEPEND="" S="${WORKDIR}"/INCHI-1-SRC PATCHES=( "${FILESDIR}/${P}-options+static.patch" ) src_prepare() { default multilib_copy_sources } multilib_src_compile() { local myopts targetopts append-cflags \${P_INCL} -ansi -DCOMPILE_ANSI_ONLY -fPIC -c append-cxxflags \${P_INCL} -ansi -frtti -c myopts=( C_COMPILER="$(tc-getCC)" CPP_COMPILER="$(tc-getCXX)" LINKER="$(tc-getCXX)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" ISLINUX=1 ) targetopts=( C_OPTIONS="${CFLAGS} -DTARGET_API_LIB -D_LIB" CPP_OPTIONS="${CXXFLAGS} -DTARGET_API_LIB -D_LIB" SHARED_LINK="$(tc-getCXX)" SHARED_LINK_PARM="${LDFLAGS} -shared" CREATE_MAIN= ) emake -C "${BUILD_DIR}/INCHI_API/libinchi/gcc" "${myopts[@]}" "${targetopts[@]}" if use static-libs ; then emake -C "${BUILD_DIR}/INCHI_API/libinchi/gcc" "${myopts[@]}" "${targetopts[@]}" STATIC=1 fi pushd ${BUILD_DIR}/INCHI_API/bin/Linux ln -s libinchi.so.1 libinchi.so popd > /dev/null targetopts=( C_COMPILER_OPTIONS="${CFLAGS} -DTARGET_EXE_STANDALONE" CPP_OPTIONS="${CXXFLAGS} -DTARGET_EXE_STANDALONE" LINKER_OPTIONS="${LDFLAGS} -L${BUILD_DIR}/INCHI_API/bin/Linux -linchi" CREATE_MAIN=1 ) emake -C "${BUILD_DIR}/INCHI_EXE/inchi-1/gcc" "${myopts[@]}" "${targetopts[@]}" } multilib_src_install() { dobin INCHI_EXE/bin/Linux/inchi-1 dolib.so INCHI_API/bin/Linux/lib*so* use static-libs && dolib.a INCHI_API/bin/Linux/lib*a } multilib_src_install_all() { dodoc readme*.txt if use doc ; then cd "${WORKDIR}/INCHI-1-DOC/" docinto doc dodoc *.pdf readme.txt fi doheader ${S}/INCHI_BASE/src/inchi_api.h }