Skip to content

Commit a39c9be

Browse files
author
osa
committed
lang/quickjs: update to the recent snapshot
While I'm here enable building/installing a shared library, it may require to build nginx javascript module. Discussed: https://mail-index.netbsd.org/pkgsrc-users/2026/03/05/msg042691.html
1 parent e6d4aa9 commit a39c9be

6 files changed

Lines changed: 57 additions & 37 deletions

File tree

lang/quickjs/Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# $NetBSD: Makefile,v 1.17 2025/11/16 11:21:57 adam Exp $
1+
# $NetBSD: Makefile,v 1.18 2026/03/10 17:24:10 osa Exp $
22

33
NAME= quickjs
4-
QJS_DATE= 2025-09-13
4+
QJS_DATE= 2025-12-22
55
VERSION= ${QJS_DATE:S/-//g}
66
DISTNAME= ${NAME}-${QJS_DATE}
77
PKGNAME= ${NAME}-${VERSION}
8-
PKGREVISION= 1
98
CATEGORIES= lang
10-
MASTER_SITES= https://bellard.org/quickjs/
11-
EXTRACT_SUFX= .tar.xz
9+
MASTER_SITES= ${MASTER_SITE_GITHUB:=bellard/}
10+
GITHUB_PROJECT= ${NAME}
11+
GITHUB_TAG= f1139494d18a2053630c5ed3384a42bb70db3c53
1212

1313
MAINTAINER= pkgsrc-users@NetBSD.org
1414
HOMEPAGE= https://bellard.org/quickjs/
@@ -44,7 +44,7 @@ pre-configure:
4444
${ECHO} '{ "x" : 1, "tab": [ 1, 2, 3 ] }' > ${WRKSRC}/examples/message.json
4545

4646
post-install:
47-
cd ${WRKSRC}/doc && ${INSTALL_DATA} *.html *.pdf ${DESTDIR}${PREFIX}/share/doc/quickjs/
47+
cd ${WRKSRC}/doc && ${INSTALL_DATA} *.texi ${DESTDIR}${PREFIX}/share/doc/quickjs/
4848
cd ${WRKSRC}/examples && ${INSTALL_DATA} *.js *.c *.json ${DESTDIR}${PREFIX}/share/doc/quickjs/examples/
4949
cd ${WRKSRC}/tests && ${INSTALL_DATA} *.js *.c ${DESTDIR}${PREFIX}/share/doc/quickjs/tests/
5050

lang/quickjs/PLIST

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
@comment $NetBSD: PLIST,v 1.9 2025/11/16 11:21:57 adam Exp $
1+
@comment $NetBSD: PLIST,v 1.10 2026/03/10 17:24:10 osa Exp $
22
bin/qjs
33
bin/qjsc
44
include/quickjs/quickjs-libc.h
55
include/quickjs/quickjs.h
66
lib/libquickjs.a
7+
lib/libquickjs.so
78
share/doc/quickjs/examples/fib.c
89
share/doc/quickjs/examples/fib_module.js
910
share/doc/quickjs/examples/hello.js
@@ -13,8 +14,7 @@ share/doc/quickjs/examples/pi_bigint.js
1314
share/doc/quickjs/examples/point.c
1415
share/doc/quickjs/examples/test_fib.js
1516
share/doc/quickjs/examples/test_point.js
16-
share/doc/quickjs/quickjs.html
17-
share/doc/quickjs/quickjs.pdf
17+
share/doc/quickjs/quickjs.texi
1818
share/doc/quickjs/tests/assert.js
1919
share/doc/quickjs/tests/bjson.c
2020
share/doc/quickjs/tests/fixture_cyclic_import.js

lang/quickjs/buildlink3.mk

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
# $NetBSD: buildlink3.mk,v 1.3 2025/02/07 12:36:23 pho Exp $
1+
# $NetBSD: buildlink3.mk,v 1.4 2026/03/10 17:24:10 osa Exp $
22

33
BUILDLINK_TREE+= quickjs
44

55
.if !defined(QUICKJS_BUILDLINK3_MK)
66
QUICKJS_BUILDLINK3_MK:=
77

8-
BUILDLINK_API_DEPENDS.quickjs+= quickjs>=20240113
8+
BUILDLINK_INCDIRS.quickjs?= include/quickjs
9+
10+
BUILDLINK_API_DEPENDS.quickjs+= quickjs>=20250913
911
BUILDLINK_PKGSRCDIR.quickjs?= ../../lang/quickjs
1012
.endif # QUICKJS_BUILDLINK3_MK
1113

lang/quickjs/distinfo

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
$NetBSD: distinfo,v 1.14 2025/11/12 11:58:19 leot Exp $
1+
$NetBSD: distinfo,v 1.15 2026/03/10 17:24:10 osa Exp $
22

3-
BLAKE2s (quickjs-2025-09-13.tar.xz) = 1dd767416ef10f6f3be0ada60edd5c478e08a6df5813b345e7830038b1e416b0
4-
SHA512 (quickjs-2025-09-13.tar.xz) = 077acba8b318b19cd2660fae0ca03099185b688dba46c89a6456b455639813eefc282975cd1eebdb3c49f62217b9506c6abad86d777b08cb49fe234beef918a2
5-
Size (quickjs-2025-09-13.tar.xz) = 595964 bytes
6-
SHA1 (patch-Makefile) = c3f827f36e41ca78a9b5144092276db8a9ac4a5e
3+
BLAKE2s (quickjs-2025-12-22-f1139494d18a2053630c5ed3384a42bb70db3c53.tar.gz) = a5bae8ec27d69c04c58f8f6fa24cf4fc7dd1d2a230c5949f285bc10d1ab5b814
4+
SHA512 (quickjs-2025-12-22-f1139494d18a2053630c5ed3384a42bb70db3c53.tar.gz) = ea63f60326795b4b5866b62c97a2ce72aa178c9650b256aead10ab0582bb4893d44acc7f98973ef6fc39ea3842fdc013b65abd8ccaf503d61d4f5c77158f223c
5+
Size (quickjs-2025-12-22-f1139494d18a2053630c5ed3384a42bb70db3c53.tar.gz) = 618177 bytes
6+
SHA1 (patch-Makefile) = 38d3b7660678bf9d8ef5d5b9d96687d30b0c47ba
77
SHA1 (patch-qjs.c) = bfabed96cfdd40214fede3069485394af2faef4f
88
SHA1 (patch-qjsc.c) = bffd0222579f3996bc21116694343a7dd65d8f33
99
SHA1 (patch-quickjs-libc.c) = 39c2b553ef04b308e7c477590edd345b62acc528
10-
SHA1 (patch-quickjs.c) = 0bd06241a4262168124171adf7cf963809e74915
10+
SHA1 (patch-quickjs.c) = 57d4356c59469c4671a0a1944f9f8ea4ee67a9e6

lang/quickjs/patches/patch-Makefile

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
$NetBSD: patch-Makefile,v 1.7 2025/11/12 11:49:38 leot Exp $
1+
$NetBSD: patch-Makefile,v 1.8 2026/03/10 17:24:10 osa Exp $
22

33
Portability patch for NetBSD.
44

5-
--- Makefile.orig 2025-09-13 08:48:28.000000000 +0000
5+
--- Makefile.orig 2025-12-22 14:12:46.000000000 +0000
66
+++ Makefile
77
@@ -22,10 +22,14 @@
88
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
@@ -21,7 +21,7 @@ Portability patch for NetBSD.
2121
CONFIG_FREEBSD=y
2222
endif
2323
# Windows cross compilation from Linux
24-
@@ -77,6 +81,13 @@ CONFIG_CLANG=y
24+
@@ -81,6 +85,13 @@ CONFIG_CLANG=y
2525
CONFIG_DEFAULT_AR=y
2626
CONFIG_LTO=
2727
endif
@@ -35,7 +35,18 @@ Portability patch for NetBSD.
3535

3636
ifdef CONFIG_WIN32
3737
ifdef CONFIG_M32
38-
@@ -243,11 +254,17 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI
38+
@@ -217,8 +228,10 @@ QJSC_CC=$(CC)
39+
QJSC=./qjsc$(EXE)
40+
endif
41+
PROGS+=libquickjs.a
42+
+PROGS+=libquickjs.so
43+
ifdef CONFIG_LTO
44+
PROGS+=libquickjs.lto.a
45+
+PROGS+=libquickjs.lto.so
46+
endif
47+
48+
# examples
49+
@@ -247,11 +260,17 @@ QJS_LIB_OBJS=$(OBJDIR)/quickjs.o $(OBJDI
3950

4051
QJS_OBJS=$(OBJDIR)/qjs.o $(OBJDIR)/repl.o $(QJS_LIB_OBJS)
4152

@@ -54,7 +65,7 @@ Portability patch for NetBSD.
5465
LIBS+=$(EXTRA_LIBS)
5566

5667
$(OBJDIR):
57-
@@ -285,6 +302,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\"
68+
@@ -289,6 +308,9 @@ QJSC_DEFINES:=-DCONFIG_CC=\"$(QJSC_CC)\"
5869
ifdef CONFIG_LTO
5970
QJSC_DEFINES+=-DCONFIG_LTO
6071
endif
@@ -64,16 +75,34 @@ Portability patch for NetBSD.
6475
QJSC_HOST_DEFINES:=-DCONFIG_CC=\"$(HOST_CC)\" -DCONFIG_PREFIX=\"$(PREFIX)\"
6576

6677
$(OBJDIR)/qjsc.o: CFLAGS+=$(QJSC_DEFINES)
67-
@@ -368,10 +388,9 @@ install: all
78+
@@ -302,10 +324,14 @@ endif
79+
80+
libquickjs$(LTOEXT).a: $(QJS_LIB_OBJS)
81+
$(AR) rcs $@ $^
82+
+libquickjs$(LTOEXT).so: $(QJS_LIB_OBJS)
83+
+ $(CC) -shared -Wl,-soname=$@.0 $(LDFLAGS) -o $@ $^
84+
85+
ifdef CONFIG_LTO
86+
libquickjs.a: $(patsubst %.o, %.nolto.o, $(QJS_LIB_OBJS))
87+
$(AR) rcs $@ $^
88+
+libquickjs.so: $(patsubst %.o, %.nolto.o, $(QJS_LIB_OBJS))
89+
+ $(CC) -shared -Wl,-soname=$@.0 $(LDFLAGS) -o $@ $^
90+
endif # CONFIG_LTO
91+
92+
libquickjs.fuzz.a: $(patsubst %.o, %.fuzz.o, $(QJS_LIB_OBJS))
93+
@@ -372,10 +398,12 @@ install: all
6894
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
6995
$(STRIP) qjs$(EXE) qjsc$(EXE)
7096
install -m755 qjs$(EXE) qjsc$(EXE) "$(DESTDIR)$(PREFIX)/bin"
7197
- mkdir -p "$(DESTDIR)$(PREFIX)/lib/quickjs"
7298
- install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
99+
+ mkdir -p "$(DESTDIR)$(PREFIX)/lib"
73100
+ install -m644 libquickjs.a "$(DESTDIR)$(PREFIX)/lib"
101+
+ install -m644 libquickjs.so "$(DESTDIR)$(PREFIX)/lib"
74102
ifdef CONFIG_LTO
75103
- install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib/quickjs"
76104
+ install -m644 libquickjs.lto.a "$(DESTDIR)$(PREFIX)/lib"
105+
+ install -m644 libquickjs.lto.so "$(DESTDIR)$(PREFIX)/lib"
77106
endif
78107
mkdir -p "$(DESTDIR)$(PREFIX)/include/quickjs"
79108
install -m644 quickjs.h quickjs-libc.h "$(DESTDIR)$(PREFIX)/include/quickjs"
Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
$NetBSD: patch-quickjs.c,v 1.6 2025/11/12 11:58:20 leot Exp $
1+
$NetBSD: patch-quickjs.c,v 1.7 2026/03/10 17:24:10 osa Exp $
22

33
- Portability patch for NetBSD.
4-
- Backport commit c6fe5a98fd3ef3b7064e6e0145dfebfe12449fea to fix
5-
CVE-2025-12745.
64

7-
--- quickjs.c.orig 2025-09-13 08:48:28.000000000 +0000
5+
--- quickjs.c.orig 2026-03-05 15:33:25.381847153 +0000
86
+++ quickjs.c
97
@@ -69,7 +69,15 @@
108
/* define to include Atomics.* operations which depend on the OS
@@ -22,7 +20,7 @@
2220
#endif
2321

2422
#if !defined(EMSCRIPTEN)
25-
@@ -1669,7 +1677,7 @@ static size_t js_def_malloc_usable_size(
23+
@@ -1721,7 +1729,7 @@ static size_t js_def_malloc_usable_size(
2624
return malloc_size(ptr);
2725
#elif defined(_WIN32)
2826
return _msize((void *)ptr);
@@ -31,12 +29,3 @@
3129
return 0;
3230
#elif defined(__linux__) || defined(__GLIBC__)
3331
return malloc_usable_size((void *)ptr);
34-
@@ -52988,7 +52996,7 @@ static JSValue js_array_buffer_slice(JSC
35-
goto fail;
36-
}
37-
/* must test again because of side effects */
38-
- if (abuf->detached) {
39-
+ if (abuf->detached || abuf->byte_length < start + new_len) {
40-
JS_ThrowTypeErrorDetachedArrayBuffer(ctx);
41-
goto fail;
42-
}

0 commit comments

Comments
 (0)