1 |
commit: d66b15988f972338e72ffd7c1c538d55416dcfba |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Feb 26 03:13:34 2022 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Feb 26 03:43:03 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d66b1598 |
7 |
|
8 |
dev-lua/luv: add 1.43.0.0 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/834057 |
11 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
12 |
|
13 |
dev-lua/luv/Manifest | 1 + |
14 |
.../luv/files/luv-1.43.0.0-cmake_lua_version.patch | 13 ++++ |
15 |
dev-lua/luv/luv-1.43.0.0.ebuild | 86 ++++++++++++++++++++++ |
16 |
3 files changed, 100 insertions(+) |
17 |
|
18 |
diff --git a/dev-lua/luv/Manifest b/dev-lua/luv/Manifest |
19 |
index 338dcf0a606b..51e54f591dde 100644 |
20 |
--- a/dev-lua/luv/Manifest |
21 |
+++ b/dev-lua/luv/Manifest |
22 |
@@ -1,2 +1,3 @@ |
23 |
DIST luv-1.36.0.0.tar.gz 107196 BLAKE2B 31a02c3e928559037355186810187299a3cb1420265a27756b0613781621c78c18edc272072cc29c46336787b040453cc9a06195264c0a72a985e49c48202022 SHA512 3119c1450a8317725d59cc1ab6afccfbde752b0c32b38909dfdd31bf88ea0751920dc68750da52cf17a6430637cf1094f4d5500e4c50d1145eca48bb12728ba1 |
24 |
+DIST luv-1.43.0.0.tar.gz 122337 BLAKE2B 435334d869487de38215ce9b551f586d4017c7f83497bc90637fc8acb8e63d1c36f6678a3f2c4d5b24b76fd904b2fa8c364a31bc1bd544416f60f2b8290903d3 SHA512 f51d9b3c733dd5617fca49534fdd77dbb6a3d6f58263f453db8dcde21679f4a471e15d6f5b05bcb22a2552455df8beb238d33b0999306bf2a5ad6755da4044ff |
25 |
DIST luv-lua-compat-0.10.tar.gz 53695 BLAKE2B e570aedb23b8ed7ca38c4316ffab25b93a0f9f6f0fae79af563ca8a81dd6453ac273e1f9e70674c484a2dec68749e7d53a1c1736a72616c210b8e38a31b3f191 SHA512 f7f39085f4f6b16095f41e635b4c5477b3dab5e42b5b65a9d522941a3807ea521d4a27a77293a3c9d0ecea78a1f6c2a2497394b2d220f4d7d65e23510563d46d |
26 |
|
27 |
diff --git a/dev-lua/luv/files/luv-1.43.0.0-cmake_lua_version.patch b/dev-lua/luv/files/luv-1.43.0.0-cmake_lua_version.patch |
28 |
new file mode 100644 |
29 |
index 000000000000..d9c324935b91 |
30 |
--- /dev/null |
31 |
+++ b/dev-lua/luv/files/luv-1.43.0.0-cmake_lua_version.patch |
32 |
@@ -0,0 +1,13 @@ |
33 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
34 |
+index 78c0345..853ba90 100644 |
35 |
+--- a/CMakeLists.txt |
36 |
++++ b/CMakeLists.txt |
37 |
+@@ -140,7 +140,7 @@ else (LUA) |
38 |
+ if (WIN32) |
39 |
+ find_package(Lua REQUIRED) |
40 |
+ else() |
41 |
+- find_package(Lua) |
42 |
++ find_package(Lua ${LUA_VERSION} EXACT REQUIRED) |
43 |
+ endif() |
44 |
+ if(NOT LUA_INCLUDE_DIR) |
45 |
+ message( FATAL_ERROR "Failed to find Lua headers. Variable `LUA_INCLUDE_DIR' expected to be defined.") |
46 |
|
47 |
diff --git a/dev-lua/luv/luv-1.43.0.0.ebuild b/dev-lua/luv/luv-1.43.0.0.ebuild |
48 |
new file mode 100644 |
49 |
index 000000000000..9c3fb9018539 |
50 |
--- /dev/null |
51 |
+++ b/dev-lua/luv/luv-1.43.0.0.ebuild |
52 |
@@ -0,0 +1,86 @@ |
53 |
+# Copyright 2019-2022 Gentoo Authors |
54 |
+# Distributed under the terms of the GNU General Public License v2 |
55 |
+ |
56 |
+EAPI=7 |
57 |
+ |
58 |
+LUA_COMPAT=( lua5-{1..4} luajit ) |
59 |
+ |
60 |
+inherit cmake flag-o-matic lua-single unpacker |
61 |
+ |
62 |
+# e.g. MY_PV = a.b.c-d |
63 |
+MY_PV="$(ver_rs 3 -)" |
64 |
+MY_P="${PN}-${MY_PV}" |
65 |
+ |
66 |
+DESCRIPTION="Bare libuv bindings for lua" |
67 |
+HOMEPAGE="https://github.com/luvit/luv" |
68 |
+ |
69 |
+LUA_COMPAT_PV="0.10" |
70 |
+SRC_URI=" |
71 |
+ https://github.com/luvit/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz |
72 |
+ https://github.com/keplerproject/lua-compat-5.3/archive/v${LUA_COMPAT_PV}.tar.gz -> ${PN}-lua-compat-${LUA_COMPAT_PV}.tar.gz |
73 |
+" |
74 |
+ |
75 |
+LICENSE="Apache-2.0 MIT" |
76 |
+SLOT="0" |
77 |
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~x64-macos" |
78 |
+IUSE="test" |
79 |
+RESTRICT="!test? ( test )" |
80 |
+ |
81 |
+REQUIRED_USE="${LUA_REQUIRED_USE}" |
82 |
+ |
83 |
+BDEPEND="virtual/pkgconfig" |
84 |
+DEPEND="${LUA_DEPS} |
85 |
+ >=dev-libs/libuv-1.32.0:=" |
86 |
+RDEPEND="${DEPEND}" |
87 |
+ |
88 |
+PATCHES=( |
89 |
+ "${FILESDIR}"/${PN}-1.43.0.0-cmake_lua_version.patch |
90 |
+) |
91 |
+ |
92 |
+S="${WORKDIR}/${MY_P}" |
93 |
+ |
94 |
+src_prepare() { |
95 |
+ # Fix libdir |
96 |
+ # Match '/lib/' and '/lib"' without capturing / or ", replacing with libdir |
97 |
+ sed -i -r "s/\/lib(\"|\/)/\/$(get_libdir)\1/g" CMakeLists.txt || die "Failed to sed CMakeLists.txt" |
98 |
+ cmake_src_prepare |
99 |
+} |
100 |
+ |
101 |
+# This could in theory be multi-impl (and we have an ebuild in git history, |
102 |
+# 1.32.0.0-r101, which implements it) - the only revdep currently in the tree, |
103 |
+# app-editors/neovim, actually links against luv instead of trying to load it |
104 |
+# as a module. We could probably implement some sort of a hack for this |
105 |
+# - but given how messy it would be, don't bother unless someone actually requests |
106 |
+# luv multi-impl support. |
107 |
+src_configure() { |
108 |
+ lua_compat_dir="${WORKDIR}/lua-compat-5.3-${LUA_COMPAT_PV}" |
109 |
+ |
110 |
+ local mycmakeargs=( |
111 |
+ -DBUILD_MODULE=OFF |
112 |
+ -DLUA_BUILD_TYPE=System |
113 |
+ -DLUA_COMPAT53_DIR="${lua_compat_dir}" |
114 |
+ -DWITH_SHARED_LIBUV=ON |
115 |
+ ) |
116 |
+ if [[ ${ELUA} == luajit ]]; then |
117 |
+ mycmakeargs+=( |
118 |
+ -DWITH_LUA_ENGINE=LuaJIT |
119 |
+ ) |
120 |
+ else |
121 |
+ mycmakeargs+=( |
122 |
+ -DWITH_LUA_ENGINE=Lua |
123 |
+ -DLUA_VERSION=$(ver_cut 1-2 $(lua_get_version)) |
124 |
+ ) |
125 |
+ fi |
126 |
+ |
127 |
+ if [[ ${CHOST} == *-darwin* ]] ; then |
128 |
+ append-ldflags "-undefined dynamic_lookup" |
129 |
+ fi |
130 |
+ |
131 |
+ cmake_src_configure |
132 |
+} |
133 |
+ |
134 |
+src_test() { |
135 |
+ # We need to copy the library back so that the tests see it |
136 |
+ ln -s "${BUILD_DIR}/libluv.so" "./luv.so" || die "Failed to symlink library for tests" |
137 |
+ ${ELUA} "tests/run.lua" || die "Tests failed" |
138 |
+} |