dev-lua/cqueues: add 20200726_p20241204

use EGIT_COMMIT to keep update instead of patch

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
This commit is contained in:
Nicolas PARLANT
2024-12-06 00:46:46 +00:00
parent de782067f5
commit f5026823c6
2 changed files with 158 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST cqueues-20200726_p20241204.tar.gz 511991 BLAKE2B 13aeb72435fbfd84e3af11f7d79547ca72b2863ffff4d24d1e14115225973f175b19440732c1d9f4f57c22ef454b3abfe503e7b18de145b4c04f44e87297365c SHA512 9e510c3da50ce601d7fde8cf4e3f4262aa9ec1e81099e4411cf233a138338f5098de8eddce5600732ff7ad97329a7eb501f7c51b911b0c3dd82cd4f0220e4c99
DIST cqueues-rel-20200726.tar.gz 511659 BLAKE2B 2e8da34d4818e96d6872d0e544ff39465f4b55527146dd0003a80a4f11be34601fc34a123a8bd7535f3437afb4825ab9995d63141991c0b4c520c365decbaf37 SHA512 f2198a2a887bca445fe480949e05ecc94c3112827dbd65d2de0258316beee12f6052fa2670560daab708421e669dde0ac581b365af6bb94a3fc6f322c8bc7547

View File

@@ -0,0 +1,157 @@
# Copyright 2024 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+=" http://25thandclement.com/~william/projects/cqueues.html"
EGIT_COMMIT="8c0142577d3cb1f24917879997678bef0d084815"
SRC_URI="https://github.com/wahern/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="examples"
REQUIRED_USE="${LUA_REQUIRED_USE}"
DEPEND="
${LUA_DEPS}
dev-libs/openssl:0=
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-lua/compat53[${LUA_USEDEP}]
virtual/pkgconfig
"
DOCS=( "doc/." )
lua_src_prepare() {
pushd "${BUILD_DIR}" || die
if [[ ${ELUA} != luajit ]]; then
LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
# these two tests are forced upstream for luajit only
rm "${BUILD_DIR}"/regress/{44-resolvers-gc,51-join-defunct-thread}.lua || die
else
# 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.
LUA_VERSION="5.1"
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 5.1 5.2 5.3 5.4:for V in '${LUA_VERSION}':' \
-i "${BUILD_DIR}"/regress/GNUmakefile || die
popd
}
src_prepare() {
default
rm -r vendor || die
sed \
-e '/HAVE_API_FN =/d' \
-e '/ALL_CFLAGS += -g/d' \
-e '/ALL_LDFLAGS += -L/d' \
-e 's:-O2::' \
-i GNUmakefile || die
# use header from dev-lua/compat53 instead of vendor
sed -e 's:-DCOMPAT53_PREFIX=cqueues::' \
-e 's:$$(d)/../vendor/compat53/c-api/compat-5.3.h::' \
-e '/)\/compat53/,/)\/compat53/d' \
-i src/GNUmakefile || die
sed -e 's:"../vendor/compat53/c-api\/compat-5.3.h":<compat-5.3.h>:' \
-i src/cqueues.h || 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() {
pushd "${BUILD_DIR}" || die
if [[ ${ELUA} != luajit ]]; then
LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
else
LUA_VERSION="5.1"
fi
emake CC=$(tc-getCC) \
all${LUA_VERSION}
popd
}
src_compile() {
lua_foreach_impl lua_src_compile
}
lua_src_test() {
pushd "${BUILD_DIR}" || die
if [[ ${ELUA} != luajit ]]; then
LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
else
LUA_VERSION="5.1"
fi
emake CC=$(tc-getCC) check
popd
}
src_test() {
lua_foreach_impl lua_src_test
}
lua_src_install() {
pushd "${BUILD_DIR}" || die
if [[ ${ELUA} != luajit ]]; then
LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
else
LUA_VERSION="5.1"
fi
emake CC=$(tc-getCC) \
"DESTDIR=${D}" \
"lua${LUA_VERSION/./}cpath=$(lua_get_cmod_dir)" \
"lua${LUA_VERSION/./}path=$(lua_get_lmod_dir)" \
"prefix=${EPREFIX}/usr" \
install${LUA_VERSION}
popd
}
src_install() {
lua_foreach_impl lua_src_install
use examples && dodoc -r "examples/."
einstalldocs
}