highwayhash-0_p20240418vklimovs
download
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
COMMIT="f8381f3331d9c56a9792f9b4a35f61c41108c39e"
DESCRIPTION="Fast strong hash functions: SipHash and HighwayHash"
HOMEPAGE="https://github.com/google/highwayhash"
SRC_URI="https://github.com/google/highwayhash/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/highwayhash-${COMMIT}"
LICENSE="Apache-2.0"
SLOT="0/0"
KEYWORDS="~amd64"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
src_prepare() {
default
# Upstream force-appends -O3 (override CXXFLAGS +=), overriding the user's
# -O level; drop it so CXXFLAGS wins. SIMD comes from per-object -mavx2/
# -msse4.1, independent of -O level.
sed -i 's/ -O3//' Makefile || die
}
src_compile() {
emake CXX="$(tc-getCXX)" AR="$(tc-getAR)" lib/libhighwayhash.a lib/libhighwayhash.so
}
src_test() {
emake CXX="$(tc-getCXX)" AR="$(tc-getAR)" \
bin/sip_hash_test bin/highwayhash_test bin/vector_test
local t
for t in sip_hash_test highwayhash_test vector_test; do
bin/${t} || die
done
}
src_install() {
dolib.so lib/libhighwayhash.so.0
dosym libhighwayhash.so.0 /usr/$(get_libdir)/libhighwayhash.so
use static-libs && dolib.a lib/libhighwayhash.a
insinto /usr/include/highwayhash
doins highwayhash/*.h
insinto /usr/$(get_libdir)/pkgconfig
newins - highwayhash.pc <<-EOF
prefix=${EPREFIX}/usr
exec_prefix=\${prefix}
libdir=\${exec_prefix}/$(get_libdir)
includedir=\${prefix}/include
Name: highwayhash
Description: ${DESCRIPTION}
Version: ${PV#0_p}
Libs: -L\${libdir} -lhighwayhash
Cflags: -I\${includedir}
EOF
}