summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lua/luv/Manifest1
-rw-r--r--dev-lua/luv/luv-1.32.0.0.ebuild61
2 files changed, 62 insertions, 0 deletions
diff --git a/dev-lua/luv/Manifest b/dev-lua/luv/Manifest
index c1c8d348e6b8..9ae02938e738 100644
--- a/dev-lua/luv/Manifest
+++ b/dev-lua/luv/Manifest
@@ -1,2 +1,3 @@
DIST luv-1.30.1.1.tar.gz 88948 BLAKE2B 8b6da2ac0c63222a508f9f37b6a724edab21285f21ff1fa95fe334ae800bf76a49114e41531d7584bc8ce171e4c373167cb713cf70bef6ac2c822b88398bbe17 SHA512 c9001cbea2f58a867b6ddf11ac54d16bfaa15f37f3453758d303c58b960177c7c1a65e8c5636ce07161711c898af7dfda0ed9cb4cfb8d7d6430b3843fd0acfa2
+DIST luv-1.32.0.0.tar.gz 91349 BLAKE2B e4a90b3241e2fe650f62e34439ed75f9ba53168d6bd96b8685fc5600d6f9cbb1bb598a7d40d918ab9123cf4bad99f872a79d0664056d35caba52d1eda9046020 SHA512 7db52afc1ca79052e349be7a37deb67066ee9005f8d7f7d0dae62bd83a93b4140103ee6dddeca2e02a3fc37b3880a5c18904429886af1d441f8de0cfabf5bd8c
DIST luv-lua-compat-0.7.tar.gz 51383 BLAKE2B ae86f314de971fcd7d8706009d59d684c035fb661ecf392c581a3c317cc1a396321ef7af0418d8f23151c52c66613a0749e8fa9ac889a183c2ffe749091dae35 SHA512 665ece98422a105b818cffd96eea5788696fbb854d2ba41d2d387e8bd25c1fa9de601468e55e22e9e749979a66d4d2e0f7dfd656e5bf27b489d37bb07c96f48d
diff --git a/dev-lua/luv/luv-1.32.0.0.ebuild b/dev-lua/luv/luv-1.32.0.0.ebuild
new file mode 100644
index 000000000000..7b036e6da7fe
--- /dev/null
+++ b/dev-lua/luv/luv-1.32.0.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils 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.7"
+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 ~x86"
+IUSE="luajit test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ >=dev-libs/libuv-1.32.0:=
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( dev-lang/lua:0 )
+"
+RDEPEND="${DEPEND}"
+
+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-utils_src_prepare
+}
+
+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_LUA_ENGINE=$(usex luajit LuaJIT Lua)
+ -DWITH_SHARED_LIBUV=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local elua="$(usex luajit luajit lua)"
+ # 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"
+}