commit: f5026823c6ff2f8dc71f108a0231f55a6621f860 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Fri Dec 6 00:46:46 2024 +0000 Commit: Nicolas PARLANT <ppn <AT> parhuet <DOT> fr> CommitDate: Fri Dec 6 20:45:49 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f5026823
dev-lua/cqueues: add 20200726_p20241204 use EGIT_COMMIT to keep update instead of patch Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> dev-lua/cqueues/Manifest | 1 + dev-lua/cqueues/cqueues-20200726_p20241204.ebuild | 157 ++++++++++++++++++++++ 2 files changed, 158 insertions(+) diff --git a/dev-lua/cqueues/Manifest b/dev-lua/cqueues/Manifest index a4309ac2f..913c6afde 100644 --- a/dev-lua/cqueues/Manifest +++ b/dev-lua/cqueues/Manifest @@ -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 diff --git a/dev-lua/cqueues/cqueues-20200726_p20241204.ebuild b/dev-lua/cqueues/cqueues-20200726_p20241204.ebuild new file mode 100644 index 000000000..1b546a8d4 --- /dev/null +++ b/dev-lua/cqueues/cqueues-20200726_p20241204.ebuild @@ -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 +}