# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 inherit autotools toolchain-funcs DESCRIPTION="C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp" HOMEPAGE="https://github.com/BLAKE2/libb2" GITHASH="73d41c8255a991ed2adea41c108b388d9d14b449" SRC_URI="https://github.com/BLAKE2/libb2/archive/${GITHASH}.tar.gz -> ${P}.tar.gz" LICENSE="CC0-1.0" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="static-libs native-cflags openmp" DEPEND=" openmp? ( || ( >=sys-devel/gcc-4.2:*[openmp] sys-devel/clang-runtime:*[openmp] ) ) " RDEPEND="${DEPEND}" S=${WORKDIR}/${PN}-${GITHASH} pkg_setup() { if [[ ${MERGE_TYPE} != "binary" ]] && use openmp && ! tc-has-openmp; then ewarn "You are using a compiler without OpenMP support" die "Need an OpenMP capable compiler" fi } src_prepare() { default # fix bashism sed -i -e 's/ == / = /' configure.ac || die # https://github.com/BLAKE2/libb2/pull/28 echo 'libb2_la_LDFLAGS = -no-undefined' >> src/Makefile.am || die eautoreconf # upstream doesn't make releases } src_configure() { econf \ $(use_enable static-libs static) \ $(use_enable native-cflags native) \ $(use_enable openmp) } do_make() { # respect our CFLAGS when native-cflags is not in effect local openmp=$(use openmp && echo -fopenmp) emake $(use native-cflags && echo no)CFLAGS="${CFLAGS} ${openmp}" "$@" } src_compile() { do_make } src_test() { do_make check } src_install() { default use static-libs || find "${ED}" -name '*.la' -type f -delete || die }