forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-lua/luv: bump to 1.36.0.0; fix build on Darwin; keyword x64-macos
Suggested-by: Sam James <[email protected]> Signed-off-by: Aaron Bauman <[email protected]>
- Loading branch information
1 parent
a2b6b90
commit 1749aae
Showing
2 changed files
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST luv-1.32.0.0.tar.gz 91349 BLAKE2B e4a90b3241e2fe650f62e34439ed75f9ba53168d6bd96b8685fc5600d6f9cbb1bb598a7d40d918ab9123cf4bad99f872a79d0664056d35caba52d1eda9046020 SHA512 7db52afc1ca79052e349be7a37deb67066ee9005f8d7f7d0dae62bd83a93b4140103ee6dddeca2e02a3fc37b3880a5c18904429886af1d441f8de0cfabf5bd8c | ||
DIST luv-1.36.0.0.tar.gz 107196 BLAKE2B 31a02c3e928559037355186810187299a3cb1420265a27756b0613781621c78c18edc272072cc29c46336787b040453cc9a06195264c0a72a985e49c48202022 SHA512 3119c1450a8317725d59cc1ab6afccfbde752b0c32b38909dfdd31bf88ea0751920dc68750da52cf17a6430637cf1094f4d5500e4c50d1145eca48bb12728ba1 | ||
DIST luv-lua-compat-0.10.tar.gz 53695 BLAKE2B e570aedb23b8ed7ca38c4316ffab25b93a0f9f6f0fae79af563ca8a81dd6453ac273e1f9e70674c484a2dec68749e7d53a1c1736a72616c210b8e38a31b3f191 SHA512 f7f39085f4f6b16095f41e635b4c5477b3dab5e42b5b65a9d522941a3807ea521d4a27a77293a3c9d0ecea78a1f6c2a2497394b2d220f4d7d65e23510563d46d |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Copyright 2019-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
LUA_COMPAT=( lua5-{1..4} luajit ) | ||
|
||
inherit cmake flag-o-matic lua-single unpacker | ||
|
||
# e.g. MY_PV = a.b.c-d | ||
MY_PV="$(ver_rs 3 -)" | ||
MY_P="${PN}-${MY_PV}" | ||
|
||
DESCRIPTION="Bare libuv bindings for lua" | ||
HOMEPAGE="https://github.com/luvit/luv" | ||
|
||
LUA_COMPAT_PV="0.10" | ||
SRC_URI=" | ||
https://github.com/luvit/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz | ||
https://github.com/keplerproject/lua-compat-5.3/archive/v${LUA_COMPAT_PV}.tar.gz -> ${PN}-lua-compat-${LUA_COMPAT_PV}.tar.gz | ||
" | ||
|
||
LICENSE="Apache-2.0 MIT" | ||
SLOT="0" | ||
KEYWORDS="amd64 ~arm ~arm64 x86 ~x64-macos" | ||
IUSE="test" | ||
RESTRICT="!test? ( test )" | ||
|
||
REQUIRED_USE="${LUA_REQUIRED_USE}" | ||
|
||
BDEPEND="virtual/pkgconfig" | ||
DEPEND="${LUA_DEPS} | ||
>=dev-libs/libuv-1.32.0:=" | ||
RDEPEND="${DEPEND}" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${PN}-1.32.0.0-cmake_lua_version.patch | ||
) | ||
|
||
S="${WORKDIR}/${MY_P}" | ||
|
||
src_prepare() { | ||
# Fix libdir | ||
# Match '/lib/' and '/lib"' without capturing / or ", replacing with libdir | ||
sed -i -r "s/\/lib(\"|\/)/\/$(get_libdir)\1/g" CMakeLists.txt || die "Failed to sed CMakeLists.txt" | ||
cmake_src_prepare | ||
} | ||
|
||
# This could in theory be multi-impl (and we have an ebuild in git history, | ||
# 1.32.0.0-r101, which implements it) - the only revdep currently in the tree, | ||
# app-editors/neovim, actually links against luv instead of trying to load it | ||
# as a module. We could probably implement some sort of a hack for this | ||
# - but given how messy it would be, don't bother unless someone actually requests | ||
# luv multi-impl support. | ||
src_configure() { | ||
lua_compat_dir="${WORKDIR}/lua-compat-5.3-${LUA_COMPAT_PV}" | ||
|
||
local mycmakeargs=( | ||
-DBUILD_MODULE=OFF | ||
-DLUA_BUILD_TYPE=System | ||
-DLUA_COMPAT53_DIR="${lua_compat_dir}" | ||
-DWITH_SHARED_LIBUV=ON | ||
) | ||
if [[ ${ELUA} == luajit ]]; then | ||
mycmakeargs+=( | ||
-DWITH_LUA_ENGINE=LuaJIT | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DWITH_LUA_ENGINE=Lua | ||
-DLUA_VERSION=$(ver_cut 1-2 $(lua_get_version)) | ||
) | ||
fi | ||
|
||
if [[ ${CHOST} == *-darwin* ]] ; then | ||
append-ldflags "-undefined dynamic_lookup" | ||
fi | ||
|
||
cmake_src_configure | ||
} | ||
|
||
src_test() { | ||
# We need to copy the library back so that the tests see it | ||
ln -s "${BUILD_DIR}/libluv.so" "./luv.so" || die "Failed to symlink library for tests" | ||
${ELUA} "tests/run.lua" || die "Tests failed" | ||
} |