mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-09 06:37:10 -08:00
136 lines
3.0 KiB
Bash
136 lines
3.0 KiB
Bash
# Copyright 2024-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
|
|
inherit lua toolchain-funcs
|
|
|
|
DESCRIPTION="Stackable Continuation Queues"
|
|
HOMEPAGE="https://github.com/wahern/cqueues"
|
|
HOMEPAGE+=" https://25thandclement.com/~william/projects/cqueues.html"
|
|
EGIT_COMMIT="8c0142577d3cb1f24917879997678bef0d084815"
|
|
SRC_URI="https://github.com/wahern/${PN}/archive/rel-${PV}.tar.gz -> ${P}.tar.gz"
|
|
S="${WORKDIR}/${PN}-rel-${PV}"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 ~arm64"
|
|
|
|
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
|
|
|
COMMON_DEPEND="
|
|
${LUA_DEPS}
|
|
dev-libs/openssl:0=
|
|
"
|
|
DEPEND="
|
|
${COMMON_DEPEND}
|
|
dev-lua/compat53[${LUA_USEDEP}]
|
|
"
|
|
RDEPEND="${COMMON_DEPEND}"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/cqueues-20261006-system_compat53.patch
|
|
"${FILESDIR}"/cqueues-20261006-fix_c23.patch
|
|
)
|
|
|
|
DOCS=( "doc/." "examples/." )
|
|
|
|
_lua_version() {
|
|
# Thanks to dev-lua/luaossl for this workaround
|
|
# This is a workaround for luajit, as it confirms to lua5.1
|
|
# and the 'GNUmakefile' doesn't understand LuaJITs version.
|
|
if [[ ${ELUA} == luajit ]]; then
|
|
echo "5.1"
|
|
else
|
|
echo "$(ver_cut 1-2 $(lua_get_version))"
|
|
fi
|
|
}
|
|
|
|
lua_src_prepare() {
|
|
local LUA_VERSION=$(_lua_version)
|
|
pushd "${BUILD_DIR}" || die
|
|
if [[ ${ELUA} != luajit ]]; then
|
|
# these two tests are forced upstream for luajit only
|
|
rm "${BUILD_DIR}"/regress/{44-resolvers-gc,51-join-defunct-thread}.lua || die
|
|
fi
|
|
|
|
if [[ ${LUA_VERSION} != 5.3 ]]; then
|
|
# this test is forced upstream for lua5-3 only
|
|
rm "${BUILD_DIR}"/regress/152-thread-integer-passing.lua || die
|
|
fi
|
|
|
|
# install tests for lua_version only
|
|
sed -e 's:for V in .*:for V in '${LUA_VERSION}'; do \\:' \
|
|
-i "${BUILD_DIR}"/regress/GNUmakefile || die
|
|
popd || die
|
|
}
|
|
|
|
src_prepare() {
|
|
default
|
|
rm -r vendor || die
|
|
|
|
# tests deleted :
|
|
# 22, 73, 87 = weak/old ssl
|
|
# 30,62,153 = network required
|
|
rm \
|
|
regress/22-client-dtls.lua \
|
|
regress/73-starttls-buffering.lua \
|
|
regress/87-alpn-disappears.lua \
|
|
regress/30-starttls-completion.lua \
|
|
regress/62-noname.lua \
|
|
regress/153-dns-resolvers.lua \
|
|
|| die
|
|
|
|
lua_copy_sources
|
|
lua_foreach_impl lua_src_prepare
|
|
}
|
|
|
|
lua_src_compile() {
|
|
local LUA_VERSION=$(_lua_version)
|
|
pushd "${BUILD_DIR}" || die
|
|
local myemakeargs=(
|
|
ALL_CFLAGS="${CFLAGS} -fPIC"
|
|
ALL_LDFLAGS="${LDFLAGS}"
|
|
LUA_APIS=${LUA_VERSION}
|
|
LUA${LUA_VERSION/./}_CPPFLAGS=$(lua_get_CFLAGS)
|
|
)
|
|
emake "${myemakeargs[@]}" all
|
|
popd || die
|
|
}
|
|
|
|
src_compile() {
|
|
tc-export CC AR RANLIB
|
|
lua_foreach_impl lua_src_compile
|
|
}
|
|
|
|
lua_src_test() {
|
|
pushd "${BUILD_DIR}" || die
|
|
emake LUA_APIS=$(_lua_version) check
|
|
popd || die
|
|
}
|
|
|
|
src_test() {
|
|
lua_foreach_impl lua_src_test
|
|
}
|
|
|
|
lua_src_install() {
|
|
local LUA_VERSION=$(_lua_version)
|
|
pushd "${BUILD_DIR}" || die
|
|
local myinstallargs=(
|
|
DESTDIR="${D}"
|
|
prefix="${EPREFIX}/usr"
|
|
LUA_APIS=${LUA_VERSION}
|
|
lua${LUA_VERSION/./}cpath=$(lua_get_cmod_dir)
|
|
lua${LUA_VERSION/./}path=$(lua_get_lmod_dir)
|
|
)
|
|
emake "${myinstallargs[@]}" install
|
|
popd || die
|
|
}
|
|
|
|
src_install() {
|
|
lua_foreach_impl lua_src_install
|
|
einstalldocs
|
|
}
|