Date: Friday, May 29, 2020 @ 18:30:23 Author: lfleischer Revision: 637250
db-move: moved nageru from [community-staging] to [community-testing] (x86_64) Added: nageru/repos/community-testing-x86_64/ nageru/repos/community-testing-x86_64/PKGBUILD (from rev 637249, nageru/repos/community-staging-x86_64/PKGBUILD) nageru/repos/community-testing-x86_64/luajit-patch.patch (from rev 637249, nageru/repos/community-staging-x86_64/luajit-patch.patch) nageru/repos/community-testing-x86_64/meson-options.patch (from rev 637249, nageru/repos/community-staging-x86_64/meson-options.patch) Deleted: nageru/repos/community-staging-x86_64/ ---------------------+ PKGBUILD | 43 +++++++++++++++++++ luajit-patch.patch | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++ meson-options.patch | 13 +++++ 3 files changed, 169 insertions(+) Copied: nageru/repos/community-testing-x86_64/PKGBUILD (from rev 637249, nageru/repos/community-staging-x86_64/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2020-05-29 18:30:23 UTC (rev 637250) @@ -0,0 +1,43 @@ +# Maintainer: Morten Linderud <foxbo...@archlinux.org> + +pkgname=nageru +pkgver=1.8.6 +pkgrel=6 +pkgdesc="live video mixer, based around the standard M/E workflow." +arch=(x86_64) +url="https://nageru.sesse.net/" +license=('GPL3') +depends=('libmicrohttpd' 'ffmpeg' 'libx264' 'protobuf' + 'movit' 'bmusb' 'qcustomplot' 'pciutils' 'zita-resampler' + 'sqlite3' 'luajit' 'cmake') +makedepends=('meson' 'eigen') +source=("https://nageru.sesse.net/nageru-${pkgver}.tar.gz" + "meson-options.patch" + "luajit-patch.patch") +sha256sums=('67dcb070a23589f624d7067c4b09fe11faa9b1c756b884c50473545fdf7817b3' + '1bb7d87d6d6359ffe95d605c29ff5f73728929d9393498b74fdf36c6469fdaba' + '480c4de61188684fc8d1727a2e3ec615d33892234e8466db8011589e9277bdf7') + +prepare() { + cd "$pkgname-$pkgver" + patch -Np1 -i "${srcdir}/luajit-patch.patch" + patch -Np1 -i "${srcdir}/meson-options.patch" +} + +build() { + cd "$pkgname-$pkgver" + arch-meson ../build + ninja -v -C ../build +} + +check() { + cd "$pkgname-$pkgver" + ninja -C ../build test +} + +package() { + cd "$pkgname-$pkgver" + DESTDIR="$pkgdir" ninja -C ../build install +} + +# vim:set ts=2 sw=2 et: Copied: nageru/repos/community-testing-x86_64/luajit-patch.patch (from rev 637249, nageru/repos/community-staging-x86_64/luajit-patch.patch) =================================================================== --- community-testing-x86_64/luajit-patch.patch (rev 0) +++ community-testing-x86_64/luajit-patch.patch 2020-05-29 18:30:23 UTC (rev 637250) @@ -0,0 +1,113 @@ +diff --git a/README b/README +index ed86214..86eb42a 100644 +--- a/README ++++ b/README +@@ -70,7 +70,7 @@ Nageru currently needs: + - libzita-resampler, for resampling sound sources so that they are in sync + between sources, and also for oversampling for the peak meter. + +- - LuaJIT, for driving the theme engine. You will need at least version 2.1. ++ - LuaJIT, for driving the theme engine. + + - libjpeg, for encoding MJPEG streams when VA-API JPEG support is not + available. +@@ -257,3 +257,27 @@ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. ++ ++ ++Marked parts of theme.cpp (Lua shims): ++ ++The MIT License (MIT) ++ ++Copyright (c) 2013 Hisham Muhammad ++ ++Permission is hereby granted, free of charge, to any person obtaining a copy of ++this software and associated documentation files (the "Software"), to deal in ++the Software without restriction, including without limitation the rights to ++use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of ++the Software, and to permit persons to whom the Software is furnished to do so, ++subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in all ++copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS ++FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR ++COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER ++IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +diff --git a/nageru/theme.cpp b/nageru/theme.cpp +index dc73c2c..43174fa 100644 +--- a/nageru/theme.cpp ++++ b/nageru/theme.cpp +@@ -41,6 +41,67 @@ + #include "pbo_frame_allocator.h" + #include "scene.h" + ++#if !defined LUA_VERSION_NUM || LUA_VERSION_NUM==501 ++ ++// Compatibility shims for LuaJIT 2.0 (LuaJIT 2.1 implements the entire Lua 5.2 API). ++// Adapted from https://github.com/keplerproject/lua-compat-5.2/blob/master/c-api/compat-5.2.c ++// and licensed as follows: ++// ++// The MIT License (MIT) ++// ++// Copyright (c) 2013 Hisham Muhammad ++// ++// Permission is hereby granted, free of charge, to any person obtaining a copy of ++// this software and associated documentation files (the "Software"), to deal in ++// the Software without restriction, including without limitation the rights to ++// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of ++// the Software, and to permit persons to whom the Software is furnished to do so, ++// subject to the following conditions: ++// ++// The above copyright notice and this permission notice shall be included in all ++// copies or substantial portions of the Software. ++// ++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS ++// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR ++// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER ++// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++/* ++** Adapted from Lua 5.2.0 ++*/ ++void luaL_setfuncs(lua_State *L, const luaL_Reg *l, int nup) { ++ luaL_checkstack(L, nup+1, "too many upvalues"); ++ for (; l->name != NULL; l++) { /* fill the table with given functions */ ++ int i; ++ lua_pushstring(L, l->name); ++ for (i = 0; i < nup; i++) /* copy upvalues to the top */ ++ lua_pushvalue(L, -(nup + 1)); ++ lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */ ++ lua_settable(L, -(nup + 3)); /* table must be below the upvalues, the name and the closure */ ++ } ++ lua_pop(L, nup); /* remove upvalues */ ++} ++ ++void *luaL_testudata(lua_State *L, int i, const char *tname) { ++ void *p = lua_touserdata(L, i); ++ luaL_checkstack(L, 2, "not enough stack slots"); ++ if (p == NULL || !lua_getmetatable(L, i)) ++ return NULL; ++ else { ++ int res = 0; ++ luaL_getmetatable(L, tname); ++ res = lua_rawequal(L, -1, -2); ++ lua_pop(L, 2); ++ if (!res) ++ p = NULL; ++ } ++ return p; ++} ++ ++#endif ++ + class Mixer; + + namespace movit { Copied: nageru/repos/community-testing-x86_64/meson-options.patch (from rev 637249, nageru/repos/community-staging-x86_64/meson-options.patch) =================================================================== --- community-testing-x86_64/meson-options.patch (rev 0) +++ community-testing-x86_64/meson-options.patch 2020-05-29 18:30:23 UTC (rev 637250) @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 1540b19..b959ca5 100644 +--- a/meson.build ++++ b/meson.build +@@ -306,7 +306,7 @@ futatabi_shader_srcs = bin2h_gen.process(shaders) + futatabi_srcs += futatabi_shader_srcs + + executable('futatabi', futatabi_srcs, +- dependencies: [shareddep, qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, libavformatdep, libavcodecdep, libavutildep, libswscaledep], ++ dependencies: [shareddep, qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, threaddep, libavformatdep, libavcodecdep, libavutildep, libswscaledep], + link_with: shared, + include_directories: [include_directories('futatabi')], + install: true)