testing/lowjs: build with system duktape

This commit is contained in:
ptrcnull 2022-06-10 21:17:46 +00:00 committed by psykose
parent 8da179d4cc
commit e299d2fd19
No known key found for this signature in database
4 changed files with 139 additions and 24 deletions

View File

@ -4,8 +4,9 @@ pkgname=lowjs
pkgver=1.6.2
# Keep in sync with submodules in deps/.
_gitrev_open62541="8828fa712d7076962aa67d2a0542d7892c34d964"
_gitrev_duktape="10486db548732957ba9fc8c9e4ad01a857d268bd"
pkgrel=0
_commit_sha="d14bd8de2d"
_commit_date="2021-02-28T00:53:17Z"
pkgrel=1
pkgdesc="A port of Node.JS with far lower system requirements"
url="https://www.neonious.com/lowjs/"
arch="all !s390x !ppc64le !riscv64" # excluded archs are not supported
@ -13,53 +14,40 @@ license="custom"
makedepends="
c-ares-dev
cmake
duktape-dev
jq
mbedtls-dev
npm
py2-setuptools
python3
python3-dev
yaml-dev
"
subpackages="$pkgname-doc"
source="https://github.com/neonious/lowjs/archive/v$pkgver/$pkgname-$pkgver.tar.gz
https://github.com/neonious/open62541/archive/$_gitrev_open62541/open62541-$_gitrev_open62541.tar.gz
https://github.com/svaarala/duktape/archive/$_gitrev_duktape/duktape-$_gitrev_duktape.tar.gz
https://pypi.org/packages/source/p/pyaml/pyaml-20.4.0.tar.gz
use-npm-ci.patch
open62541-gcc9.patch
unbundle-c-ares.patch
unbundle-mbedtls.patch
make-flags.patch
musl.patch
unbundle-duktape.patch
test.js
"
builddir="$srcdir/$pkgname-$pkgver"
options="net" # npm
prepare() {
cd "$builddir"
rm -Rf deps/open62541
mv ../open62541-$_gitrev_open62541 deps/open62541
rm -Rf deps/duktape
mv ../duktape-$_gitrev_duktape deps/duktape
easy_install-2.7 --user ../pyaml-*
default_prepare
}
build() {
local resp=$(curl -fsSL https://api.github.com/repos/neonious/lowjs/commits/v$pkgver)
local commit_sha=$(echo "$resp" | jq -r '.sha | .[0:10]')
local commit_date=$(echo "$resp" | jq -r '.commit.committer.date | .[0:4]+.[5:7]+.[8:10]')
[ "$commit_sha" ] && [ "$commit_date" ] || { eerror "Failed to get commit SHA or date"; return 1; }
unset LDFLAGS # fails to build with -Wl,--as-needed
make -j1 \
LOW_LIB_PATH="../lib/low/" \
LOW_VERSION="${commit_date}_${commit_sha}"
LOW_VERSION="${_commit_date}_${_commit_sha}"
}
check() {
@ -81,13 +69,15 @@ package() {
install -D -m 0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
sha512sums="d013b1d631d1056baf1e5b12f606b1d14ebd3355a9cc75e5e1b6179e65918c5a5d68b79058c6ea56c848729eee74c39386451fd17c6de53667a3b542b1256c83 lowjs-1.6.2.tar.gz
sha512sums="
d013b1d631d1056baf1e5b12f606b1d14ebd3355a9cc75e5e1b6179e65918c5a5d68b79058c6ea56c848729eee74c39386451fd17c6de53667a3b542b1256c83 lowjs-1.6.2.tar.gz
8d992a3a8fdf1717af2497c0d2d5e9e27e490b29253da78ecd64a6ff866fcef4f7114cb7cb073a8a862efff16eddfcb9416a9c64a2659b3bc9c2294e4cec3734 open62541-8828fa712d7076962aa67d2a0542d7892c34d964.tar.gz
7f34ae3f6f0d9bfd039ef3ba14939eb4d59cf513b5c7fac7e9aec915cb3551751a95c2e8d91d56bae9343d2a834a572516827a7997cf8596cb3e9b127e1f32d5 duktape-10486db548732957ba9fc8c9e4ad01a857d268bd.tar.gz
432fd215e034beafc07270a6aa8b726d5a16ef8946a95c1db9a34b4f492bbe2089dffbb1ce856d3e8153ec18ac943973a23e3aa9283d53ee0b2e7ba5dcd3d317 pyaml-20.4.0.tar.gz
b8aecec6aa87eb2ab7ffecaca1989f922042ee534612229872bad10bc0e304951cb66a1d1aa3ba4e76384ca2ea28b8c5b7176eacf6b7df3d59ea7435b7894a48 use-npm-ci.patch
c2c7f10d327d2e56d2824db02c647c05773c652179f40eff7b376dfbf7eecd72b7d07c18458d59fd195993b261cb9a48e9f521ccb1a519807270c036ed8d5746 open62541-gcc9.patch
37d8810d8e89354ed8d908395ba21b7795049ff990f2d6d795d2458f511c4a9352c734f989c9eb2a54f8a06475769abe4051056d4c92e613d12103168790d361 unbundle-c-ares.patch
bc0d847cabf195911b127768ac99d7876a2c43b0bb7ed359c9691f525560b302c3ee404fb16a0245acf9d04b912dabb89dd6f9584bafeeb6fe3b07eeaaac7cdb unbundle-mbedtls.patch
6a7771e749bf567819bb028738cf38da71ab7a397211de410e2406dc3a2e87bc8d4e4c4804e25f0a76b2dc96836b020ac91d8a32c806eb2874fe65deee2c51f9 make-flags.patch
9ee7d585c9ce17ca00e86e0f74976883fa14e70f3728cf230256f2570dafdaa3adeae1922de5f0dcb74bba8577f9394c54441bc3729c1bb58bb6a298c26651d0 test.js"
e42dfb980acacdd4bd042bad0e625562122b84037fa8b25c2bbe8dee2b6598505205d5aa9ecc66cee5ae2d830bd847e74147323c9db183789dc09f3be58fc71c musl.patch
03b1a8fb5ef165c0b64165e191ad4f15bfbfadde58cc46b149943bfefaeebe2d0819cf54ed28c7935640545b523fcaa73abf0d8efa9988bca70d5791988e84d5 unbundle-duktape.patch
9ee7d585c9ce17ca00e86e0f74976883fa14e70f3728cf230256f2570dafdaa3adeae1922de5f0dcb74bba8577f9394c54441bc3729c1bb58bb6a298c26651d0 test.js
"

45
testing/lowjs/musl.patch Normal file
View File

@ -0,0 +1,45 @@
--- a/src/low_main.cpp
+++ b/src/low_main.cpp
@@ -78,9 +78,9 @@
low->in_gc = false;
low->disallow_native = false;
- low->web_thread = NULL;
+ low->web_thread = 0;
for(int i = 0; i < LOW_NUM_DATA_THREADS; i++)
- low->data_thread[i] = NULL;
+ low->data_thread[i] = 0;
low->destroying = false;
low->duk_flag_stop = 0;
--- a/src/LowHTTPDirect.h
+++ b/src/LowHTTPDirect.h
@@ -8,6 +8,7 @@
#include "LowLoopCallback.h"
#include "LowSocketDirect.h"
+#include <ctype.h>
#include <pthread.h>
#include "low_config.h"
--- a/src/low_crypto.h
+++ b/src/low_crypto.h
@@ -5,6 +5,7 @@
#ifndef __LOW_CRYPTO_H__
#define __LOW_CRYPTO_H__
+#include <ctype.h>
#include "duktape.h"
duk_ret_t low_crypto_create_hash(duk_context *ctx);
--- a/src/low_opcua.h
+++ b/src/low_opcua.h
@@ -7,6 +7,7 @@
#define __LOW_OPCUA_H__
#include "duktape.h"
+#include <ctype.h>
#include "low_main.h"
#include "LowLoopCallback.h"

44
testing/lowjs/stuff.patch Normal file
View File

@ -0,0 +1,44 @@
--- a/src/LowHTTPDirect.h
+++ b/src/LowHTTPDirect.h
@@ -8,6 +8,7 @@
#include "LowLoopCallback.h"
#include "LowSocketDirect.h"
+#include <ctype.h>
#include <pthread.h>
#include "low_config.h"
@@ -116,4 +117,4 @@
bool mReadError, mWriteError, mHTTPError;
};
-#endif /* __LOWHTTPDIRECT_H__ */
\ No newline at end of file
+#endif /* __LOWHTTPDIRECT_H__ */
--- a/src/low_crypto.h
+++ b/src/low_crypto.h
@@ -5,6 +5,7 @@
#ifndef __LOW_CRYPTO_H__
#define __LOW_CRYPTO_H__
+#include <ctype.h>
#include "duktape.h"
duk_ret_t low_crypto_create_hash(duk_context *ctx);
@@ -15,4 +16,4 @@
duk_ret_t low_crypto_random_bytes(duk_context *ctx);
-#endif /* __LOW_CRYPTO_H__ */
\ No newline at end of file
+#endif /* __LOW_CRYPTO_H__ */
--- a/src/low_opcua.h
+++ b/src/low_opcua.h
@@ -7,6 +7,7 @@
#define __LOW_OPCUA_H__
#include "duktape.h"
+#include <ctype.h>
#include "low_main.h"
#include "LowLoopCallback.h"

View File

@ -0,0 +1,36 @@
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,18 @@
FLAGS = -DLOW_VERSION="\"$(LOW_VERSION)\"" -DLOW_LIB_PATH="\"$(LOW_LIB_PATH)\""
C = gcc
-CFLAGS += $(FLAGS) -Isrc -Iapp -Ideps/duktape/src-low
+CFLAGS += $(FLAGS) -Isrc -Iapp
CXX = g++
-CXXFLAGS += $(CXXFLAGS_SERV) $(FLAGS) -Isrc -Iapp -Ideps/duktape/src-low -Ideps/open62541/build/src_generated -Ideps/open62541/include -Ideps/open62541/arch -Ideps/open62541/plugins/include -Ideps/open62541/src/client -Ideps/open62541/deps -Ideps/open62541/src --std=c++11
+CXXFLAGS += $(CXXFLAGS_SERV) $(FLAGS) -Isrc -Iapp -Ideps/open62541/build/src_generated -Ideps/open62541/include -Ideps/open62541/arch -Ideps/open62541/plugins/include -Ideps/open62541/src/client -Ideps/open62541/deps -Ideps/open62541/src --std=c++11
LD = g++
-LDFLAGS += $(FLAGS) -lm -ldl -lpthread -lcares -lmbedcrypto -lmbedtls -lmbedx509 deps/open62541/build/bin/libopen62541.a -lresolv
+LDFLAGS += $(FLAGS) -lm -ldl -lpthread -lcares -lmbedcrypto -lmbedtls -lmbedx509 deps/open62541/build/bin/libopen62541.a -lresolv -lduktape
OBJECTS_LOW = \
app/main.o \
app/transpile.o
OBJECTS = \
- deps/duktape/src-low/duktape.o \
src/low_main.o \
src/low_module.o \
src/low_native.o \
@@ -60,8 +59,8 @@
obj_lowjs_serv: $(OBJECTS) $(OBJECTS_LOW) deps/mbedtls/programs/test/benchmark util/dukc
-util/dukc: deps/duktape/src-low/duktape.o util/dukc.o
- $(LD) -o util/dukc deps/duktape/src-low/duktape.o util/dukc.o $(LDFLAGS)
+util/dukc: util/dukc.o
+ $(LD) -o util/dukc util/dukc.o $(LDFLAGS)
test/bugs/duk_crash_TR20180627: deps/duktape/src-low/duktape.o test/bugs/duk_crash_TR20180627.o
$(LD) -o test/bugs/duk_crash_TR20180627 deps/duktape/src-low/duktape.o test/bugs/duk_crash_TR20180627.o $(LDFLAGS)