aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2021-12-29 21:17:35 +0100
committerJakub Jirutka <jakub@jirutka.cz>2021-12-29 21:18:39 +0100
commitd4dc0e393d138886dab8f52f872d95b4755e4941 (patch)
treee200e029a25c39c3da5b14a6708c8aaeb4b7c9aa
parentcab6a96864206b9da67546eb597f965b76fce0cb (diff)
community/njs: upgrade to 0.7.1
-rw-r--r--community/njs/APKBUILD17
-rw-r--r--community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch356
-rw-r--r--community/njs/mktemp-busybox-compat.patch13
3 files changed, 381 insertions, 5 deletions
diff --git a/community/njs/APKBUILD b/community/njs/APKBUILD
index bb5c58f17d3..13bb981efaf 100644
--- a/community/njs/APKBUILD
+++ b/community/njs/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=njs
-pkgver=0.7.0
+pkgver=0.7.1
pkgrel=0
pkgdesc="njs scripting language CLI utility"
url="https://nginx.org/en/docs/njs/"
@@ -12,10 +12,15 @@ license="BSD-2-Clause"
makedepends="libedit-dev openssl1.1-compat-dev pcre-dev"
checkdepends="expect"
subpackages="$pkgname-debug $pkgname-libs-static"
-source="$pkgname-$pkgver.tar.gz::https://hg.nginx.org/njs/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://hg.nginx.org/njs/archive/$pkgver.tar.gz
+ mktemp-busybox-compat.patch
+ fixed-custom-NJS_BUILD_DIR-value-support.patch
+ "
build() {
- NJS_BUILD_DIR='build-debug' ./configure --debug=YES
+ ./configure \
+ --build-dir='build-debug' \
+ --debug=YES
make njs
./configure --cc-opt='-Os' --ld-opt='-Os'
@@ -23,7 +28,7 @@ build() {
}
check() {
- make test
+ make test -j1
}
package() {
@@ -41,5 +46,7 @@ debug() {
}
sha512sums="
-e8894b010b51c282bcfa1c167727ef337d1e4db1189af0e748cb07e6c6132d443b1c32157d4985e9fd7ab776864fb6025e6ffc3018aef56f9ea0c8bfa17c7742 njs-0.7.0.tar.gz
+67df97e2bf72b5e46a87eb8c1c9b6be56e2fd16ecd37a64fe50f8efc8e5d91c8a7ef2d5e55f56d6a269acb9e98eb02bb57c34f0b27f42a434c5fc35e0888a11b njs-0.7.1.tar.gz
+4db527d663dbe9e8b503c3cbaa4eae34b45990a5359b3bb98ce970c705faefcac98de49439f2557756a2be8e2e06acc67f98942de01674c498832d80c3cb90c3 mktemp-busybox-compat.patch
+36d698b9865a90ecced44192552e29ff14df756b0ed2c33da5d07c91bf2771a1339df06e50d97d12ae3b806aa4bc212802f03030a34b85c4dfd354bdf6df840c fixed-custom-NJS_BUILD_DIR-value-support.patch
"
diff --git a/community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch b/community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch
new file mode 100644
index 00000000000..e5f6d8e1a65
--- /dev/null
+++ b/community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch
@@ -0,0 +1,356 @@
+Patch-Source: https://github.com/nginx/njs/issues/454#issuecomment-1002699260
+
+# HG changeset patch
+# User Dmitry Volyntsev <xeioex@nginx.com>
+# Date 1640797007 0
+# Wed Dec 29 16:56:47 2021 +0000
+# Node ID 1ad65f9d50f57e702164860fbb4d6d2cfd7ab1b2
+# Parent 001bb59dc3a81c37d8879b795d3c9b92055b5e74
+Configure: fixed custom NJS_BUILD_DIR values support.
+
+The issue was introduced in 4d4657128baf (0.7.1).
+
+This closes #454 issue on Github.
+
+diff --git a/auto/make b/auto/make
+--- a/auto/make
++++ b/auto/make
+@@ -7,8 +7,8 @@
+ echo "creating $NJS_MAKEFILE"
+
+ mkdir -p $NJS_BUILD_DIR/src
+-mkdir -p $NJS_BUILD_DIR/build
+ mkdir -p $NJS_BUILD_DIR/external
++mkdir -p $NJS_BUILD_DIR/$NJS_BUILD_DIR
+ mkdir -p $NJS_BUILD_DIR/test
+
+ njs_modules_c=$NJS_BUILD_DIR/njs_modules.c
+# HG changeset patch
+# User Dmitry Volyntsev <xeioex@nginx.com>
+# Date 1640798395 0
+# Wed Dec 29 17:19:55 2021 +0000
+# Node ID d11d962c40cdea4682298337d6bb65491e32bc88
+# Parent 1ad65f9d50f57e702164860fbb4d6d2cfd7ab1b2
+Tests: fixed "fs" tests with custom build directory.
+
+diff --git a/test/fs/methods.t.js b/test/fs/methods.t.js
+--- a/test/fs/methods.t.js
++++ b/test/fs/methods.t.js
+@@ -9,7 +9,7 @@ function p(args, default_opts) {
+ let fname = params.args[0];
+
+ if (fname[0] == '@') {
+- let gen = `build/test/fs_test_${Math.round(Math.random() * 1000000)}`;
++ let gen = `${test_dir}/fs_test_${Math.round(Math.random() * 1000000)}`;
+ params.args = params.args.map(v => v);
+ params.args[0] = gen + fname.slice(1);
+ }
+@@ -368,9 +368,9 @@ async function realpath_test(params) {
+ }
+
+ let realpath_tests = () => [
+- { args: ["build/test/.."],
+- check: (data) => data.endsWith("build") },
+- { args: ["build/test/", {encoding:'buffer'}],
++ { args: ["test/fs/.."],
++ check: (data) => data.endsWith("test") },
++ { args: ["test/fs/ascii", {encoding:'buffer'}],
+ check: (data) => data instanceof Buffer },
+ ];
+
+@@ -478,14 +478,14 @@ let stat_tests = () => [
+ return true;
+ } },
+
+- { args: ["build/"],
++ { args: ["test/fs/ascii"],
+ check: (st) => contains(Object.keys(st),
+ [ "atime", "atimeMs", "birthtime", "birthtimeMs",
+ "blksize", "blocks", "ctime", "ctimeMs", "dev",
+ "gid", "ino", "mode", "mtime", "mtimeMs","nlink",
+ "rdev", "size", "uid" ]) },
+
+- { args: ["build/"],
++ { args: ["test/fs/ascii"],
+ check: (st) => Object.keys(st).every(p => {
+ let v = st[p];
+ if (p == 'atime' || p == 'ctime' || p == 'mtime' || p == 'birthtime') {
+@@ -503,7 +503,7 @@ let stat_tests = () => [
+ return true;
+ }) },
+
+- { args: ["build/"],
++ { args: ["test/fs/ascii"],
+ check: (st) => ['atime', 'birthtime', 'ctime', 'mtime'].every(p => {
+ let date = st[p].valueOf();
+ let num = st[p + 'Ms'];
+@@ -515,7 +515,7 @@ let stat_tests = () => [
+ return true;
+ }) },
+
+- { args: ["build/"],
++ { args: [test_dir],
+ check: (st) => ['isBlockDevice',
+ 'isCharacterDevice',
+ 'isDirectory',
+diff --git a/test/fs/promises_01.t.js b/test/fs/promises_01.t.js
+--- a/test/fs/promises_01.t.js
++++ b/test/fs/promises_01.t.js
+@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var fname = 'build/test/fs_promises_01';
++var fname = `${test_dir}/fs_promises_01`;
+
+ let stages = [];
+
+diff --git a/test/fs/promises_02.t.js b/test/fs/promises_02.t.js
+--- a/test/fs/promises_02.t.js
++++ b/test/fs/promises_02.t.js
+@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var fname = 'build/test/fs_promises_02';
++var fname = `${test_dir}/fs_promises_02`;
+
+ var testSync = new Promise((resolve, reject) => {
+ var failed = false;
+diff --git a/test/fs/promises_03.t.js b/test/fs/promises_03.t.js
+--- a/test/fs/promises_03.t.js
++++ b/test/fs/promises_03.t.js
+@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var fname = 'build/test/fs_promises_03';
++var fname = `${test_dir}/fs_promises_03`;
+
+ var testSync = () => new Promise((resolve, reject) => {
+ try {
+diff --git a/test/fs/promises_04.t.js b/test/fs/promises_04.t.js
+--- a/test/fs/promises_04.t.js
++++ b/test/fs/promises_04.t.js
+@@ -3,10 +3,9 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var dname = 'build/test/';
+-var fname = dname + 'fs_promises_04';
+-var fname_utf8 = dname + 'fs_promises_αβγ_04';
+-var lname = dname + 'fs_promises_04_lnk';
++var fname = `${test_dir}/fs_promises_04`;
++var fname_utf8 = `${test_dir}/fs_promises_αβγ_04`;
++var lname = `${test_dir}/fs_promises_lnk_04`;
+
+ var testSync = () => new Promise((resolve, reject) => {
+ try {
+diff --git a/test/fs/promises_05.t.js b/test/fs/promises_05.t.js
+--- a/test/fs/promises_05.t.js
++++ b/test/fs/promises_05.t.js
+@@ -3,9 +3,8 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var rname = 'build/test/';
+-var dname = rname + 'fs_promises_05';
+-var dname_utf8 = rname + 'fs_promises_αβγ_05';
++var dname = `${test_dir}/fs_promises_05`;
++var dname_utf8 = `${test_dir}/fs_promises_αβγ_05`;
+ var fname = (d) => d + '/fs_promises_05_file';
+
+ var testSync = () => new Promise((resolve, reject) => {
+diff --git a/test/fs/promises_06.t.js b/test/fs/promises_06.t.js
+--- a/test/fs/promises_06.t.js
++++ b/test/fs/promises_06.t.js
+@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var dname = 'build/test/';
++var dname = `${test_dir}/`;
+ var fname = (d) => d + '/fs_promises_06_file';
+ var fname_utf8 = (d) => d + '/fs_promises_αβγ_06';
+
+@@ -73,6 +73,9 @@ Promise.resolve()
+ .then(() => {
+ stages.push("renameSync");
+ })
++.catch((e) => {
++ console.log('test fs.renameSync failed', JSON.stringify(e));
++})
+
+ .then(testCallback)
+ .then(() => {
+diff --git a/test/fs/promises_07.t.js b/test/fs/promises_07.t.js
+--- a/test/fs/promises_07.t.js
++++ b/test/fs/promises_07.t.js
+@@ -3,8 +3,8 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var dname = 'build/test/fs_promises_07';
+-var dname_utf8 = 'build/test/fs_promises_αβγ_07';
++var dname = `${test_dir}/fs_promises_07`;
++var dname_utf8 = `${test_dir}/fs_promises_αβγ_07`;
+ var fname = (d) => d + '/fs_promises_07_file';
+ var lname = (d) => d + '/fs_promises_07_link';
+ var cname = (d) => d + '/fs_promises_αβγ_07_dir';
+diff --git a/test/fs/promises_08.t.js b/test/fs/promises_08.t.js
+--- a/test/fs/promises_08.t.js
++++ b/test/fs/promises_08.t.js
+@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var dname = 'build/test/fs_promises_αβγ_08/';
++var dname = `${test_dir}/fs_promises_αβγ_08/`;
+ var path = 'one/two/three/αβγ';
+
+ var wipePath = (root, path, nofail) => {
+diff --git a/test/fs/promises_09.t.js b/test/fs/promises_09.t.js
+--- a/test/fs/promises_09.t.js
++++ b/test/fs/promises_09.t.js
+@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js]
+ flags: [async]
+ ---*/
+
+-var root = 'build/test/';
++var root = test_dir;
+ var dname = 'fs_promises_αβγ_09/';
+ var lname = 'fs_promises_αβγ_09_lnk';
+ var path = 'one/two/three/αβγ';
+diff --git a/test/harness/compatFs.js b/test/harness/compatFs.js
+--- a/test/harness/compatFs.js
++++ b/test/harness/compatFs.js
+@@ -9,3 +9,6 @@ if (typeof require == 'function') {
+ function has_fs() {
+ return fs;
+ }
++
++let test_dir = process.env && process.env['NJS_TEST_DIR'] || 'build';
++test_dir = `${test_dir}/test`;
+diff --git a/test/help b/test/help
+--- a/test/help
++++ b/test/help
+@@ -17,6 +17,4 @@ default: "$NJS_TEST_LOG"
+ default: "$NJS_TEST_DIR"
+ --verbose=YES enables verbose output, \
+ default: "$NJS_TEST_VERBOSE"
+- --leave=YES disables removing of "$NJS_TEST_DIR", \
+-default: "$NJS_TEST_LEAVE"
+ END
+diff --git a/test/test262 b/test/test262
+--- a/test/test262
++++ b/test/test262
+@@ -19,7 +19,7 @@ for njs_test in $NJS_TESTS; do
+ running $njs_test $njs_log
+ END
+
+- if /bin/sh -c "($NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then
++ if /bin/sh -c "(NJS_TEST_DIR=$NJS_TEST_DIR $NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then
+ njs_success=yes
+ else
+ njs_success=no
+# HG changeset patch
+# User Dmitry Volyntsev <xeioex@nginx.com>
+# Date 1640798409 0
+# Wed Dec 29 17:20:09 2021 +0000
+# Node ID c714088503bcf2f94767a9f10cbc48b22518f5b3
+# Parent d11d962c40cdea4682298337d6bb65491e32bc88
+Configure: added --build-dir option.
+
+diff --git a/auto/help b/auto/help
+--- a/auto/help
++++ b/auto/help
+@@ -13,6 +13,7 @@
+ --ld-opt=OPTIONS set additional linker options, \
+ default: "$NJS_LD_OPT"
+ --ar=FILE set static linking program, default: "$AR"
++ --build-dir=DIR set build directory, default: "$NJS_BUILD_DIR"
+
+ --address-sanitizer=YES enables build with address sanitizer, \
+ default: "$NJS_ADDRESS_SANITIZER"
+diff --git a/auto/init b/auto/init
+--- a/auto/init
++++ b/auto/init
+@@ -15,23 +15,7 @@ NJS_CFLAGS=${NJS_CFLAGS=}
+
+ NJS_BUILD_DIR=${NJS_BUILD_DIR:-build}
+
+-NJS_AUTOTEST=$NJS_BUILD_DIR/autotest
+-NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err
+-NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h
+-NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile
+-
+ NJS_LIB_MODULES=
+-NJS_LIB_INCS="src $NJS_BUILD_DIR"
+-
+-test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR
+-
+-> $NJS_AUTOCONF_ERR
+-
+-cat << END > $NJS_AUTO_CONFIG_H
+-
+-/* This file is auto-generated by configure */
+-
+-END
+
+ NJS_LIBRT=
+
+diff --git a/auto/make b/auto/make
+--- a/auto/make
++++ b/auto/make
+@@ -242,7 +242,7 @@ lib_test: $NJS_BUILD_DIR/njs_auto_config
+
+ test262: njs
+
+- test/test262
++ test/test262 --binary=$NJS_BUILD_DIR/njs
+
+ unit_test: $NJS_BUILD_DIR/njs_auto_config.h \\
+ $NJS_BUILD_DIR/njs_unit_test
+diff --git a/auto/options b/auto/options
+--- a/auto/options
++++ b/auto/options
+@@ -31,6 +31,8 @@ do
+ --ld-opt=*) NJS_LD_OPT="$value" ;;
+ --ar=*) AR="$value" ;;
+
++ --build-dir=*) NJS_BUILD_DIR="$value" ;;
++
+ --address-sanitizer=*) NJS_ADDRESS_SANITIZER="$value" ;;
+ --debug=*) NJS_DEBUG="$value" ;;
+ --debug-memory=*) NJS_DEBUG_MEMORY="$value" ;;
+diff --git a/configure b/configure
+--- a/configure
++++ b/configure
+@@ -14,8 +14,26 @@ set -e
+ set -u
+
+ . auto/init
++. auto/options
++
++NJS_AUTOTEST=$NJS_BUILD_DIR/autotest
++NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err
++NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h
++NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile
++
++NJS_LIB_INCS="src $NJS_BUILD_DIR"
++
++test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR
++
++> $NJS_AUTOCONF_ERR
++
++cat << END > $NJS_AUTO_CONFIG_H
++
++/* This file is auto-generated by configure */
++
++END
++
+ . auto/os
+-. auto/options
+ . auto/cc
+ . auto/types
+ . auto/endianness
diff --git a/community/njs/mktemp-busybox-compat.patch b/community/njs/mktemp-busybox-compat.patch
new file mode 100644
index 00000000000..d6299972aed
--- /dev/null
+++ b/community/njs/mktemp-busybox-compat.patch
@@ -0,0 +1,13 @@
+Fix error: mktemp: (null): Invalid argument
+
+--- a/test/options
++++ b/test/options
+@@ -3,7 +3,7 @@
+ # Copyright (C) Dmitry Volyntsev
+ # Copyright (C) NGINX, Inc.
+
+-NJS_TEST_DIR=`mktemp -d /tmp/njs_test.XXX`
++NJS_TEST_DIR=`mktemp -d /tmp/njs_test.XXXXXX`
+ NJS_TEST_LOG_DEFAULT="$NJS_TEST_DIR/log.log"
+
+ NJS_TEST_VERBOSE=${NJS_TEST_VERBOSE:-}