Skip to content
Snippets Groups Projects
Commit efb5787f authored by Stepan Nassyr's avatar Stepan Nassyr
Browse files

NeoVim 0.7.2 + Dependencies

parent a32e7208
Branches
Tags
No related merge requests found
Showing
with 1839 additions and 1 deletion
# This is the LuaJIT fork from openresty, not to be mixed up
# with the original LuaJIT version!
# Autor: J. Sassmannshausen (Imperial College London/UK)
easyblock = 'ConfigureMake'
name = "LuaJIT2-OpenResty"
version = "2.1-20220411"
homepage = "https://github.com/openresty/luajit2"
description = """openresty/luajit2 - OpenResty's maintained branch of LuaJIT.
LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
programming language. Lua is a powerful, dynamic and light-weight programming
language. It may be embedded or used as a general-purpose, stand-alone
language. """
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = ['https://github.com/openresty/luajit2/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['d3f2c870f8f88477b01726b32accab30f6e5d57ae59c5ec87374ff73d0794316']
builddependencies = [
('binutils', '2.37'),
]
skipsteps = ['configure']
installopts = 'PREFIX=%(installdir)s'
sanity_check_commands = ['luajit -v']
sanity_check_paths = {
'files': ["bin/luajit"],
'dirs': []
}
moduleclass = "lang"
# EasyConfig for libmpack-lua (NeoVim dependency)
#
# Copyright 2019-2022 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'ConfigureMake'
name = 'libmpack-lua'
version = '1.0.9'
homepage = 'https://github.com/libmpack/libmpack-lua'
description = """libmpack lua binding
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
github_account = 'libmpack'
source_urls = [GITHUB_SOURCE]
sources = [{
'download_filename': '%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ,
}]
checksums = ['e94d5cf95d7479dca00ff23755fe05a440f11f9d203635e862ad8842de95f40a']
builddependencies = [
('binutils', '2.37'),
]
dependencies = [
('LuaJIT2-OpenResty', '2.1-20220411')
]
skipsteps = ['configure']
build_cmd = ("LUA_TARGET=linux LUA=$EBROOTLUAJIT2MINOPENRESTY/bin/luajit "
"LUA_IMPL=luajit MPACK_LUA_VERSION=5.1 "
"LUA_CMOD_INSTALLDIR=/lib/lua/5.1/ "
"make PREFIX=%(installdir)s USE_SYSTEM_LUA=yes USE_SYSTEM_MPACK=no")
install_cmd = ("LUA_TARGET=linux LUA=$EBROOTLUAJIT2MINOPENRESTY/bin/luajit "
"LUA_IMPL=luajit MPACK_LUA_VERSION=5.1 "
"LUA_CMOD_INSTALLDIR=/lib/lua/5.1/ "
"make DESTDIR=%(installdir)s USE_SYSTEM_LUA=yes USE_SYSTEM_MPACK=no install")
sanity_check_paths = {
'files': ['lib/lua/5.1/mpack.%s' % SHLIB_EXT],
'dirs': [],
}
modluafooter = """
libmpack_lua_root = os.getenv("EBROOTLIBMPACKMINLUA")
lua_cpath = os.getenv("LUA_CPATH")
if nil == lua_cpath then
setenv("LUA_CPATH", libmpack_lua_root .. "/lib/lua/5.1/?.so;;")
else
prepend_path("LUA_CPATH", libmpack_lua_root .. "/lib/lua/5.1/?.so", ";")
end
"""
moduleclass = 'lib'
# EasyConfig for libtermkey (NeoVim dependency)
# Copyright 2019-2022 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'ConfigureMake'
name = 'libtermkey'
version = '0.22'
homepage = 'https://www.leonerd.org.uk/code/libtermkey/'
description = """This library allows easy processing of keyboard entry from terminal-based
programs. It handles all the necessary logic to recognise special keys,
UTF-8 combining, and so on, with a simple interface.
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = ['https://www.leonerd.org.uk/code/libtermkey/']
sources = ['%(name)s-%(version)s.tar.gz']
checksums = ['6945bd3c4aaa83da83d80a045c5563da4edd7d0374c62c0d35aec09eb3014600']
builddependencies = [
('libtool', '2.4.6'),
('binutils', '2.37'),
]
skipsteps = ['configure']
build_cmd = "make PREFIX=%(installdir)s"
install_cmd = "make PREFIX=%(installdir)s install"
sanity_check_paths = {
'files': ['lib/libtermkey.%s' % SHLIB_EXT,
'include/termkey.h'],
'dirs': ['lib/pkgconfig'],
}
moduleclass = 'lib'
easyblock = 'ConfigureMake'
name = 'libuv'
version = '1.44.2'
homepage = 'https://libuv.org'
description = "libuv is a multi-platform support library with a focus on asynchronous I/O."
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
github_account = 'libuv'
source_urls = [GITHUB_SOURCE]
sources = [
{
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ
}
]
checksums = ['e6e2ba8b4c349a4182a33370bb9be5e23c51b32efb9b9e209d0e8556b73a48da']
builddependencies = [
('binutils', '2.37'),
('Autotools', '20210726'),
]
preconfigopts = './autogen.sh; '
sanity_check_paths = {
'files': ['include/uv.h', 'lib/libuv.a', 'lib/libuv.%s' % SHLIB_EXT, 'lib/pkgconfig/libuv.pc'],
'dirs': []
}
moduleclass = 'lib'
# EasyConfig for libvterm (NeoVim dependency)
# Copyright 2019 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'ConfigureMake'
name = 'libvterm'
version = '0.1.3'
homepage = 'https://github.com/nvim/libvterm'
description = """ An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator.
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = ['https://www.leonerd.org.uk/code/libvterm/']
sources = ['%(name)s-%(version)s.tar.gz']
checksums = ['e41724466a4658e0f095e8fc5aeae26026c0726dce98ee71d6920d06f7d78e2b']
builddependencies = [
('libtool', '2.4.6'),
('binutils', '2.37'),
]
skipsteps = ['configure']
build_cmd = "make PREFIX=%(installdir)s"
install_cmd = "make PREFIX=%(installdir)s install"
sanity_check_paths = {
'files': ['lib/libvterm.%s' % SHLIB_EXT,
'include/vterm.h'],
'dirs': ['lib/pkgconfig'],
}
moduleclass = 'lib'
# EasyConfig for lpeg (NeoVim dependency)
# Copyright 2019-2022 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'MakeCp'
name = 'lpeg'
version = '1.0.2'
homepage = 'http://www.inf.puc-rio.br/~roberto/lpeg/'
description = """LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
source_urls = ['http://www.inf.puc-rio.br/~roberto/%(name)s/']
sources = ['%(name)s-%(version)s.tar.gz']
checksums = ['48d66576051b6c78388faad09b70493093264588fcd0f258ddaab1cdd4a15ffe']
builddependencies = [
('LuaJIT2-OpenResty', '2.1-20220411'),
('binutils', '2.37'),
]
prebuildopts = (
"sed 's/^CFLAGS =/CFLAGS +=/' -i \"%(builddir)s/%(name)s-%(version)s\"/makefile &&"
"sed 's/^LUADIR =/LUADIR ?=/' -i \"%(builddir)s/%(name)s-%(version)s\"/makefile &&"
"sed 's/^COPT =/# COPT =/' -i \"%(builddir)s/%(name)s-%(version)s\"/makefile && "
)
build_cmd = "make LUADIR=$EBROOTLUAJIT2MINOPENRESTY/include/luajit-2.1/ DLLFLAGS=-lluajit-5.1"
files_to_copy = [
(['%(name)s.so'], 'lib/lua/5.1/'),
(['re.lua'], 'share/lua/5.1/')
]
sanity_check_paths = {
'files': ['lib/lua/5.1/%(name)s.so',
'share/lua/5.1/re.lua'],
'dirs': [],
}
modluafooter = """
libmpack_lua_root = os.getenv("EBROOTLPEG")
lua_cpath = os.getenv("LUA_CPATH")
lua_path = os.getenv("LUA_PATH")
if nil == lua_cpath then
setenv("LUA_CPATH", libmpack_lua_root .. "/lib/lua/5.1/?.so;;")
else
prepend_path("LUA_CPATH", libmpack_lua_root .. "/lib/lua/5.1/?.so", ";")
end
if nil == lua_path then
setenv("LUA_PATH", libmpack_lua_root .. "/share/lua/5.1/?.lua;;")
else
prepend_path("LUA_PATH", libmpack_lua_root .. "/share/lua/5.1/?.lua", ";")
end
"""
moduleclass = 'lib'
This diff is collapsed.
#ifndef COMPAT53_H_
#define COMPAT53_H_
#include <stddef.h>
#include <limits.h>
#include <string.h>
#if defined(__cplusplus) && !defined(COMPAT53_LUA_CPP)
extern "C" {
#endif
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
#if defined(__cplusplus) && !defined(COMPAT53_LUA_CPP)
}
#endif
#undef COMPAT53_INCLUDE_SOURCE
#if defined(COMPAT53_PREFIX)
/* - change the symbol names of functions to avoid linker conflicts
* - compat-5.3.c needs to be compiled (and linked) separately
*/
# if !defined(COMPAT53_API)
# define COMPAT53_API extern
# endif
#else /* COMPAT53_PREFIX */
/* - make all functions static and include the source.
* - compat-5.3.c doesn't need to be compiled (and linked) separately
*/
# define COMPAT53_PREFIX compat53
# undef COMPAT53_API
# if defined(__GNUC__) || defined(__clang__)
# define COMPAT53_API __attribute__((__unused__)) static
# else
# define COMPAT53_API static
# endif
# define COMPAT53_INCLUDE_SOURCE
#endif /* COMPAT53_PREFIX */
#define COMPAT53_CONCAT_HELPER(a, b) a##b
#define COMPAT53_CONCAT(a, b) COMPAT53_CONCAT_HELPER(a, b)
/* declarations for Lua 5.1 */
#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM == 501
/* XXX not implemented:
* lua_arith (new operators)
* lua_upvalueid
* lua_upvaluejoin
* lua_version
* lua_yieldk
*/
#ifndef LUA_OK
# define LUA_OK 0
#endif
#ifndef LUA_OPADD
# define LUA_OPADD 0
#endif
#ifndef LUA_OPSUB
# define LUA_OPSUB 1
#endif
#ifndef LUA_OPMUL
# define LUA_OPMUL 2
#endif
#ifndef LUA_OPDIV
# define LUA_OPDIV 3
#endif
#ifndef LUA_OPMOD
# define LUA_OPMOD 4
#endif
#ifndef LUA_OPPOW
# define LUA_OPPOW 5
#endif
#ifndef LUA_OPUNM
# define LUA_OPUNM 6
#endif
#ifndef LUA_OPEQ
# define LUA_OPEQ 0
#endif
#ifndef LUA_OPLT
# define LUA_OPLT 1
#endif
#ifndef LUA_OPLE
# define LUA_OPLE 2
#endif
/* LuaJIT/Lua 5.1 does not have the updated
* error codes for thread status/function returns (but some patched versions do)
* define it only if it's not found
*/
#if !defined(LUA_ERRGCMM)
/* Use + 2 because in some versions of Lua (Lua 5.1)
* LUA_ERRFILE is defined as (LUA_ERRERR+1)
* so we need to avoid it (LuaJIT might have something at this
* integer value too)
*/
# define LUA_ERRGCMM (LUA_ERRERR + 2)
#endif /* LUA_ERRGCMM define */
typedef size_t lua_Unsigned;
typedef struct luaL_Buffer_53 {
luaL_Buffer b; /* make incorrect code crash! */
char *ptr;
size_t nelems;
size_t capacity;
lua_State *L2;
} luaL_Buffer_53;
#define luaL_Buffer luaL_Buffer_53
/* In PUC-Rio 5.1, userdata is a simple FILE*
* In LuaJIT, it's a struct where the first member is a FILE*
* We can't support the `closef` member
*/
typedef struct luaL_Stream {
FILE *f;
} luaL_Stream;
#define lua_absindex COMPAT53_CONCAT(COMPAT53_PREFIX, _absindex)
COMPAT53_API int lua_absindex (lua_State *L, int i);
#define lua_arith COMPAT53_CONCAT(COMPAT53_PREFIX, _arith)
COMPAT53_API void lua_arith (lua_State *L, int op);
#define lua_compare COMPAT53_CONCAT(COMPAT53_PREFIX, _compare)
COMPAT53_API int lua_compare (lua_State *L, int idx1, int idx2, int op);
#define lua_copy COMPAT53_CONCAT(COMPAT53_PREFIX, _copy)
COMPAT53_API void lua_copy (lua_State *L, int from, int to);
#define lua_getuservalue(L, i) \
(lua_getfenv((L), (i)), lua_type((L), -1))
#define lua_setuservalue(L, i) \
(luaL_checktype((L), -1, LUA_TTABLE), lua_setfenv((L), (i)))
#define lua_len COMPAT53_CONCAT(COMPAT53_PREFIX, _len)
COMPAT53_API void lua_len (lua_State *L, int i);
#define lua_pushstring(L, s) \
(lua_pushstring((L), (s)), lua_tostring((L), -1))
#define lua_pushlstring(L, s, len) \
((((len) == 0) ? lua_pushlstring((L), "", 0) : lua_pushlstring((L), (s), (len))), lua_tostring((L), -1))
#ifndef luaL_newlibtable
# define luaL_newlibtable(L, l) \
(lua_createtable((L), 0, sizeof((l))/sizeof(*(l))-1))
#endif
#ifndef luaL_newlib
# define luaL_newlib(L, l) \
(luaL_newlibtable((L), (l)), luaL_register((L), NULL, (l)))
#endif
#define lua_pushglobaltable(L) \
lua_pushvalue((L), LUA_GLOBALSINDEX)
#define lua_rawgetp COMPAT53_CONCAT(COMPAT53_PREFIX, _rawgetp)
COMPAT53_API int lua_rawgetp (lua_State *L, int i, const void *p);
#define lua_rawsetp COMPAT53_CONCAT(COMPAT53_PREFIX, _rawsetp)
COMPAT53_API void lua_rawsetp(lua_State *L, int i, const void *p);
#define lua_rawlen(L, i) lua_objlen((L), (i))
#define lua_tointeger(L, i) lua_tointegerx((L), (i), NULL)
#define lua_tonumberx COMPAT53_CONCAT(COMPAT53_PREFIX, _tonumberx)
COMPAT53_API lua_Number lua_tonumberx (lua_State *L, int i, int *isnum);
#define luaL_checkversion COMPAT53_CONCAT(COMPAT53_PREFIX, L_checkversion)
COMPAT53_API void luaL_checkversion (lua_State *L);
#define lua_load COMPAT53_CONCAT(COMPAT53_PREFIX, _load_53)
COMPAT53_API int lua_load (lua_State *L, lua_Reader reader, void *data, const char* source, const char* mode);
#define luaL_loadfilex COMPAT53_CONCAT(COMPAT53_PREFIX, L_loadfilex)
COMPAT53_API int luaL_loadfilex (lua_State *L, const char *filename, const char *mode);
#define luaL_loadbufferx COMPAT53_CONCAT(COMPAT53_PREFIX, L_loadbufferx)
COMPAT53_API int luaL_loadbufferx (lua_State *L, const char *buff, size_t sz, const char *name, const char *mode);
#define luaL_checkstack COMPAT53_CONCAT(COMPAT53_PREFIX, L_checkstack_53)
COMPAT53_API void luaL_checkstack (lua_State *L, int sp, const char *msg);
#define luaL_getsubtable COMPAT53_CONCAT(COMPAT53_PREFIX, L_getsubtable)
COMPAT53_API int luaL_getsubtable (lua_State* L, int i, const char *name);
#define luaL_len COMPAT53_CONCAT(COMPAT53_PREFIX, L_len)
COMPAT53_API lua_Integer luaL_len (lua_State *L, int i);
#define luaL_setfuncs COMPAT53_CONCAT(COMPAT53_PREFIX, L_setfuncs)
COMPAT53_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup);
#define luaL_setmetatable COMPAT53_CONCAT(COMPAT53_PREFIX, L_setmetatable)
COMPAT53_API void luaL_setmetatable (lua_State *L, const char *tname);
#define luaL_testudata COMPAT53_CONCAT(COMPAT53_PREFIX, L_testudata)
COMPAT53_API void *luaL_testudata (lua_State *L, int i, const char *tname);
#define luaL_traceback COMPAT53_CONCAT(COMPAT53_PREFIX, L_traceback)
COMPAT53_API void luaL_traceback (lua_State *L, lua_State *L1, const char *msg, int level);
#define luaL_fileresult COMPAT53_CONCAT(COMPAT53_PREFIX, L_fileresult)
COMPAT53_API int luaL_fileresult (lua_State *L, int stat, const char *fname);
#define luaL_execresult COMPAT53_CONCAT(COMPAT53_PREFIX, L_execresult)
COMPAT53_API int luaL_execresult (lua_State *L, int stat);
#define lua_callk(L, na, nr, ctx, cont) \
((void)(ctx), (void)(cont), lua_call((L), (na), (nr)))
#define lua_pcallk(L, na, nr, err, ctx, cont) \
((void)(ctx), (void)(cont), lua_pcall((L), (na), (nr), (err)))
#define lua_resume(L, from, nargs) \
((void)(from), lua_resume((L), (nargs)))
#define luaL_buffinit COMPAT53_CONCAT(COMPAT53_PREFIX, _buffinit_53)
COMPAT53_API void luaL_buffinit (lua_State *L, luaL_Buffer_53 *B);
#define luaL_prepbuffsize COMPAT53_CONCAT(COMPAT53_PREFIX, _prepbufsize_53)
COMPAT53_API char *luaL_prepbuffsize (luaL_Buffer_53 *B, size_t s);
#define luaL_addlstring COMPAT53_CONCAT(COMPAT53_PREFIX, _addlstring_53)
COMPAT53_API void luaL_addlstring (luaL_Buffer_53 *B, const char *s, size_t l);
#define luaL_addvalue COMPAT53_CONCAT(COMPAT53_PREFIX, _addvalue_53)
COMPAT53_API void luaL_addvalue (luaL_Buffer_53 *B);
#define luaL_pushresult COMPAT53_CONCAT(COMPAT53_PREFIX, _pushresult_53)
COMPAT53_API void luaL_pushresult (luaL_Buffer_53 *B);
#undef luaL_buffinitsize
#define luaL_buffinitsize(L, B, s) \
(luaL_buffinit((L), (B)), luaL_prepbuffsize((B), (s)))
#undef luaL_prepbuffer
#define luaL_prepbuffer(B) \
luaL_prepbuffsize((B), LUAL_BUFFERSIZE)
#undef luaL_addchar
#define luaL_addchar(B, c) \
((void)((B)->nelems < (B)->capacity || luaL_prepbuffsize((B), 1)), \
((B)->ptr[(B)->nelems++] = (c)))
#undef luaL_addsize
#define luaL_addsize(B, s) \
((B)->nelems += (s))
#undef luaL_addstring
#define luaL_addstring(B, s) \
luaL_addlstring((B), (s), strlen((s)))
#undef luaL_pushresultsize
#define luaL_pushresultsize(B, s) \
(luaL_addsize((B), (s)), luaL_pushresult((B)))
#if defined(LUA_COMPAT_APIINTCASTS)
#define lua_pushunsigned(L, n) \
lua_pushinteger((L), (lua_Integer)(n))
#define lua_tounsignedx(L, i, is) \
((lua_Unsigned)lua_tointegerx((L), (i), (is)))
#define lua_tounsigned(L, i) \
lua_tounsignedx((L), (i), NULL)
#define luaL_checkunsigned(L, a) \
((lua_Unsigned)luaL_checkinteger((L), (a)))
#define luaL_optunsigned(L, a, d) \
((lua_Unsigned)luaL_optinteger((L), (a), (lua_Integer)(d)))
#endif
#endif /* Lua 5.1 only */
/* declarations for Lua 5.1 and 5.2 */
#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM <= 502
typedef int lua_KContext;
typedef int (*lua_KFunction)(lua_State *L, int status, lua_KContext ctx);
#define lua_dump(L, w, d, s) \
((void)(s), lua_dump((L), (w), (d)))
#define lua_getfield(L, i, k) \
(lua_getfield((L), (i), (k)), lua_type((L), -1))
#define lua_gettable(L, i) \
(lua_gettable((L), (i)), lua_type((L), -1))
#define lua_geti COMPAT53_CONCAT(COMPAT53_PREFIX, _geti)
COMPAT53_API int lua_geti (lua_State *L, int index, lua_Integer i);
#define lua_getextraspace COMPAT53_CONCAT(COMPAT53_PREFIX, _getextraspace)
COMPAT53_API void *lua_getextraspace (lua_State *L);
#define lua_isinteger COMPAT53_CONCAT(COMPAT53_PREFIX, _isinteger)
COMPAT53_API int lua_isinteger (lua_State *L, int index);
#define lua_tointegerx COMPAT53_CONCAT(COMPAT53_PREFIX, _tointegerx_53)
COMPAT53_API lua_Integer lua_tointegerx (lua_State *L, int i, int *isnum);
#define lua_numbertointeger(n, p) \
((*(p) = (lua_Integer)(n)), 1)
#define lua_rawget(L, i) \
(lua_rawget((L), (i)), lua_type((L), -1))
#define lua_rawgeti(L, i, n) \
(lua_rawgeti((L), (i), (n)), lua_type((L), -1))
#define lua_rotate COMPAT53_CONCAT(COMPAT53_PREFIX, _rotate)
COMPAT53_API void lua_rotate (lua_State *L, int idx, int n);
#define lua_seti COMPAT53_CONCAT(COMPAT53_PREFIX, _seti)
COMPAT53_API void lua_seti (lua_State *L, int index, lua_Integer i);
#define lua_stringtonumber COMPAT53_CONCAT(COMPAT53_PREFIX, _stringtonumber)
COMPAT53_API size_t lua_stringtonumber (lua_State *L, const char *s);
#define luaL_tolstring COMPAT53_CONCAT(COMPAT53_PREFIX, L_tolstring)
COMPAT53_API const char *luaL_tolstring (lua_State *L, int idx, size_t *len);
#define luaL_getmetafield(L, o, e) \
(luaL_getmetafield((L), (o), (e)) ? lua_type((L), -1) : LUA_TNIL)
#define luaL_newmetatable(L, tn) \
(luaL_newmetatable((L), (tn)) ? (lua_pushstring((L), (tn)), lua_setfield((L), -2, "__name"), 1) : 0)
#define luaL_requiref COMPAT53_CONCAT(COMPAT53_PREFIX, L_requiref_53)
COMPAT53_API void luaL_requiref (lua_State *L, const char *modname,
lua_CFunction openf, int glb );
#endif /* Lua 5.1 and Lua 5.2 */
/* declarations for Lua 5.2 */
#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM == 502
/* XXX not implemented:
* lua_isyieldable
* lua_arith (new operators)
* lua_pushfstring (new formats)
*/
#define lua_getglobal(L, n) \
(lua_getglobal((L), (n)), lua_type((L), -1))
#define lua_getuservalue(L, i) \
(lua_getuservalue((L), (i)), lua_type((L), -1))
#define lua_pushlstring(L, s, len) \
(((len) == 0) ? lua_pushlstring((L), "", 0) : lua_pushlstring((L), (s), (len)))
#define lua_rawgetp(L, i, p) \
(lua_rawgetp((L), (i), (p)), lua_type((L), -1))
#define LUA_KFUNCTION(_name) \
static int (_name)(lua_State *L, int status, lua_KContext ctx); \
static int (_name ## _52)(lua_State *L) { \
lua_KContext ctx; \
int status = lua_getctx(L, &ctx); \
return (_name)(L, status, ctx); \
} \
static int (_name)(lua_State *L, int status, lua_KContext ctx)
#define lua_pcallk(L, na, nr, err, ctx, cont) \
lua_pcallk((L), (na), (nr), (err), (ctx), cont ## _52)
#define lua_callk(L, na, nr, ctx, cont) \
lua_callk((L), (na), (nr), (ctx), cont ## _52)
#define lua_yieldk(L, nr, ctx, cont) \
lua_yieldk((L), (nr), (ctx), cont ## _52)
#ifdef lua_call
# undef lua_call
# define lua_call(L, na, nr) \
(lua_callk)((L), (na), (nr), 0, NULL)
#endif
#ifdef lua_pcall
# undef lua_pcall
# define lua_pcall(L, na, nr, err) \
(lua_pcallk)((L), (na), (nr), (err), 0, NULL)
#endif
#ifdef lua_yield
# undef lua_yield
# define lua_yield(L, nr) \
(lua_yieldk)((L), (nr), 0, NULL)
#endif
#endif /* Lua 5.2 only */
/* other Lua versions */
#if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM < 501 || LUA_VERSION_NUM > 503
# error "unsupported Lua version (i.e. not Lua 5.1, 5.2, or 5.3)"
#endif /* other Lua versions except 5.1, 5.2, and 5.3 */
/* helper macro for defining continuation functions (for every version
* *except* Lua 5.2) */
#ifndef LUA_KFUNCTION
#define LUA_KFUNCTION(_name) \
static int (_name)(lua_State *L, int status, lua_KContext ctx)
#endif
#if defined(COMPAT53_INCLUDE_SOURCE)
# include "compat-5.3.c"
#endif
#endif /* COMPAT53_H_ */
# EasyConfig for libLUV (NeoVim dependency)
#
# Copyright 2019-2022 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'CMakeNinja'
name = 'luv'
version = '1.44.2-0'
homepage = 'https://github.com/luvit/luv'
description = """libuv bindings for lua
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
toolchainopts = {'pic': True}
source_urls = ["https://github.com/luvit/luv/archive/"]
sources = ["%(version)s.tar.gz"]
patches = [
("compat-5.3.h", "deps/lua-compat-5.3/"),
("compat-5.3.c", "deps/lua-compat-5.3/")
]
checksums = [
'44ccda27035bfe683e6325a2a93f2c254be1eb76bde6efc2bd37c56a7af7b00a',
'cb4863e357ac45445349b6255805c4c243cedc83f01bed76efc7af7f470b1217',
'a558b546caa4a353d8d073d26d22d2c175b60c4c0a2d00751338e7ef50d69008',
]
dependencies = [
('libuv', '1.44.2'),
('LuaJIT2-OpenResty', '2.1-20220411'),
]
builddependencies = [
('CMake', '3.23.1'),
('Ninja', '1.10.2'),
('binutils', '2.37'),
]
separate_build_dir = True
osdependencies = ['lua']
preconfigopts = ("mkdir %(builddir)s/luv-%(version)s/deps/lua-compat-5.3/c-api &&"
"mv %(builddir)s/luv-%(version)s/deps/lua-compat-5.3/{,c-api/}compat-5.3.h && "
"mv %(builddir)s/luv-%(version)s/deps/lua-compat-5.3/{,c-api/}compat-5.3.c && ")
configopts = ("-DBUILD_MODULE=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON "
"-DWITH_LUA_ENGINE=LuaJIT -DWITH_SHARED_LIBUV=ON -DLUA_BUILD_TYPE=System")
sanity_check_paths = {
'files': [('include/luv/%s' % f) for f in ['lhandle.h', 'lreq.h', 'luv.h', 'util.h']] +
['lib/libluv.a', 'lib/libluv.so'],
'dirs': ['include/luv', 'lib/pkgconfig'],
}
moduleclass = 'lib'
......@@ -26,7 +26,8 @@ builddependencies = [
sanity_check_paths = {
'files': [
['lib/libmsgpackc.%s' % x for x in ['a', '%s' % SHLIB_EXT]],
['include/msgpack.%s' % x for x in ['h', 'hpp']] # check for both, C and C++ headers
# check for both, C and C++ headers
['include/msgpack.%s' % x for x in ['h', 'hpp']]
],
'dirs': ['lib/pkgconfig', 'include/msgpack'],
}
......
# NeoVim EasyConfig
# Copyright 2019-2022 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'CMakeNinja'
name = 'NeoVim'
version = '0.7.2'
# versionsuffix = "-Python-%(pyver)s"
homepage = 'https://neovim.io'
description = """hyperextensible Vim-based text editor
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
toolchainopts = {'pic': True}
github_account = 'neovim'
source_urls = [GITHUB_LOWER_SOURCE]
sources = [
{
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ,
}
]
checksums = [
'ccab8ca02a0c292de9ea14b39f84f90b635a69282de38a6b4ccc8565bc65d096',
]
builddependencies = [
('CMake', '3.23.1'),
('Ninja', '1.10.2'),
('binutils', '2.37'),
('Autoconf', '2.71'),
('Automake', '1.16.4'),
('pkg-config', '0.29.2'),
('UnZip', '6.0'),
]
dependencies = [
('Python', '3.9.6'),
('Perl', '5.34.0'),
('jemalloc', '5.2.1'),
('msgpack-c', '4.0.0'),
('gperf', '3.1'),
('libmpack-lua', '1.0.9'),
('libvterm', '0.1.3'),
('libtermkey', '0.22'),
('libuv', '1.44.2'),
('LuaJIT2-OpenResty', '2.1-20220411'),
('luv', '1.44.2-0'),
('lpeg', '1.0.2'),
('tree-sitter', '0.20.6'),
('unibilium', '2.1.1'),
('utf8proc', '2.6.1'),
]
separate_build_dir = True
# Use system libs
configopts = (" -DDEPS_CMAKE_FLAGS=\"-DUSE_BUNDLED_UNIBILIUM=OFF -DUSE_BUNDLED_LIBTERMKEY=OFF "
" -DUSE_BUNDLED_LIBVTERM=OFF -DUSE_BUNDLED_LUAJIT=OFF\" ")
# Use bundled
# osdependencies = ['unibilium-devel']
sanity_check_paths = {
'files': ['bin/nvim'],
'dirs': ['bin'],
}
moduleclass = 'tools'
easyblock = 'ConfigureMake'
name = 'tree-sitter'
version = '0.20.6'
homepage = 'https://github.com/tree-sitter/tree-sitter'
description = "Tree-sitter is a parser generator tool and an incremental parsing library."
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
github_account = 'tree-sitter'
source_urls = [GITHUB_SOURCE]
sources = [
{
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ
}
]
checksums = ['4d37eaef8a402a385998ff9aca3e1043b4a3bba899bceeff27a7178e1165b9de']
builddependencies = [
('binutils', '2.37'),
('Autotools', '20210726'),
]
skipsteps = ['configure']
installopts = 'PREFIX="%(installdir)s"'
sanity_check_paths = {
'files': ['include/tree_sitter/api.h',
'include/tree_sitter/parser.h',
'lib/libtree-sitter.a',
'lib/libtree-sitter.%s' % SHLIB_EXT,
'lib/pkgconfig/tree-sitter.pc'],
'dirs': ['include/tree_sitter']
}
moduleclass = 'lib'
# EasyConfig for Unibilium (NeoVim dependency)
#
# Copyright 2019-2022 Stepan Nassyr @ Forschungszentrum Juelich
easyblock = 'CMakeNinja'
name = 'unibilium'
version = '2.1.1'
homepage = 'https://github.com/neovim/unibilium'
description = """Unibilium is a very basic terminfo library
"""
toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
github_account = 'neovim'
source_urls = [GITHUB_SOURCE]
sources = [
{
'download_filename': 'v%(version)s.tar.gz',
'filename': SOURCELOWER_TAR_GZ
}
]
checksums = ['6f0ee21c8605340cfbb458cbd195b4d074e6d16dd0c0e12f2627ca773f3cabf1']
builddependencies = [
('binutils', '2.37'),
('CMake', '3.23.1'),
('Ninja', '1.10.2'),
]
sanity_check_paths = {
'files': ['include/unibilium.h', 'lib/libunibilium.a'],
'dirs': []
}
moduleclass = 'lib'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment