diff --git a/testing/lowjs/APKBUILD b/testing/lowjs/APKBUILD index 9c2c4b87a8d..191eb361467 100644 --- a/testing/lowjs/APKBUILD +++ b/testing/lowjs/APKBUILD @@ -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 +" diff --git a/testing/lowjs/musl.patch b/testing/lowjs/musl.patch new file mode 100644 index 00000000000..20c9cd89980 --- /dev/null +++ b/testing/lowjs/musl.patch @@ -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 + #include + + #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 + #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 + + #include "low_main.h" + #include "LowLoopCallback.h" + diff --git a/testing/lowjs/stuff.patch b/testing/lowjs/stuff.patch new file mode 100644 index 00000000000..d9c84ccb2e6 --- /dev/null +++ b/testing/lowjs/stuff.patch @@ -0,0 +1,44 @@ +--- a/src/LowHTTPDirect.h ++++ b/src/LowHTTPDirect.h +@@ -8,6 +8,7 @@ + #include "LowLoopCallback.h" + #include "LowSocketDirect.h" + ++#include + #include + + #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 + #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 + + #include "low_main.h" + #include "LowLoopCallback.h" diff --git a/testing/lowjs/unbundle-duktape.patch b/testing/lowjs/unbundle-duktape.patch new file mode 100644 index 00000000000..40b5fba8ea3 --- /dev/null +++ b/testing/lowjs/unbundle-duktape.patch @@ -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)