diff options
author | Jocelyn-MAYER <l_indien@mailmagic.fr> | 2022-12-29 18:28:00 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-12-29 18:21:30 +0000 |
commit | 2b5021931af5a2e8eafa31dc0d503ba3ce50dfd2 (patch) | |
tree | 39892182b7fa672818f42c70046866b734d9af60 /media-libs/libquvi | |
parent | kernel-2.eclass: Don't drop CPU OPT patch when CC=clang (diff) | |
download | gentoo-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.patch | 70 | ||||
-rw-r--r-- | media-libs/libquvi/files/libquvi-0.9.4-luajit.patch | 15 | ||||
-rw-r--r-- | media-libs/libquvi/libquvi-0.9.4-r101.ebuild | 69 |
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 +} |