summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJocelyn-MAYER <l_indien@mailmagic.fr>2022-12-29 18:28:00 +0100
committerSam James <sam@gentoo.org>2022-12-29 18:21:30 +0000
commit2b5021931af5a2e8eafa31dc0d503ba3ce50dfd2 (patch)
tree39892182b7fa672818f42c70046866b734d9af60 /media-libs/libquvi
parentkernel-2.eclass: Don't drop CPU OPT patch when CC=clang (diff)
downloadgentoo-2b5021931af5a2e8eafa31dc0d503ba3ce50dfd2.tar.gz
gentoo-2b5021931af5a2e8eafa31dc0d503ba3ce50dfd2.tar.bz2
gentoo-2b5021931af5a2e8eafa31dc0d503ba3ce50dfd2.zip
media-libs/libquvi: support luajit and lua5.4
libquvi used to build only with lua version 5.1 - the configure.ac file is to be patched in order to be able to build with luajit - the second patch allow build with lua version 5.4 Closes: https://bugs.gentoo.org/504876 Signed-off-by: Jocelyn-MAYER <l_indien@mailmagic.fr> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/libquvi')
-rw-r--r--media-libs/libquvi/files/libquvi-0.9.4-luaL_setfuncs_ver.patch70
-rw-r--r--media-libs/libquvi/files/libquvi-0.9.4-luajit.patch15
-rw-r--r--media-libs/libquvi/libquvi-0.9.4-r101.ebuild69
3 files changed, 154 insertions, 0 deletions
diff --git a/media-libs/libquvi/files/libquvi-0.9.4-luaL_setfuncs_ver.patch b/media-libs/libquvi/files/libquvi-0.9.4-luaL_setfuncs_ver.patch
new file mode 100644
index 000000000000..156468b0e7b1
--- /dev/null
+++ b/media-libs/libquvi/files/libquvi-0.9.4-luaL_setfuncs_ver.patch
@@ -0,0 +1,70 @@
+--- libquvi-0.9.4/src/lua/init.c 2013-11-04 13:55:26.000000000 +0100
++++ libquvi-0.9.4/src/lua/init.c 2022-12-29 09:25:41.579621070 +0100
+@@ -43,11 +43,19 @@ static const luaL_Reg quvi_reg_meth[] =
+
+ static const luaL_Reg quvi_http_reg_meth[] =
+ {
++#if (LUA_VERSION_NUM == 501)
+ {"metainfo", l_quvi_http_metainfo},
+ {"resolve", l_quvi_http_resolve},
+ {"cookie", l_quvi_http_cookie},
+ {"header", l_quvi_http_header},
+ {"fetch", l_quvi_http_fetch},
++#elif (LUA_VERSION_NUM >= 504)
++ {"quvi.http.metainfo", l_quvi_http_metainfo},
++ {"quvi.http.resolve", l_quvi_http_resolve},
++ {"quvi.http.cookie", l_quvi_http_cookie},
++ {"quvi.http.header", l_quvi_http_header},
++ {"quvi.http.fetch", l_quvi_http_fetch},
++#endif
+ {NULL, NULL}
+ };
+
+@@ -57,9 +65,15 @@ extern gint l_quvi_crypto_hash(lua_State
+
+ static const luaL_Reg quvi_crypto_reg_meth[] =
+ {
++#if (LUA_VERSION_NUM == 501)
+ {"encrypt", l_quvi_crypto_encrypt},
+ {"decrypt", l_quvi_crypto_decrypt},
+ {"hash", l_quvi_crypto_hash},
++#elif (LUA_VERSION_NUM >= 504)
++ {"quvi.crypto.encrypt", l_quvi_crypto_encrypt},
++ {"quvi.crypto.decrypt", l_quvi_crypto_decrypt},
++ {"quvi.crypto.hash", l_quvi_crypto_hash},
++#endif
+ {NULL, NULL}
+ };
+
+@@ -68,8 +82,13 @@ extern gint l_quvi_base64_decode(lua_Sta
+
+ static const luaL_Reg quvi_base64_reg_meth[] =
+ {
++#if (LUA_VERSION_NUM == 501)
+ {"encode", l_quvi_base64_encode},
+ {"decode", l_quvi_base64_decode},
++#elif (LUA_VERSION_NUM >= 504)
++ {"quvi.base64.encode", l_quvi_base64_encode},
++ {"quvi.base64.decode", l_quvi_base64_decode},
++#endif
+ {NULL, NULL}
+ };
+
+@@ -80,10 +99,17 @@ QuviError l_init(_quvi_t q)
+ return (QUVI_ERROR_LUA_INIT);
+
+ luaL_openlibs(q->handle.lua);
++#if (LUA_VERSION_NUM == 501)
+ luaL_register(q->handle.lua, "quvi", quvi_reg_meth);
+ luaL_register(q->handle.lua, "quvi.http", quvi_http_reg_meth);
+ luaL_register(q->handle.lua, "quvi.crypto", quvi_crypto_reg_meth);
+ luaL_register(q->handle.lua, "quvi.base64", quvi_base64_reg_meth);
++#elif (LUA_VERSION_NUM >= 504)
++ luaL_newlib(q->handle.lua, quvi_reg_meth);
++ luaL_newlib(q->handle.lua, quvi_http_reg_meth);
++ luaL_newlib(q->handle.lua, quvi_crypto_reg_meth);
++ luaL_newlib(q->handle.lua, quvi_base64_reg_meth);
++#endif
+
+ return (QUVI_OK);
+ }
diff --git a/media-libs/libquvi/files/libquvi-0.9.4-luajit.patch b/media-libs/libquvi/files/libquvi-0.9.4-luajit.patch
new file mode 100644
index 000000000000..dd4dc58238c9
--- /dev/null
+++ b/media-libs/libquvi/files/libquvi-0.9.4-luajit.patch
@@ -0,0 +1,15 @@
+--- libquvi-0.9.4/configure.ac 2021-10-20 13:44:09.834182117 +0200
++++ libquvi-0.9.4/configure.ac 2021-10-20 13:46:23.611188250 +0200
+@@ -85,7 +85,9 @@ AC_SUBST([VALGRIND])
+ PKG_CHECK_MODULES([liblua], [lua >= 5.1], [], [
+ PKG_CHECK_MODULES([liblua], [lua51 >= 5.1], [], [
+ PKG_CHECK_MODULES([liblua], [lua5.1 >= 5.1], [], [
+- PKG_CHECK_MODULES(liblua, [lua-5.1 >= 5.1])])
++ PKG_CHECK_MODULES([liblua], [lua-5.1 >= 5.1], [], [
++ PKG_CHECK_MODULES(liblua, [luajit])])
++ ])
+ ])
+ ])
+ PKG_CHECK_MODULES([libproxy], [libproxy-1.0 >= 0.3.1])
+
+
diff --git a/media-libs/libquvi/libquvi-0.9.4-r101.ebuild b/media-libs/libquvi/libquvi-0.9.4-r101.ebuild
new file mode 100644
index 000000000000..e6500141edd7
--- /dev/null
+++ b/media-libs/libquvi/libquvi-0.9.4-r101.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-1 )
+LUA_REQ_USE="deprecated"
+
+inherit autotools lua-single
+
+DESCRIPTION="Library for parsing video download links"
+HOMEPAGE="http://quvi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/quvi/${PV:0:3}/${P}.tar.xz"
+
+LICENSE="AGPL-3"
+SLOT="0/8" # subslot = libquvi soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples nls static-libs"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ ${LUA_DEPS}
+ >=dev-libs/glib-2.34.3:2
+ >=dev-libs/libgcrypt-1.5.3:0=
+ >=media-libs/libquvi-scripts-0.9.20130903[${LUA_SINGLE_USEDEP}]
+ !<media-libs/quvi-0.4.0
+ >=net-libs/libproxy-0.4.11-r1
+ >=net-misc/curl-7.36.0
+ nls? ( >=virtual/libintl-0-r1 )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ app-arch/xz-utils
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.1-headers-reinstall.patch
+ "${FILESDIR}"/${PN}-0.9.4-autoconf-2.70.patch #749816
+ "${FILESDIR}"/${PN}-0.9.4-luajit.patch # 504876
+ "${FILESDIR}"/${PN}-0.9.4-luaL_setfuncs_ver.patch # 504876
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ --with-manual
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ einstalldocs
+ use examples && dodoc -r examples
+
+ find "${ED}" -name '*.la' -delete || die
+}